I am running emacs 24.4.1 on a Mac Book pro running OS X 10.10.2 accessing a FreeBSD host running 10.0. The (tramp-version) function returns 2.2.9-24.4.
I am seeing a hang in this function:
(defun tramp-send-command (vec command &optional neveropen nooutput)
"Send the COMMAND to connection VEC.
Erases temporary buffer before sending the command. If optional
arg NEVEROPEN is non-nil, never try to open the connection. This
is meant to be used from `tramp-maybe-open-connection' only. The
function waits for output unless NOOUTPUT is set."
(unless neveropen (tramp-maybe-open-connection vec))
(let ((p (tramp-get-connection-process vec)))
(when (tramp-get-connection-property p "remote-echo" nil)
;; We mark the command string that it can be erased in the output buffer.
(tramp-set-connection-property p "check-remote-echo" t)
(setq command (format "%s%s%s" tramp-echo-mark command tramp-echo-mark)))
;; Send the command.
(tramp-message vec 6 "%s" command)
(tramp-send-string vec command)
(unless nooutput (tramp-wait-for-output p))))
When this command is sent:
_echotramp_vc_registered_read_file_names <<'082cc41d7f45caa1b286328eb0859546'
/home/atanu/foo/RCS/foo\,v
/home/atanu/foo/foo\,v
/home/atanu/foo/RCS/foo
/home/atanu/foo/CVS/Entries
/home/atanu/foo/foo/.svn
/home/atanu/foo/.svn
/home/atanu/.svn
/home/.svn
/.svn
/home/atanu/foo/SCCS/s.foo
/home/atanu/foo/s.foo
/home/atanu/foo/foo/.bzr/checkout/format
/home/atanu/foo/.bzr/checkout/format
/home/atanu/.bzr/checkout/format
/home/.bzr/checkout/format
/.bzr/checkout/format
/home/atanu/foo/foo/.git
/home/atanu/foo/.git
/home/atanu/.git
/home/.git
/.git
/home/atanu/foo/foo/.hg
/home/atanu/foo/.hg
/home/atanu/.hg
/home/.hg
/.hg
/home/atanu/foo/foo/_MTN/format
/home/atanu/foo/_MTN/format
/home/atanu/_MTN/format
/home/_MTN/format
/_MTN/format
/home/atanu/foo/foo/\{arch\}/\=tagging-method
/home/atanu/foo/\{arch\}/\=tagging-method
/home/atanu/\{arch\}/\=tagging-method
/home/\{arch\}/\=tagging-method
/\{arch\}/\=tagging-method
082cc41d7f45caa1b286328eb0859546
_echo
The "tramp-wait-for-output" function takes an optional timeout argument, if I set it then obviously I don't see a hang. Initially I had thought the problem was only with version controlled files but it seems to affect all files.
Atanu.