mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-09 07:40:39 -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))
|
((special-form-p bare) (elisp-scope-report-s f 'special-form) (elisp-scope-n forms))
|
||||||
((macrop bare) (elisp-scope-report-s f 'macro)
|
((macrop bare) (elisp-scope-report-s f 'macro)
|
||||||
(cond
|
(cond
|
||||||
;; ((eq (get bare 'edebug-form-spec) t) (elisp-scope-n forms))
|
|
||||||
((elisp-scope-safe-macro-p bare)
|
((elisp-scope-safe-macro-p bare)
|
||||||
(let* ((warning-minimum-log-level :emergency)
|
(let* ((warning-minimum-log-level :emergency)
|
||||||
(macroexp-inhibit-compiler-macros t)
|
(macroexp-inhibit-compiler-macros t)
|
||||||
|
|
@ -2746,7 +2745,8 @@ are analyzed."
|
||||||
(macroexpand-all-environment
|
(macroexpand-all-environment
|
||||||
(append (mapcar #'list elisp-scope-unsafe-macros) macroexpand-all-environment))
|
(append (mapcar #'list elisp-scope-unsafe-macros) macroexpand-all-environment))
|
||||||
(expanded (ignore-errors (macroexpand-1 form 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))
|
((or (functionp bare) (memq bare elisp-scope-local-functions))
|
||||||
(elisp-scope-report-s f 'function) (elisp-scope-n forms))
|
(elisp-scope-report-s f 'function) (elisp-scope-n forms))
|
||||||
(t
|
(t
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue