From: Richard M. Stallman Date: Fri, 1 Feb 2002 04:20:02 +0000 (+0000) Subject: (shell-command-on-region): Err if no mark before reading the command string. X-Git-Tag: ttn-vms-21-2-B4~16910 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=195ce311607af59b164fc1b6b2e87ecad43e5241;p=emacs.git (shell-command-on-region): Err if no mark before reading the command string. --- 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)