* lisp/emacs-lisp/bytecomp.el
(byte-compile-file-form-custom-declare-variable): Compile all elements, since cconv.el might have introduced :fun-body, internal-make-closure, and friends for bytecomp to handle. * lisp/custom.el (defcustom): Avoid ((λ ..) ..). Fixes: debbugs:11391
This commit is contained in:
parent
7ed806a75c
commit
2bd785a208
3 changed files with 10 additions and 14 deletions
|
@ -1,3 +1,11 @@
|
|||
2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/bytecomp.el
|
||||
(byte-compile-file-form-custom-declare-variable): Compile all elements,
|
||||
since cconv.el might have introduced :fun-body, internal-make-closure,
|
||||
and friends for bytecomp to handle (bug#11391).
|
||||
* custom.el (defcustom): Avoid ((λ ..) ..).
|
||||
|
||||
2012-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* subr.el (read-passwd): Better clean after ourselves (bug#11392).
|
||||
|
|
|
@ -335,7 +335,7 @@ for more information."
|
|||
;; expression is checked by the byte-compiler, and that
|
||||
;; lexical-binding is obeyed, so quote the expression with
|
||||
;; `lambda' rather than with `quote'.
|
||||
`(list (lambda () ,standard))
|
||||
``(funcall #',(lambda () ,standard))
|
||||
`',standard)
|
||||
,doc
|
||||
,@args))
|
||||
|
|
|
@ -2267,19 +2267,7 @@ list that represents a doc string reference.
|
|||
(when (byte-compile-warning-enabled-p 'callargs)
|
||||
(byte-compile-nogroup-warn form))
|
||||
(push (nth 1 (nth 1 form)) byte-compile-bound-variables)
|
||||
;; Don't compile the expression because it may be displayed to the user.
|
||||
;; (when (eq (car-safe (nth 2 form)) 'quote)
|
||||
;; ;; (nth 2 form) is meant to evaluate to an expression, so if we have the
|
||||
;; ;; final value already, we can byte-compile it.
|
||||
;; (setcar (cdr (nth 2 form))
|
||||
;; (byte-compile-top-level (cadr (nth 2 form)) nil 'file)))
|
||||
(let ((tail (nthcdr 4 form)))
|
||||
(while tail
|
||||
(unless (keywordp (car tail)) ;No point optimizing keywords.
|
||||
;; Compile the keyword arguments.
|
||||
(setcar tail (byte-compile-top-level (car tail) nil 'file)))
|
||||
(setq tail (cdr tail))))
|
||||
form)
|
||||
(byte-compile-keep-pending form))
|
||||
|
||||
(put 'require 'byte-hunk-handler 'byte-compile-file-form-require)
|
||||
(defun byte-compile-file-form-require (form)
|
||||
|
|
Loading…
Add table
Reference in a new issue