summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/simple.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 9c79a009fbe..78a40cdcee8 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1331,10 +1331,13 @@ specifies the value of ERROR-BUFFER."
command)))
;; Clear the output buffer, then run the command with
;; output there.
- (save-excursion
- (set-buffer buffer)
- (setq buffer-read-only nil)
- (erase-buffer))
+ (let ((directory default-directory))
+ (save-excursion
+ (set-buffer buffer)
+ (setq buffer-read-only nil)
+ (if (not output-buffer)
+ (setq default-directory directory))
+ (erase-buffer)))
(setq exit-status
(call-process-region start end shell-file-name nil
(if error-file