From 94ddbe6d9ec955c1f63d7bb0df10744657007df1 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 20 Feb 2002 22:33:01 +0000 Subject: [PATCH] (shell-command-on-region): Display the exit status when a command fails. --- lisp/simple.el | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lisp/simple.el b/lisp/simple.el index 6708af57a2c..6a0808c2cd6 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1482,14 +1482,20 @@ specifies the value of ERROR-BUFFER." (with-current-buffer buffer (save-excursion (goto-char (point-max)) - (insert "...Shell command failed")))) + (insert (format "...Shell command failed with code %d" + exit-status))))) (display-message-or-buffer buffer)) ;; No output; error? - (message (if (and error-file - (< 0 (nth 7 (file-attributes error-file)))) - "(Shell command %sed with some error output)" - "(Shell command %sed with no output)") - (if (equal 0 exit-status) "succeed" "fail")) + (let ((output + (if (and error-file + (< 0 (nth 7 (file-attributes error-file)))) + "some error output" + "no output"))) + (if (equal 0 exit-status) + (message "(Shell command succeeded with %s)" + output) + (message "(Shell command failed with code %d and %s)" + exit-status output))) ;; Don't kill: there might be useful info in the undo-log. ;; (kill-buffer buffer) )))) @@ -1927,7 +1933,9 @@ See also the command \\[yank-pop]." ((eq arg '-) -1) (t (1- arg))))) (let ((inhibit-read-only t)) - (remove-text-properties opoint (point) '(read-only nil)))) + ;; Clear `field' property for the sake of copying from the + ;; minibuffer prompt or a *shell* prompt. + (remove-text-properties opoint (point) '(read-only nil field nil)))) (if (consp arg) ;; This is like exchange-point-and-mark, but doesn't activate the mark. ;; It is cleaner to avoid activation, even though the command -- 2.39.5