aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2008-03-03 03:38:21 +0000
committerStefan Monnier2008-03-03 03:38:21 +0000
commit42521cd491e5fdfdab5dec9a7c6c4d3452dde9fa (patch)
tree5f26f720539be77511c0627db66724b1388ea2dd
parent9f014775c4dd3b7902f55e40a72fd1cacb222c2d (diff)
downloademacs-42521cd491e5fdfdab5dec9a7c6c4d3452dde9fa.tar.gz
emacs-42521cd491e5fdfdab5dec9a7c6c4d3452dde9fa.zip
(byte-optimize-form-code-walker):
Walk into the body of lambdas after byte-compile-unfold-lambda.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/byte-opt.el4
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 08dcb611ba7..4cf70876075 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12008-03-03 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
4 Walk into the body of lambdas after byte-compile-unfold-lambda.
5
12008-03-03 Glenn Morris <rgm@gnu.org> 62008-03-03 Glenn Morris <rgm@gnu.org>
2 7
3 * emulation/viper-util.el (viper-frame-value): Prefer buffer-local 8 * emulation/viper-util.el (viper-frame-value): Prefer buffer-local
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index a4a0f1ad279..92d83b0ef67 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -383,7 +383,9 @@
383 form)) 383 form))
384 ((or (byte-code-function-p fn) 384 ((or (byte-code-function-p fn)
385 (eq 'lambda (car-safe fn))) 385 (eq 'lambda (car-safe fn)))
386 (byte-compile-unfold-lambda form)) 386 (byte-optimize-form-code-walker
387 (byte-compile-unfold-lambda form)
388 for-effect))
387 ((memq fn '(let let*)) 389 ((memq fn '(let let*))
388 ;; recursively enter the optimizer for the bindings and body 390 ;; recursively enter the optimizer for the bindings and body
389 ;; of a let or let*. This for depth-firstness: forms that 391 ;; of a let or let*. This for depth-firstness: forms that