From 82345a9abcf6184f744061f96cb378ff955b6ee8 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 7 Oct 2001 23:34:07 +0000 Subject: [PATCH] (byte-compile-file): Return success when the file says no-byte-compile. --- lisp/ChangeLog | 20 ++++---- lisp/emacs-lisp/bytecomp.el | 96 ++++++++++++++++++------------------- 2 files changed, 60 insertions(+), 56 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8916b4a34cb..db7ed9dd41f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2001-10-07 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-file): Return success when + the file says no-byte-compile. + 2001-10-08 Miles Bader * button.el (next-button, previous-button): Respect `skip' property. @@ -42,7 +47,7 @@ the work. * apropos.el (apropos-symbol, apropos-label): New button types. - (apropos-symbol-button-display-help) + (apropos-symbol-button-display-help) (apropos-label-button-display-help, apropos-next-label-button): New functions. (apropos-mode-map): Make button-buffer-map our parent. @@ -56,7 +61,7 @@ 2001-10-07 Gerd Moellmann - * emacs-lisp/cl.el (most-positive-fixnum, most-negative-fixnum): + * emacs-lisp/cl.el (most-positive-fixnum, most-negative-fixnum): Remove. 2001-10-05 Richard M. Stallman @@ -89,8 +94,8 @@ 2001-10-06 Miles Bader - * rfn-eshadow.el (rfn-eshadow-update-overlay): Use - `minibuffer-prompt-end'. + * rfn-eshadow.el (rfn-eshadow-update-overlay): + Use `minibuffer-prompt-end'. * simple.el (previous-matching-history-element): Fix misplaced parentheses. @@ -137,8 +142,7 @@ * simple.el (previous-matching-history-element) (next-history-element, next-complete-history-element): Use - `minibuffer-' functions instead of calling `field-' functions - directly. + `minibuffer-' functions instead of calling `field-' functions directly. (minibuffer-prompt-end, minibuffer-contents): (minibuffer-contents-no-properties, delete-minibuffer-contents): Functions removed (now subrs). @@ -163,8 +167,8 @@ 2001-10-04 Andrew Innes - * faces.el (face-font-registry-alternatives) [windows-nt]: Make - gb2312 an alias for gb2312.1980. + * faces.el (face-font-registry-alternatives) [windows-nt]: + Make gb2312 an alias for gb2312.1980. 2001-10-04 Stefan Monnier diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index f68ec7941e7..07a26ca96dd 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -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 @@ The value is t if there were no errors, nil if errors." (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, -- 2.39.2