changeset 2855:b858b91dff34

(byte-compile-file): Don't write output if error.
author Richard M. Stallman <rms@gnu.org>
date Tue, 18 May 1993 03:32:00 +0000
parents 6ed299f80cbb
children 794899b97115
files lisp/emacs-lisp/bytecomp.el
diffstat 1 files changed, 37 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/bytecomp.el	Tue May 18 03:19:14 1993 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Tue May 18 03:32:00 1993 +0000
@@ -1158,42 +1158,43 @@
     ;; 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))
-    (or byte-compiler-error-flag
-	(kill-buffer input-buffer)
-	(save-excursion
-	  (set-buffer output-buffer)
-	  (goto-char (point-max))
-	  (insert "\n")			; aaah, unix.
-	  (let ((vms-stmlf-recfm t))
-	    (setq target-file (byte-compile-dest-file filename))
-    ;;	(or byte-compile-overwrite-file
-    ;;	    (condition-case ()
-    ;;		(delete-file target-file)
-    ;;	      (error nil)))
-	    (if (file-writable-p target-file)
-		(let ((kanji-flag nil))	; for nemacs, from Nakagawa Takayuki
-		  (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)))
-    ;;	(or byte-compile-overwrite-file
-    ;;	    (condition-case ()
-    ;;		(set-file-modes target-file (file-modes filename))
-    ;;	      (error nil)))
-	    )
-	  (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))))
+    (if byte-compiler-error-flag
+	nil
+      (kill-buffer input-buffer)
+      (save-excursion
+	(set-buffer output-buffer)
+	(goto-char (point-max))
+	(insert "\n")			; aaah, unix.
+	(let ((vms-stmlf-recfm t))
+	  (setq target-file (byte-compile-dest-file filename))
+;;;	  (or byte-compile-overwrite-file
+;;;		  (condition-case ()
+;;;		      (delete-file target-file)
+;;;		    (error nil)))
+	  (if (file-writable-p target-file)
+	      (let ((kanji-flag nil))	; for nemacs, from Nakagawa Takayuki
+		(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)))
+;;;	  (or byte-compile-overwrite-file
+;;;		  (condition-case ()
+;;;		      (set-file-modes target-file (file-modes filename))
+;;;		    (error nil)))
+	  )
+	(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)