Mercurial > emacs
changeset 33458:f1c913d16f4c
(byte-compile-unfold-lambda): Don't
recursively optimize body because that can lead to infinite
recursion; see comment there.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 14 Nov 2000 04:40:01 +0000 |
parents | dedb98466e0c |
children | 5554a905806a |
files | lisp/emacs-lisp/byte-opt.el |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/byte-opt.el Tue Nov 14 01:45:45 2000 +0000 +++ b/lisp/emacs-lisp/byte-opt.el Tue Nov 14 04:40:01 2000 +0000 @@ -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))