Function: consult--local-let
consult--local-let is a macro defined in consult.el.
Signature
(consult--local-let BINDS &rest BODY)
Documentation
Buffer local let BINDS of dynamic variables in BODY.
Source Code
;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defmacro consult--local-let (binds &rest body)
"Buffer local let BINDS of dynamic variables in BODY."
(declare (indent 1) (debug let))
(let ((buffer (gensym "buffer"))
(local (mapcar (lambda (x) (cons (gensym "local") (car x))) binds)))
`(let ((,buffer (current-buffer))
,@(mapcar (lambda (x) `(,(car x) (local-variable-p ',(cdr x)))) local))
(unwind-protect
(progn
,@(mapcar (lambda (x) `(make-local-variable ',(car x))) binds)
(let (,@binds)
,@body))
(when (buffer-live-p ,buffer)
(with-current-buffer ,buffer
,@(mapcar (lambda (x)
`(unless ,(car x)
(kill-local-variable ',(cdr x))))
local)))))))