summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/byte-opt.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-11-14 04:41:56 +0000
committerGerd Moellmann <gerd@gnu.org>2000-11-14 04:41:56 +0000
commit936ae731f35a288ebd5fc875f4123eaa286c5f50 (patch)
treed8d1c9d84e115bd4a32c5542f6719890e0288aff /lisp/emacs-lisp/byte-opt.el
parentd7361edf01f3c7b4cc76d27e36b7e9dbad597147 (diff)
downloademacs-936ae731f35a288ebd5fc875f4123eaa286c5f50.tar.gz
emacs-936ae731f35a288ebd5fc875f4123eaa286c5f50.tar.bz2
emacs-936ae731f35a288ebd5fc875f4123eaa286c5f50.zip
(byte-compile-unfold-lambda): Don't
recursively optimize body because that can lead to infinite recursion; see comment there.
Diffstat (limited to 'lisp/emacs-lisp/byte-opt.el')
-rw-r--r--lisp/emacs-lisp/byte-opt.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index c3c8e677239..da695386604 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -340,7 +340,12 @@
(byte-compile-warn
"Attempt to open-code `%s' with too many arguments" name))
form)
- (setq body (mapcar 'byte-optimize-form body))
+
+ ;; The following leads to infinite recursion when loading a
+ ;; file containing `(defsubst f () (f))', and then trying to
+ ;; byte-compile that file.
+ ;(setq body (mapcar 'byte-optimize-form body)))
+
(let ((newform
(if bindings
(cons 'let (cons (nreverse bindings) body))