Mercurial > emacs
changeset 68001:8e733b93ffdc
(byte-compile-file-form-defalias):
Optimize the body of a defalias like any other code.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 03 Jan 2006 18:35:58 +0000 |
parents | 830e95c83d49 |
children | 84f2196866ae |
files | lisp/ChangeLog lisp/emacs-lisp/bytecomp.el |
diffstat | 2 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Jan 03 18:25:26 2006 +0000 +++ b/lisp/ChangeLog Tue Jan 03 18:35:58 2006 +0000 @@ -1,5 +1,8 @@ 2006-01-03 Stefan Monnier <monnier@iro.umontreal.ca> + * emacs-lisp/bytecomp.el (byte-compile-file-form-defalias): + Optimize the body of a defalias like any other code. + * font-lock.el (font-lock-fontify-buffer, font-lock-fontify-region): Make sure we've setup font-lock's vars. It may influence which function we then call. @@ -13,10 +16,10 @@ 2006-01-02 J.D. Smith <jdsmith@as.arizona.edu> - * mouse.el (mouse-drag-track): Renamed, from + * mouse.el (mouse-drag-track): Rename, from `mouse-drag-region-1'. Includes optional argument required to - enable post-drag event processing (e.g. delete region keys). Can - be used without this argument to track a mouse region and operate + enable post-drag event processing (e.g. delete region keys). + Can be used without this argument to track a mouse region and operate on it as soon as the drag completes. (mouse-drag-region): Use `mouse-drag-track'.
--- a/lisp/emacs-lisp/bytecomp.el Tue Jan 03 18:25:26 2006 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Tue Jan 03 18:35:58 2006 +0000 @@ -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 @@ (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