]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Bug#39253
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 27 Jan 2020 12:36:00 +0000 (13:36 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 27 Jan 2020 12:36:00 +0000 (13:36 +0100)
* lisp/net/tramp.el (tramp-handle-shell-command): Set `default-directory'.

lisp/net/tramp.el

index e5bb094bbd509e56371bba6453c9ac5fa7efdeab..131681a8fdc33edb69d2dcf9b0303f8521f55d44 100644 (file)
@@ -3618,6 +3618,7 @@ support symbolic links."
   (let* ((asynchronous (string-match-p "[ \t]*&[ \t]*\\'" command))
         (command (substring command 0 asynchronous))
         current-buffer-p
+        (output-buffer-p output-buffer)
         (output-buffer
          (cond
           ((bufferp output-buffer) output-buffer)
@@ -3635,6 +3636,7 @@ support symbolic links."
           ((stringp error-buffer) (get-buffer-create error-buffer))))
         (bname (buffer-name output-buffer))
         (p (get-buffer-process output-buffer))
+        (dir default-directory)
         buffer)
 
     ;; The following code is taken from `shell-command', slightly
@@ -3671,6 +3673,10 @@ support symbolic links."
          (rename-uniquely))
         (setq output-buffer (get-buffer-create bname)))))
 
+    (unless output-buffer-p
+      (with-current-buffer output-buffer
+       (setq default-directory dir)))
+
     (setq buffer (if error-buffer
                     (with-parsed-tramp-file-name default-directory nil
                       (list output-buffer