* lisp/emacs-lisp/bytecomp.el: Fix last change.

(byte-compile-output-docform): Re-add the print-circle bindings.
(byte-compile-fix-header): Use #$ just because it's shorter.
(byte-compile-output-file-form): Remove defun/defmacro.

Fixes: debbugs:11594
This commit is contained in:
Stefan Monnier 2012-06-01 15:47:54 -04:00
parent 501390c597
commit 4a5f187ae2
2 changed files with 23 additions and 7 deletions

View file

@ -1,3 +1,10 @@
2012-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el: Fix last change (bug#11594).
(byte-compile-output-docform): Re-add the print-circle bindings.
(byte-compile-fix-header): Use #$ just because it's shorter.
(byte-compile-output-file-form): Remove defun/defmacro.
2012-06-01 Martin Rudalics <rudalics@gmx.at>
* simple.el (choose-completion): Remove now obsolete binding for
@ -21,8 +28,8 @@
2012-05-31 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).
* emacs-lisp/bytecomp.el (byte-compile-fix-header):
Handle arbitrary file name lengths (Bug#11585).
2012-05-31 Martin Rudalics <rudalics@gmx.at>

View file

@ -1965,7 +1965,7 @@ and will be removed soon. See (elisp)Backquote in the manual."))
;; Because the header must fit in a fixed width, we cannot
;; insert arbitrary-length file names (Bug#11585).
" (error \"`%s' was compiled for "
(format "Emacs %s or later\" load-file-name))\n\n" minimum-version))
(format "Emacs %s or later\" #$))\n\n" minimum-version))
;; Now compensate for any change in size, to make sure all
;; positions in the file remain valid.
(setq delta (- (point-max) old-header-end))
@ -2023,7 +2023,7 @@ Call from the source buffer."
(defun byte-compile-output-file-form (form)
;; Write the given form to the output buffer, being careful of docstrings
;; in defun, defmacro, defvar, defvaralias, defconst, autoload and
;; in defvar, defvaralias, defconst, autoload and
;; custom-declare-variable because make-docfile is so amazingly stupid.
;; defalias calls are output directly by byte-compile-file-form-defmumble;
;; it does not pay to first build the defalias in defmumble and then parse
@ -2035,7 +2035,7 @@ Call from the source buffer."
(print-gensym t)
(print-circle ; Handle circular data structures.
(not byte-compile-disable-print-circle)))
(if (and (memq (car-safe form) '(defun defmacro defvar defvaralias defconst
(if (and (memq (car-safe form) '(defvar defvaralias defconst
autoload custom-declare-variable))
(stringp (nth 3 form)))
(byte-compile-output-docform nil nil '("\n(" 3 ")") form nil
@ -2089,7 +2089,16 @@ list that represents a doc string reference.
(insert (car info))
(let ((print-continuous-numbering t)
print-number-table
(index 0))
(index 0)
;; FIXME: The bindings below are only needed for when we're
;; called from ...-defmumble.
(print-escape-newlines t)
(print-length nil)
(print-level nil)
(print-quoted t)
(print-gensym t)
(print-circle ; Handle circular data structures.
(not byte-compile-disable-print-circle)))
(prin1 (car form) byte-compile--outbuffer)
(while (setq form (cdr form))
(setq index (1+ index))
@ -2815,7 +2824,7 @@ for symbols generated by the byte compiler itself."
(push (cons fn
(if (and (consp args) (listp (car args)))
(list 'declared (car args))
t)) ; arglist not specified
t)) ; Arglist not specified.
byte-compile-function-environment)
;; We are stating that it _will_ be defined at runtime.
(setq byte-compile-noruntime-functions