[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v |
Date: |
Thu, 22 Nov 2007 18:03:06 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/11/22 18:03:06
Index: emacs-lisp/bytecomp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/bytecomp.el,v
retrieving revision 2.219
retrieving revision 2.220
diff -u -b -r2.219 -r2.220
--- emacs-lisp/bytecomp.el 19 Nov 2007 00:10:22 -0000 2.219
+++ emacs-lisp/bytecomp.el 22 Nov 2007 18:03:04 -0000 2.220
@@ -2277,18 +2277,17 @@
(byte-compile-nogroup-warn form))
(when (byte-compile-warning-enabled-p 'free-vars)
(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
- ;; If there are any (function (lambda ...)) expressions, compile
- ;; those functions.
- (if (and (consp (car tail))
- (eq (car (car tail)) 'function)
- (consp (nth 1 (car tail))))
- (setcar tail (byte-compile-lambda (nth 1 (car tail))))
- ;; Likewise for a bare lambda.
- (if (and (consp (car tail))
- (eq (car (car tail)) 'lambda))
- (setcar tail (byte-compile-lambda (car 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)
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Stefan Monnier, 2007/11/09
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Dan Nicolaescu, 2007/11/10
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Glenn Morris, 2007/11/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Glenn Morris, 2007/11/18
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Juanma Barranquero, 2007/11/26
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,v, Glenn Morris, 2007/11/30