summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emacs-lisp/cconv.el6
1 files changed, 3 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index f86744fd1ae..7cec91bfa82 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -313,12 +313,12 @@ such calls."
(`(internal-get-closed-var . ,_)
;; The variable is captured.
mapping)
- (`(car-safe (internal-get-closed-var . ,_))
+ (`(car-safe ,exp)
;; The variable is mutably captured; skip
;; the indirection step because the variable is
;; passed "by reference" to the λ-lifted function.
- (cadr mapping))
- ((or '() `(car-safe ,(pred symbolp)))
+ exp)
+ (_
;; The variable is not captured; use the (shadowed) variable value.
;; (If the mapping is `(car-safe SYMBOL)', SYMBOL is always VAR.
var))))