mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
; (elisp-scope-1): Analyze macros with (debug t) as progn
Take an Edebug spec of t as an indication that all of the macro's arguments are evaluated, and analyze them as such. Only do so as a fallback for macros that we cannot expand, because expanding can lead to more accurate analysis, e.g. with regards to the output type of the form.
This commit is contained in:
parent
cfc58025cd
commit
ceeeb390f0
1 changed files with 2 additions and 2 deletions
|
|
@ -2736,7 +2736,6 @@ are analyzed."
|
|||
((special-form-p bare) (elisp-scope-report-s f 'special-form) (elisp-scope-n forms))
|
||||
((macrop bare) (elisp-scope-report-s f 'macro)
|
||||
(cond
|
||||
;; ((eq (get bare 'edebug-form-spec) t) (elisp-scope-n forms))
|
||||
((elisp-scope-safe-macro-p bare)
|
||||
(let* ((warning-minimum-log-level :emergency)
|
||||
(macroexp-inhibit-compiler-macros t)
|
||||
|
|
@ -2746,7 +2745,8 @@ are analyzed."
|
|||
(macroexpand-all-environment
|
||||
(append (mapcar #'list elisp-scope-unsafe-macros) macroexpand-all-environment))
|
||||
(expanded (ignore-errors (macroexpand-1 form macroexpand-all-environment))))
|
||||
(elisp-scope-1 expanded outtype)))))
|
||||
(elisp-scope-1 expanded outtype)))
|
||||
((eq (get bare 'edebug-form-spec) t) (elisp-scope-n forms))))
|
||||
((or (functionp bare) (memq bare elisp-scope-local-functions))
|
||||
(elisp-scope-report-s f 'function) (elisp-scope-n forms))
|
||||
(t
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue