diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-10-13 21:39:56 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-10-13 21:39:56 -0400 |
commit | 5046ef67ca8b5a2eab769b4a6e486ae060b5df13 (patch) | |
tree | 52966f3e20b13f107db949c98bd4fabd8e811a54 /lisp/emacs-lisp/gv.el | |
parent | 8336c6b3c5a971104437ca1939fae3ab998c486a (diff) | |
download | emacs-5046ef67ca8b5a2eab769b4a6e486ae060b5df13.tar.gz emacs-5046ef67ca8b5a2eab769b4a6e486ae060b5df13.tar.bz2 emacs-5046ef67ca8b5a2eab769b4a6e486ae060b5df13.zip |
* lisp/emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code.
Diffstat (limited to 'lisp/emacs-lisp/gv.el')
-rw-r--r-- | lisp/emacs-lisp/gv.el | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index 7858c183e4b..1a30d67fbbc 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -358,7 +358,8 @@ The return value is the last VAL in the list. (put 'if 'gv-expander (lambda (do test then &rest else) - (if (macroexp-small-p (funcall do 'dummy (lambda (_) 'dummy))) + (if (or (not lexical-binding) ;The other code requires lexical-binding. + (macroexp-small-p (funcall do 'dummy (lambda (_) 'dummy)))) ;; This duplicates the `do' code, which is a problem if that ;; code is large, but otherwise results in more efficient code. `(if ,test ,(gv-get then do) |