changeset 14140:db5e78740d5c

(diff): Fix local compilation-exit-message-function to take the proper arguments; remove gratuitous use of if around cond; return useful mode line messages for normal completion.
author Roland McGrath <roland@gnu.org>
date Wed, 10 Jan 1996 15:03:26 +0000
parents 7a188386159b
children dc502b9c237c
files lisp/diff.el
diffstat 1 files changed, 12 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/diff.el	Wed Jan 10 01:30:06 1996 +0000
+++ b/lisp/diff.el	Wed Jan 10 15:03:26 1996 +0000
@@ -1,6 +1,6 @@
 ;;; diff.el --- Run `diff' in compilation-mode.
 
-;; Copyright (C) 1992, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc.
 
 ;; Keywords: unix, tools
 
@@ -41,7 +41,7 @@
   '(
     ;; -u format: @@ -OLDSTART,OLDEND +NEWSTART,NEWEND @@
     ("^@@ -\\([0-9]+\\),[0-9]+ \\+\\([0-9]+\\),[0-9]+ @@$" 1 2)
-  
+
     ;; -c format: *** OLDSTART,OLDEND ****
     ("^\\*\\*\\* \\([0-9]+\\),[0-9]+ \\*\\*\\*\\*$" 1 nil)
     ;;            --- NEWSTART,NEWEND ----
@@ -57,7 +57,7 @@
     ;; -n format: {a,d,c}OLDSTART LINES-CHANGED
     ("^[adc]\\([0-9]+\\)\\( [0-9]+\\)?$" 1)
     )
-  "Alist (REGEXP OLD-IDX NEW-IDX) of regular expressions to match difference 
+  "Alist (REGEXP OLD-IDX NEW-IDX) of regular expressions to match difference
 sections in \\[diff] output.  If REGEXP matches, the OLD-IDX'th
 subexpression gives the line number in the old file, and NEW-IDX'th
 subexpression gives the line number in the new file.  If OLD-IDX or NEW-IDX
@@ -223,16 +223,15 @@
 	  ;; Avoid frightening people with "abnormally terminated"
 	  ;; if diff finds differences.
 	  (set (make-local-variable 'compilation-exit-message-function)
-	       (lambda (proc msg)
-		 (let ((code (process-exit-status proc)))
-		   (if (eq (process-status proc) 'exit)
-		       (cond ((zerop code)
-			      '("finished (no differences)\n" . "finished"))
-			     ((= code 1)
-			      '("finished\n" . "finished"))
-			     (t
-			      (cons msg code)))
-		     (cons msg code)))))
+	       (lambda (status code msg)
+		 (cond ((not (eq status 'exit))
+			(cons msg code))
+		       ((zerop code)
+			'("finished (no differences)\n" . "no differences"))
+		       ((= code 1)
+			'("finished\n" . "differences found"))
+		       (t
+			(cons msg code)))))
 	  (set (make-local-variable 'diff-old-file) old)
 	  (set (make-local-variable 'diff-new-file) new)
 	  (set (make-local-variable 'diff-old-temp-file) old-alt)