diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2006-01-06 16:13:05 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2006-01-06 16:13:05 +0000 |
commit | a8bf7299ee74781dd485c33c5eac20aee0f0ebef (patch) | |
tree | d2bc1c0d3d7a64a19945b5bb5d175cae37088bca /lisp/emacs-lisp | |
parent | e079ecf45241cc5d2904db7ede9592f9861bb9aa (diff) | |
parent | 600bc46cd52fbdedf592158c6b03ccfca88dbade (diff) | |
download | emacs-a8bf7299ee74781dd485c33c5eac20aee0f0ebef.tar.gz emacs-a8bf7299ee74781dd485c33c5eac20aee0f0ebef.tar.bz2 emacs-a8bf7299ee74781dd485c33c5eac20aee0f0ebef.zip |
Merged from miles@gnu.org--gnu-2005 (patch 683-684)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-683
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-684
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-493
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 47bcbbcae6c..6219482b12e 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1,7 +1,7 @@ ;;; bytecomp.el --- compilation of Lisp code into byte code ;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1998, 2000, 2001, 2002, -;; 2003, 2004, 2005 Free Software Foundation, Inc. +;; 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ;; Author: Jamie Zawinski <jwz@lucid.com> ;; Hallvard Furuseth <hbf@ulrik.uio.no> @@ -3785,7 +3785,15 @@ that suppresses all warnings during execution of BODY." (push (cons (nth 1 (nth 1 form)) (if constant (nth 1 (nth 2 form)) t)) byte-compile-function-environment))) - (byte-compile-normal-call form)) + ;; We used to jus do: (byte-compile-normal-call form) + ;; But it turns out that this fails to optimize the code. + ;; So instead we now do the same as what other byte-hunk-handlers do, + ;; which is to call back byte-compile-file-form and then return nil. + ;; Except that we can't just call byte-compile-file-form since it would + ;; call us right back. + (byte-compile-keep-pending form) + ;; Return nil so the form is not output twice. + nil) ;; Turn off warnings about prior calls to the function being defalias'd. ;; This could be smarter and compare those calls with |