From 195ce311607af59b164fc1b6b2e87ecad43e5241 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 1 Feb 2002 04:20:02 +0000 Subject: [PATCH] (shell-command-on-region): Err if no mark before reading the command string. --- lisp/simple.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lisp/simple.el b/lisp/simple.el index 56b45e03836..7445983cc69 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1421,13 +1421,15 @@ or buffer name to which to direct the command's standard error output. If it is nil, error output is mingled with regular output. In an interactive call, the variable `shell-command-default-error-buffer' specifies the value of ERROR-BUFFER." - (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 - 'shell-command-history))) + (interactive (let (string) + (unless (mark) + (error "The mark is not set now, so there is no region")) + ;; Do this before calling region-beginning + ;; and region-end, in case subprocess output + ;; relocates them while we are in the minibuffer. + (setq string (read-from-minibuffer "Shell command on region: " + nil nil nil + 'shell-command-history)) ;; call-interactively recognizes region-beginning and ;; region-end specially, leaving them in the history. (list (region-beginning) (region-end) -- 2.39.2