Commit cae49185 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(shell-command-on-region): When computing interactive args,

read the minibuffer arg first, then get the region bounds.
parent d9f86af9
......@@ -795,11 +795,17 @@ If OUTPUT-BUFFER is a buffer or buffer name, put the output there.
If OUTPUT-BUFFER is not a buffer and not nil,
insert output in the current buffer.
In either case, the output is inserted after point (leaving mark after it)."
(interactive (list (region-beginning) (region-end)
(read-from-minibuffer "Shell command on region: "
nil nil nil 'shell-command-history)
(prefix-numeric-value current-prefix-arg)))
(interactive (let ((string
;; Do this before calling region-beginning
;; and region-end, in case subprocess output
;; relocates them while we are in the minibuffer.
(read-from-minibuffer "Shell command on region: "
nil nil nil
(list (region-beginning) (region-end)
(prefix-numeric-value current-prefix-arg))))
(if (and output-buffer
(not (or (bufferp output-buffer) (stringp output-buffer))))
;; Replace specified region with output from command.
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