# HG changeset patch # User Michael Albinus # Date 1279282195 -7200 # Node ID 9e514d1076b4c8f2a58f1e7e77ad32accac5b009 # Parent 6c14b478b70ff5d95501ced9959163c9022b013c * net/tramp.el (tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but `tramp-remote-sh' from `tramp-methods'. (tramp-find-shell): Simplify setting connection property. (tramp-get-ls-command): Make test for "--color=never" stronger. diff -r 6c14b478b70f -r 9e514d1076b4 lisp/ChangeLog --- a/lisp/ChangeLog Fri Jul 16 09:50:37 2010 +0200 +++ b/lisp/ChangeLog Fri Jul 16 14:09:55 2010 +0200 @@ -1,3 +1,10 @@ +2010-07-16 Michael Albinus + + * net/tramp.el (tramp-handle-shell-command): Don't use hard-wired + "/bin/sh" but `tramp-remote-sh' from `tramp-methods'. + (tramp-find-shell): Simplify setting connection property. + (tramp-get-ls-command): Make test for "--color=never" stronger. + 2010-07-15 Simon South * progmodes/delphi.el (delphi-previous-indent-of): Indent case diff -r 6c14b478b70f -r 9e514d1076b4 lisp/net/tramp.el --- a/lisp/net/tramp.el Fri Jul 16 09:50:37 2010 +0200 +++ b/lisp/net/tramp.el Fri Jul 16 14:09:55 2010 +0200 @@ -4683,7 +4683,12 @@ (let* ((asynchronous (string-match "[ \t]*&[ \t]*\\'" command)) ;; We cannot use `shell-file-name' and `shell-command-switch', ;; they are variables of the local host. - (args (list "/bin/sh" "-c" (substring command 0 asynchronous))) + (args (list + (tramp-get-method-parameter + (tramp-file-name-method + (tramp-dissect-file-name default-directory)) + 'tramp-remote-sh) + "-c" (substring command 0 asynchronous))) current-buffer-p (output-buffer (cond @@ -6619,12 +6624,10 @@ (t (tramp-message vec 5 "Remote `%s' groks tilde expansion, good" - (tramp-get-method-parameter - (tramp-file-name-method vec) 'tramp-remote-sh)) - (tramp-set-connection-property - vec "remote-shell" - (tramp-get-method-parameter - (tramp-file-name-method vec) 'tramp-remote-sh)))))))) + (tramp-set-connection-property + vec "remote-shell" + (tramp-get-method-parameter + (tramp-file-name-method vec) 'tramp-remote-sh))))))))) ;; ------------------------------------------------------------ ;; -- Functions for establishing connection -- @@ -8316,10 +8319,13 @@ ;; Check parameters. On busybox, "ls" output coloring is ;; enabled by default sometimes. So we try to disable it ;; when possible. $LS_COLORING is not supported there. + ;; Some "ls" versions are sensible wrt the order of + ;; arguments, they fail when "-al" is after the + ;; "--color=never" argument (for example on FreeBSD). (when (zerop (tramp-send-command-and-check vec (format "%s -lnd /" result))) (when (zerop (tramp-send-command-and-check - vec (format "%s --color=never /" result))) + vec (format "%s --color=never -al /" result))) (setq result (concat result " --color=never"))) (throw 'ls-found result)) (setq dl (cdr dl))))))