changeset 39657:ea9e28db82d5

(byte-compile-file): Return success when the file says no-byte-compile.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 07 Oct 2001 23:33:47 +0000
parents 4dd0be77b12e
children a04456ea3694
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 48 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Sun Oct 07 17:14:34 2001 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Sun Oct 07 23:33:47 2001 +0000
@@ -10,7 +10,7 @@
 
 ;;; This version incorporates changes up to version 2.10 of the
 ;;; Zawinski-Furuseth compiler.
-(defconst byte-compile-version "$Revision: 2.85.2.1 $")
+(defconst byte-compile-version "$Revision: 2.86 $")
 
 ;; This file is part of GNU Emacs.
 
@@ -1394,54 +1394,54 @@
 		   (file-relative-name filename)
 		   (with-current-buffer input-buffer no-byte-compile))
 	  (if (file-exists-p target-file)
-	      (condition-case nil (delete-file target-file) (error nil))))
-    (if byte-compile-verbose
-	(message "Compiling %s..." filename))
-    (setq byte-compiler-error-flag nil)
-    ;; It is important that input-buffer not be current at this call,
-    ;; so that the value of point set in input-buffer
-    ;; within byte-compile-from-buffer lingers in that buffer.
-    (setq output-buffer (byte-compile-from-buffer input-buffer filename))
-    (if byte-compiler-error-flag
-	nil
+	      (condition-case nil (delete-file target-file) (error nil)))
+	  ;; We successfully didn't compile this file.
+	  t)
       (if byte-compile-verbose
-	  (message "Compiling %s...done" filename))
-      (kill-buffer input-buffer)
-      (save-excursion
-	(set-buffer output-buffer)
-	(goto-char (point-max))
-	(insert "\n")			; aaah, unix.
-	(let ((vms-stmlf-recfm t))
-	  (if (file-writable-p target-file)
-	      ;; We must disable any code conversion here.
-	      (let ((coding-system-for-write 'no-conversion))
-		(if (or (eq system-type 'ms-dos) (eq system-type 'windows-nt))
-		    (setq buffer-file-type t))
-		(when (file-exists-p target-file)
-		  ;; Remove the target before writing it, so that any
-		  ;; hard-links continue to point to the old file (this makes
-		  ;; it possible for installed files to share disk space with
-		  ;; the build tree, without causing problems when emacs-lisp
-		  ;; files in the build tree are recompiled).
-		  (delete-file target-file))
-		(write-region 1 (point-max) target-file))
-	    ;; This is just to give a better error message than
-	    ;; write-region
-	    (signal 'file-error
-		    (list "Opening output file"
-			  (if (file-exists-p target-file)
-			      "cannot overwrite file"
-			    "directory not writable or nonexistent")
-			  target-file))))
-	(kill-buffer (current-buffer)))
-      (if (and byte-compile-generate-call-tree
-	       (or (eq t byte-compile-generate-call-tree)
-		   (y-or-n-p (format "Report call tree for %s? " filename))))
-	  (save-excursion
-	    (display-call-tree filename)))
-      (if load
-	  (load target-file))
-      t))))
+	  (message "Compiling %s..." filename))
+      (setq byte-compiler-error-flag nil)
+      ;; It is important that input-buffer not be current at this call,
+      ;; so that the value of point set in input-buffer
+      ;; within byte-compile-from-buffer lingers in that buffer.
+      (setq output-buffer (byte-compile-from-buffer input-buffer filename))
+      (if byte-compiler-error-flag
+	  nil
+	(if byte-compile-verbose
+	    (message "Compiling %s...done" filename))
+	(kill-buffer input-buffer)
+	(with-current-buffer output-buffer
+	  (goto-char (point-max))
+	  (insert "\n")			; aaah, unix.
+	  (let ((vms-stmlf-recfm t))
+	    (if (file-writable-p target-file)
+		;; We must disable any code conversion here.
+		(let ((coding-system-for-write 'no-conversion))
+		  (if (memq system-type '(ms-dos 'windows-nt))
+		      (setq buffer-file-type t))
+		  (when (file-exists-p target-file)
+		    ;; Remove the target before writing it, so that any
+		    ;; hard-links continue to point to the old file (this makes
+		    ;; it possible for installed files to share disk space with
+		    ;; the build tree, without causing problems when emacs-lisp
+		    ;; files in the build tree are recompiled).
+		    (delete-file target-file))
+		  (write-region 1 (point-max) target-file))
+	      ;; This is just to give a better error message than write-region
+	      (signal 'file-error
+		      (list "Opening output file"
+			    (if (file-exists-p target-file)
+				"cannot overwrite file"
+			      "directory not writable or nonexistent")
+			    target-file))))
+	  (kill-buffer (current-buffer)))
+	(if (and byte-compile-generate-call-tree
+		 (or (eq t byte-compile-generate-call-tree)
+		     (y-or-n-p (format "Report call tree for %s? " filename))))
+	    (save-excursion
+	      (display-call-tree filename)))
+	(if load
+	    (load target-file))
+	t))))
 
 ;;(defun byte-compile-and-load-file (&optional filename)
 ;;  "Compile a file of Lisp code named FILENAME into a file of byte code,