Commit f34db316 authored by Andreas Schwab's avatar Andreas Schwab

(tramp-handle-shell-command): Handle output going

to current buffer like shell-command.  Don't disable undo.
parent 5d2ebd96
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.
* net/tramp.el (tramp-handle-shell-command): Handle output going
to current buffer like shell-command. Don't disable undo.
2008-08-13 Glenn Morris <rgm@gnu.org>
......
......@@ -3878,7 +3878,10 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
(error nil))
(error "Shell command in progress")))
(unless current-buffer-p
(if current-buffer-p
(progn
(barf-if-buffer-read-only)
(push-mark nil t))
(with-current-buffer output-buffer
(setq buffer-read-only nil)
(erase-buffer)))
......@@ -3900,12 +3903,20 @@ Lisp error raised when PROGRAM is nil is trapped also, returning 1."
(with-current-buffer error-buffer
(insert-file-contents (cadr buffer)))
(delete-file (cadr buffer)))
;; There's some output, display it.
(when (with-current-buffer output-buffer (> (point-max) (point-min)))
(if (functionp 'display-message-or-buffer)
(funcall (symbol-function 'display-message-or-buffer)
output-buffer)
(pop-to-buffer output-buffer)))))))
(if current-buffer-p
;; This is like exchange-point-and-mark, but doesn't
;; activate the mark. It is cleaner to avoid activation,
;; even though the command loop would deactivate the mark
;; because we inserted text.
(goto-char (prog1 (mark t)
(set-marker (mark-marker) (point)
(current-buffer))))
;; There's some output, display it.
(when (with-current-buffer output-buffer (> (point-max) (point-min)))
(if (functionp 'display-message-or-buffer)
(funcall (symbol-function 'display-message-or-buffer)
output-buffer)
(pop-to-buffer output-buffer))))))))
;; File Editing.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment