mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-21 20:37:38 +00:00
(tramp-handle-shell-command): Correctly handle
output going to current buffer. Don't disable undo.
This commit is contained in:
parent
c1043701f6
commit
5d2ebd96ec
2 changed files with 14 additions and 6 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2008-08-13 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* net/tramp.el (tramp-handle-shell-command): Correctly handle
|
||||
output going to current buffer. Don't disable undo.
|
||||
|
||||
2008-08-13 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* eshell/esh-cmd.el (eshell/which): Handle the case where no description
|
||||
|
|
|
|||
|
|
@ -3846,11 +3846,14 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
|
|||
;; 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)))
|
||||
current-buffer-p
|
||||
(output-buffer
|
||||
(cond
|
||||
((bufferp output-buffer) output-buffer)
|
||||
((stringp output-buffer) (get-buffer-create output-buffer))
|
||||
(output-buffer (current-buffer))
|
||||
(output-buffer
|
||||
(setq current-buffer-p t)
|
||||
(current-buffer))
|
||||
(t (get-buffer-create
|
||||
(if asynchronous
|
||||
"*Async Shell Command*"
|
||||
|
|
@ -3875,12 +3878,12 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
|
|||
(error nil))
|
||||
(error "Shell command in progress")))
|
||||
|
||||
(with-current-buffer output-buffer
|
||||
(setq buffer-read-only nil
|
||||
buffer-undo-list t)
|
||||
(erase-buffer))
|
||||
(unless current-buffer-p
|
||||
(with-current-buffer output-buffer
|
||||
(setq buffer-read-only nil)
|
||||
(erase-buffer)))
|
||||
|
||||
(if (integerp asynchronous)
|
||||
(if (and (not current-buffer-p) (integerp asynchronous))
|
||||
(prog1
|
||||
;; Run the process.
|
||||
(apply 'start-file-process "*Async Shell*" buffer args)
|
||||
|
|
|
|||
Loading…
Reference in a new issue