1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

(byte-compile-file): Return success when the file says no-byte-compile.

This commit is contained in:
Stefan Monnier 2001-10-07 23:34:07 +00:00
parent d6bc0bdc4a
commit 82345a9abc
2 changed files with 60 additions and 56 deletions

View File

@ -1,3 +1,8 @@
2001-10-07 Stefan Monnier <monnier@cs.yale.edu>
* emacs-lisp/bytecomp.el (byte-compile-file): Return success when
the file says no-byte-compile.
2001-10-08 Miles Bader <miles@gnu.org>
* 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 <gerd@gnu.org>
* 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 <rms@gnu.org>
@ -89,8 +94,8 @@
2001-10-06 Miles Bader <miles@gnu.org>
* 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 <andrewi@gnu.org>
* 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 <monnier@cs.yale.edu>

View File

@ -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,