diff options
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 4b31a0e6943..1d7cbfc422c 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -219,7 +219,9 @@ if you change this variable." ;; The user may want to redefine this along with emacs-lisp-file-regexp, ;; so only define it if it is undefined. (defun byte-compile-dest-file (filename) - "Convert an Emacs Lisp source file name to a compiled file name." + "Convert an Emacs Lisp source file name to a compiled file name. +If FILENAME matches `emacs-lisp-file-regexp' (by default, files +with the extension `.el'), add `c' to it; otherwise add `.elc'." (setq filename (byte-compiler-base-file-name filename)) (setq filename (file-name-sans-versions filename)) (cond ((eq system-type 'vax-vms) @@ -296,6 +298,10 @@ When this option is true, if you load the compiled file and then move it, the functions you loaded will not be able to run.") ;;;###autoload(put 'byte-compile-dynamic 'safe-local-variable 'booleanp) +(defvar byte-compile-disable-print-circle nil + "If non-nil, disable `print-circle' on printing a byte-compiled code.") +;;;###autoload(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) + (defcustom byte-compile-dynamic-docstrings t "*If non-nil, compile doc strings for lazy access. We bury the doc strings of functions and variables @@ -1611,7 +1617,8 @@ This is normally set in local file variables at the end of the elisp file: ;;;###autoload (defun byte-compile-file (filename &optional load) "Compile a file of Lisp code named FILENAME into a file of byte code. -The output file's name is made by appending `c' to the end of FILENAME. +The output file's name is generated by passing FILENAME to the +`byte-compile-dest-file' function (which see). With prefix arg (noninteractively: 2nd arg), LOAD the file after compiling. The value is non-nil if there were no errors, nil if errors." ;; (interactive "fByte compile file: \nP") @@ -2003,7 +2010,8 @@ With argument, insert value in current buffer after the form." (print-level nil) (print-quoted t) (print-gensym t) - (print-circle t)) ; handle circular data structures + (print-circle ; handle circular data structures + (not byte-compile-disable-print-circle))) (princ "\n" outbuffer) (prin1 form outbuffer) nil))) @@ -2060,7 +2068,8 @@ list that represents a doc string reference. ;; print-gensym-alist not to be cleared ;; between calls to print functions. (print-gensym '(t)) - (print-circle t) ; handle circular data structures + (print-circle ; handle circular data structures + (not byte-compile-disable-print-circle)) print-gensym-alist ; was used before print-circle existed. (print-continuous-numbering t) print-number-table |