]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp.el (tramp-handle-shell-command): Don't use hard-wired
authorMichael Albinus <michael.albinus@gmx.de>
Fri, 16 Jul 2010 12:09:55 +0000 (14:09 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Fri, 16 Jul 2010 12:09:55 +0000 (14:09 +0200)
"/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.

lisp/ChangeLog
lisp/net/tramp.el

index ab900c69a148aed71f98b6a6edf94540db6a0653..199c82431880abc83185042f07e68adc03f83115 100644 (file)
@@ -1,3 +1,10 @@
+2010-07-16  Michael Albinus  <michael.albinus@gmx.de>
+
+       * 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  <ssouth@member.fsf.org>
 
        * progmodes/delphi.el (delphi-previous-indent-of): Indent case
index 8e9ca34f16beec5cbb0e7bbaaf69fb090dbd9de9..a231ef29880eb06540de059636d0cfd6ed71bdbe 100644 (file)
@@ -4683,7 +4683,12 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
   (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 @@ file exists and nonzero exit status otherwise."
 
         (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 @@ necessary only.  This function will be used in file name completion."
             ;; 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))))))