all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Philippe Vaucher <philippe.vaucher@gmail.com>
To: 19636@debbugs.gnu.org
Subject: bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter
Date: Tue, 20 Jan 2015 18:49:31 +0100	[thread overview]
Message-ID: <CAGK7Mr7NdMSjHbegw75gMERy03tq=aVAZNKm25-zXr9XX-=DSA@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

Hello,

TRAMP hangs the connection for any new processes in both emacs 24.4
and emacs from the master branch when a global minor mode uses a
:lighter which evals `(file-truename default-directory)`.

To reproduce:

M-x find-file buggy-tramp-mode.el
M-x eval-buffer
M-x global-buggy-tramp-mode
M-x find-file /scpx:user@host:/tmp/foo.txt
M-x async-shell-command ls

The last command (new process) doens't complete and the TRAMP buffer
shows "Are you awake?". My understanding of the problem is that
`file-truename` tries to use a not-yet-ready TRAMP connection. To work
around that was tried is to use `tramp-connectable-p` or even
`file-remote-p` with the appropriate flags, but they both
(incorrectly?) return true.

The "real world" issue that it affects is
https://github.com/bbatsov/projectile/issues/523

Please ask if I'm unclear or you need more clarifications.

Thanks,
Philippe

[-- Attachment #2: buggy-tramp-mode.el --]
[-- Type: text/x-emacs-lisp, Size: 649 bytes --]

(require 'tramp)

(defcustom buggy-tramp-mode-lighter
  '(:eval (format " BUGGY[%s]" (if (or (not (file-remote-p default-directory)) (tramp-connectable-p default-directory))
                                   (file-truename default-directory)
                                 ":(")))
  "Buggy example."
  :group 'buggy-tramp-mode
  :type 'sexp
  :risky t)

;;(setq buggy-tramp-mode-lighter '(:eval (format " Projectile[%s]" default-directory)))

(define-minor-mode buggy-tramp-mode
  "test"
  :lighter buggy-tramp-mode-lighter
  :group 'buggy-tramp-mode)

(define-globalized-minor-mode global-buggy-tramp-mode
  buggy-tramp-mode
  buggy-tramp-mode)

             reply	other threads:[~2015-01-20 17:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-20 17:49 Philippe Vaucher [this message]
2015-01-21 16:15 ` bug#19636: [TRAMP] global minor mode hangs connection when accessing files in :lighter Michael Albinus
2015-01-21 17:40   ` Philippe Vaucher
2015-01-22 11:07     ` Philippe Vaucher
2015-01-25 19:40     ` Michael Albinus
2015-01-25 20:15       ` Philippe Vaucher
2015-01-25 21:10         ` Michael Albinus
2015-01-25 21:47           ` Philippe Vaucher
2017-03-25 20:43   ` Philippe Vaucher
2017-03-27 13:36     ` Michael Albinus
2017-03-27 15:46       ` Philippe Vaucher
2017-07-14 13:12         ` Michael Albinus
2017-07-21 12:56           ` Philippe Vaucher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGK7Mr7NdMSjHbegw75gMERy03tq=aVAZNKm25-zXr9XX-=DSA@mail.gmail.com' \
    --to=philippe.vaucher@gmail.com \
    --cc=19636@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.