diff options
author | Glenn Morris <rgm@gnu.org> | 2018-06-23 07:50:59 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2018-06-23 07:50:59 -0700 |
commit | b81e193ac0c4644d041a4eb4fa4cb62cf9446bd6 (patch) | |
tree | 837db70e4aff8fce66886b0cfbe82dbccdea4b06 /lisp/emacs-lisp/cl.el | |
parent | 4df361557c3f1b4039fa59d23cd1ed66c2ca5b1c (diff) | |
parent | 5cb3991a4f78b39a2c95b22a5159ae3ba779397e (diff) | |
download | emacs-b81e193ac0c4644d041a4eb4fa4cb62cf9446bd6.tar.gz emacs-b81e193ac0c4644d041a4eb4fa4cb62cf9446bd6.tar.bz2 emacs-b81e193ac0c4644d041a4eb4fa4cb62cf9446bd6.zip |
Merge from origin/emacs-26
5cb3991 Fix a typo in emacs-lisp-intro.texi
d6aa55e Avoid segfaults in replace-buffer-contents with large buffers
d22b8d1 Adjust for scaling for mode-line popup menus (Bug#31880)
3d2e3dc Change name of `seqp' argument (Bug#26411)
40e1db8 Change index of ";" to better reflect it's usage (Bug#31623)
d289e7e Fix bug of 'mouse-drag-and-drop-region' to detect edges of re...
e292c09 Fix #'fun handling inside `labels' (Bug#31792)
Diffstat (limited to 'lisp/emacs-lisp/cl.el')
-rw-r--r-- | lisp/emacs-lisp/cl.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index d53c8e0bbcf..f6643158d2d 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -466,9 +466,12 @@ rather than relying on `lexical-binding'." (push var sets) (push (cons (car binding) `(lambda (&rest cl-labels-args) - (cl-list* 'funcall ',var - cl-labels-args))) + (if (eq (car cl-labels-args) cl--labels-magic) + (list cl--labels-magic ',var) + (cl-list* 'funcall ',var cl-labels-args)))) newenv))) + ;; `lexical-let' adds `cl--function-convert' (which calls + ;; `cl--labels-convert') as a macroexpander for `function'. (macroexpand-all `(lexical-let ,vars (setq ,@sets) ,@body) newenv))) ;; Generalized variables are provided by gv.el, but some details are |