# HG changeset patch # User Richard M. Stallman # Date 737692221 0 # Node ID 5f56b1f00c579dcb0b4a20de2fa6f5891bff4555 # Parent e80e6e533533b2c9919ee212e0139123ed8f4d2a (byte-compile-file): Don't write output if error. diff -r e80e6e533533 -r 5f56b1f00c57 lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Mon May 17 23:18:47 1993 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Tue May 18 02:30:21 1993 +0000 @@ -1159,41 +1159,41 @@ ;; 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))) + (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)