diff options
author | Richard M. Stallman <rms@gnu.org> | 1993-05-18 02:30:21 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1993-05-18 02:30:21 +0000 |
commit | c76f206519f9b3039b577b581f4f1245b1ef4b66 (patch) | |
tree | d392d8367c2e0da253523088b8302517fc881e58 /lisp/emacs-lisp/bytecomp.el | |
parent | 874bdb5a86c148bb33ecc51b74ae743cccaf7089 (diff) | |
download | emacs-c76f206519f9b3039b577b581f4f1245b1ef4b66.tar.gz emacs-c76f206519f9b3039b577b581f4f1245b1ef4b66.tar.bz2 emacs-c76f206519f9b3039b577b581f4f1245b1ef4b66.zip |
(byte-compile-file): Don't write output if error.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 76a0712dcad..7c7a2f1c13b 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1159,41 +1159,41 @@ With prefix arg (noninteractively: 2nd arg), load the file after compiling." ;; 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) |