Function: elisp-scope--analyze-condition-case-1
elisp-scope--analyze-condition-case-1 is a byte-compiled function
defined in elisp-scope.el.gz.
Signature
(elisp-scope--analyze-condition-case-1 VAR BODYFORM &rest HANDLERS)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(elisp-scope-define-special-form-analyzer condition-case (var bodyform &rest handlers)
(let* ((bare (bare-symbol var))
(beg (when (symbol-with-pos-p var) (symbol-with-pos-pos var)))
(l (elisp-scope--local-new bare beg elisp-scope-local-bindings)))
(when beg (elisp-scope--binding bare beg))
(elisp-scope-1 bodyform elisp-scope-output-spec)
(dolist (handler handlers)
(dolist (cond-name (ensure-list (car-safe handler)))
(when-let* ((cbeg (elisp-scope--sym-pos cond-name))
(cbare (elisp-scope--sym-bare cond-name))
(clen (length (symbol-name cbare))))
(cond
((booleanp cbare))
((keywordp cbare) (elisp-scope--report 'constant cbeg cbare))
(t (elisp-scope--report 'condition cbeg cbare)))))
(let ((elisp-scope-local-bindings l))
(elisp-scope-n (cdr handler) elisp-scope-output-spec)))))