Mercurial > emacs
diff lisp/simple.el @ 21222:4824e5e6d88a
(shell-command-on-region): Amend message to report
success or failure when no process output.
author | Dave Love <fx@gnu.org> |
---|---|
date | Thu, 19 Mar 1998 10:30:55 +0000 |
parents | 20bba919ec72 |
children | b787b88cc575 |
line wrap: on
line diff
--- a/lisp/simple.el Thu Mar 19 07:35:16 1998 +0000 +++ b/lisp/simple.el Thu Mar 19 10:30:55 1998 +0000 @@ -1,6 +1,6 @@ ;;; simple.el --- basic editing commands for Emacs -;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 1997 +;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 1998 ;; Free Software Foundation, Inc. ;; This file is part of GNU Emacs. @@ -1181,7 +1181,8 @@ ;; replacing its entire contents. (let ((buffer (get-buffer-create (or output-buffer "*Shell Command Output*"))) - (success nil)) + (success nil) + (exit-status nil)) (unwind-protect (if (eq buffer (current-buffer)) ;; If the input is the same buffer as the output, @@ -1190,23 +1191,25 @@ (progn (setq buffer-read-only nil) (delete-region (max start end) (point-max)) (delete-region (point-min) (min start end)) - (call-process-region (point-min) (point-max) - shell-file-name t - (if error-file - (list t error-file) - t) - nil shell-command-switch command) + (setq exit-status + (call-process-region (point-min) (point-max) + shell-file-name t + (if error-file + (list t error-file) + t) + nil shell-command-switch command)) (setq success t)) ;; Clear the output buffer, then run the command with output there. (save-excursion (set-buffer buffer) (setq buffer-read-only nil) (erase-buffer)) - (call-process-region start end shell-file-name nil - (if error-file - (list buffer error-file) - buffer) - nil shell-command-switch command) + (setq exit-status + (call-process-region start end shell-file-name nil + (if error-file + (list buffer error-file) + buffer) + nil shell-command-switch command)) (setq success t)) ;; Report the amount of output. (let ((lines (save-excursion @@ -1216,7 +1219,10 @@ (count-lines (point-min) (point-max)))))) (cond ((= lines 0) (if success - (message "(Shell command completed with no output)")) + (message "(Shell command %sed with no output)" + (if (equal 0 exit-status) + "succeed" + "fail"))) (kill-buffer buffer)) ((and success (= lines 1)) (message "%s"