1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-03 08:30:09 +00:00

* lisp/emacs-lisp/bytecomp.el (byte-compile-root-dir): New var.

(byte-compile-warning-prefix, batch-byte-compile-file): Use it.
This commit is contained in:
Stefan Monnier 2012-05-19 14:28:32 -04:00
parent 9232a6d9a7
commit 3858bfe7c9
2 changed files with 32 additions and 24 deletions

View File

@ -1,3 +1,8 @@
2012-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-root-dir): New var.
(byte-compile-warning-prefix, batch-byte-compile-file): Use it.
2012-05-19 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc.el (calc-ensure-consistent-units): New variable.

View File

@ -1002,12 +1002,14 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
(defvar byte-compile-last-warned-form nil)
(defvar byte-compile-last-logged-file nil)
(defvar byte-compile-root-dir nil
"Directory relative to which file names in error messages are written.")
;; This is used as warning-prefix for the compiler.
;; It is always called with the warnings buffer current.
(defun byte-compile-warning-prefix (level entry)
(let* ((inhibit-read-only t)
(dir default-directory)
(dir (or byte-compile-root-dir default-directory))
(file (cond ((stringp byte-compile-current-file)
(format "%s:" (file-relative-name
byte-compile-current-file dir)))
@ -4515,29 +4517,30 @@ already up-to-date."
(kill-emacs (if error 1 0))))
(defun batch-byte-compile-file (file)
(if debug-on-error
(byte-compile-file file)
(condition-case err
(byte-compile-file file)
(file-error
(message (if (cdr err)
">>Error occurred processing %s: %s (%s)"
">>Error occurred processing %s: %s")
file
(get (car err) 'error-message)
(prin1-to-string (cdr err)))
(let ((destfile (byte-compile-dest-file file)))
(if (file-exists-p destfile)
(delete-file destfile)))
nil)
(error
(message (if (cdr err)
">>Error occurred processing %s: %s (%s)"
">>Error occurred processing %s: %s")
file
(get (car err) 'error-message)
(prin1-to-string (cdr err)))
nil))))
(let ((byte-compile-root-dir (or byte-compile-root-dir default-directory)))
(if debug-on-error
(byte-compile-file file)
(condition-case err
(byte-compile-file file)
(file-error
(message (if (cdr err)
">>Error occurred processing %s: %s (%s)"
">>Error occurred processing %s: %s")
file
(get (car err) 'error-message)
(prin1-to-string (cdr err)))
(let ((destfile (byte-compile-dest-file file)))
(if (file-exists-p destfile)
(delete-file destfile)))
nil)
(error
(message (if (cdr err)
">>Error occurred processing %s: %s (%s)"
">>Error occurred processing %s: %s")
file
(get (car err) 'error-message)
(prin1-to-string (cdr err)))
nil)))))
(defun byte-compile-refresh-preloaded ()
"Reload any Lisp file that was changed since Emacs was dumped.