1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

; * lisp/emacs-lisp/elisp-scope.el (if-let*): Add comment.

This commit is contained in:
Eshel Yaron 2025-10-08 15:46:45 +02:00
parent 61caa91875
commit 240bf0679c
No known key found for this signature in database
GPG key ID: EF3EE9CA35D78618

View file

@ -2258,6 +2258,12 @@ property, or if the current buffer is trusted (see `trusted-content-p')."
(elisp-scope-1 file '(symbol . feature))
(elisp-scope-1 form 'code))
;; We use a bespoke analyzer for `if-let*' instead of letting
;; `elisp-scope-1' expand it because `if-let*' expands to a form that
;; uses each binding symbol also as a bound symbol, and hence after
;; macro-expansion, we would analyze the same symbol(-with-position)
;; first as a `binding-variable' and then as `bound-variable'. With
;; this bespoke analyzer, we only analyze it as a `binding-variable'.
(elisp-scope-define-macro-analyzer if-let* (&optional varlist then &rest else)
(elisp-scope-if-let varlist then else elisp-scope-output-spec))