Search code examples
windowsemacstramp

Emacs 24.3 for windows, Tramp byte-code: Couldn't find a proper `ls' command


24.2 works well, but 24.3 bounded tramp got following error when open remote Linux system files or directories:

"byte-code: Couldn't find a proper `ls' command"

I open tramp trace and find that, all remote search path and file path are extend by something, adding a extra "c:" at the beginning. The results is that tramp can find neither command nor file I want to open.

16:04:51.768000 tramp-get-connection-property (7) # process-buffer nil
16:04:51.769000 tramp-set-file-property (8) # c:/bin file-directory-p nil 
16:04:51.770000 tramp-get-file-property (8) # c:/usr/bin file-directory-p undef 
... 
16:04:59.531000 tramp-sh-handle-file-truename (5) # Check /c: 
16:04:59.532000 tramp-get-file-property (8) # c:/c: file-attributes-integer undef 
... 
16:04:51.773000 tramp-get-connection-property (7) # process-name nil 
16:04:51.773000 tramp-get-connection-property (7) # chunksize 0 
16:04:51.773000 tramp-set-connection-property (7) # last-cmd-time (20809 28067 773000 0) 
16:04:51.774000 tramp-send-string (10) # test -d c\:/usr/bin 2>/dev/null; echo tramp_exit_status $? 

Anyone know something about this? Thanks in advance.


Solution

  • I had the same problem after switching to Emacs 24.3. The solution was to upgrade to the latest Tramp 2.2.7. Here is what I did:

    1. downloaded http://ftp.gnu.org/gnu/tramp/tramp-2.2.7.tar.gz
    2. unpacked the archive to my ~/.emacs.d/src. I am using emacs-starter-kit which adds this directory and all its subdirectories to the load-path. Otherwise follow the instructions in the Tramp's INSTALL file.
    3. used Cygwin bash to configure and compile the files. I don't use Cygwin's Emacs normally but it is convenient to have it for occasions like this.
    4. deleted the old tramp's el and elc files in my emacs/lisp/net for safety.
    5. restarted Emacs of course.

    Do M-x tramp-version to make sure it is installed correctly. Now tramp works everywhere (dired, eshell, shell, etc).