]> git.eshelyaron.com Git - emacs.git/commitdiff
* eshell/em-unix.el (eshell/su): Require tramp.
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 18 Feb 2013 19:13:21 +0000 (20:13 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 18 Feb 2013 19:13:21 +0000 (20:13 +0100)
(eshell/sudo): Require tramp.  Remove now unnecessary check.

* net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind
`tramp-current-connection' in order to avoid an error when several
commands are invoked in a short time in eshell and friends.

lisp/ChangeLog
lisp/eshell/em-unix.el
lisp/net/tramp-sh.el

index 735ddd253698a50a40892d4eb9367a197c87cf35..7d7e62e8141e084295aafb1608cf809bb1c792c1 100644 (file)
@@ -1,3 +1,12 @@
+2013-02-18  Michael Albinus  <michael.albinus@gmx.de>
+
+       * eshell/em-unix.el (eshell/su): Require tramp.
+       (eshell/sudo): Require tramp.  Remove now unnecessary check.
+
+       * net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind
+       `tramp-current-connection' in order to avoid an error when several
+       commands are invoked in a short time in eshell and friends.
+
 2013-02-16  Didier Verna  <didier@didierverna.net>
 
        * net/network-stream.el (network-stream-open-starttls):
index 9e061b6450429fbeaa10f7aa76db77de673757b7..b387a8ba974697eb03140b6949b4d5c9d86aff13 100644 (file)
@@ -1039,6 +1039,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
 
 (defun eshell/su (&rest args)
   "Alias \"su\" to call Tramp."
+  (require 'tramp)
   (setq args (eshell-stringify-list (eshell-flatten-list args)))
   (let ((orig-args (copy-tree args)))
     (eshell-eval-using-options
@@ -1076,6 +1077,7 @@ Become another USER during a login session.")
 
 (defun eshell/sudo (&rest args)
   "Alias \"sudo\" to call Tramp."
+  (require 'tramp)
   (setq args (eshell-stringify-list (eshell-flatten-list args)))
   (let ((orig-args (copy-tree args)))
     (eshell-eval-using-options
@@ -1110,8 +1112,6 @@ Execute a COMMAND as the superuser or another USER.")
                          (format "%s|sudo:%s@%s:%s"
                                  (substring prefix 0 -1) user host dir)
                        (format "/sudo:%s@%s:%s" user host dir))))
-               ;; Ensure, that Tramp has connected to that construct already.
-               (ignore (file-exists-p default-directory))
                (eshell-named-command (car orig-args) (cdr orig-args))))))))
 
 (put 'eshell/sudo 'eshell-no-numeric-conversions t)
index 2152ba1e2702730fe8b3962be80c4d8b09b75446..29a6344734fe6d6b93eb967f2c9c3dec13201f1c 100644 (file)
@@ -2739,7 +2739,11 @@ the result will be a local, non-Tramp, filename."
           (or (null program) tramp-process-connection-type))
          (bmp (and (buffer-live-p buffer) (buffer-modified-p buffer)))
          (name1 name)
-         (i 0))
+         (i 0)
+         ;; We do not want to raise an error when
+         ;; `start-file-process' has been started several time in
+         ;; `eshell' and friends.
+         (tramp-current-connection nil))
 
       (unless buffer
        ;; BUFFER can be nil.  We use a temporary buffer.