Subject: 23.0.92; accept-process-output broken on MacOS

From: David Abrahams <[email-masked]>
Date: Tue, 21 Apr 2009 08:52:04 -0400

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Opening remote files/directories via TRAMP is wicked slow on MacOS; the
same operation on a linux emacs running on the same hardware is
practically instantaneous.  Turns out that applying the enclosed patch
makes the symptom go away.  I'm not an expert on emacs process handling,
but that tells me emacs probably isn't detecting output from the process
until the timeout (usually 1 second for TRAMP) is reached.

cvs diff: warning: failed to open /Users/dave/.cvspass for reading: No such file or directory
Index: tramp.el
===================================================================
RCS file: /sources/tramp/tramp/lisp/tramp.el,v
retrieving revision 2.686
diff -d -u -r2.686 tramp.el
--- tramp.el	12 Apr 2009 19:21:03 -0000	2.686
+++ tramp.el	21 Apr 2009 04:45:54 -0000
@@ -5864,7 +5864,7 @@
       ;; Under Windows XP, accept-process-output doesn't return
       ;; sometimes.  So we add an additional timeout.
       (with-timeout ((or timeout 1))
-	(accept-process-output proc timeout timeout-msecs)))
+	(accept-process-output proc .01)))
     (tramp-message proc 10 "\n%s" (buffer-string))))
 
 (defun tramp-check-for-regexp (proc regexp)

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Applications/Emacs.app/Contents/Resources/etc/DEBUG for instructions.

In GNU Emacs 23.0.92.1 (i386-apple-darwin9.6.2, NS apple-appkit-949.43)
 of 2009-04-19 on zreba.local
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--with-ns' '--with-jpeg' '--with-tiff' '--with-gif''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: C/l

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  server-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
C-n C-p C-p C-p C-p C-p C-p C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-p 
C-p C-p C-p C-p C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-b C-( C-p C-p C-p C-p 
C-n C-n C-n C-p C-p C-p C-p C-x C-b C-x C-b M-x M-p 
<return>

Recent messages:
Tramp: Waiting 60s for local shell to come up...
Tramp: Sending command `ssh hydra.local   -q -e none && exit || exit'
Tramp: Waiting for prompts from remote shell
Tramp: Found remote shell prompt on `hydra.local' [3 times]
Quit [2 times]
Mark saved where search started
Quit
Mark saved where search started [4 times]
Quit
Mark saved where search started [2 times]

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com