Function: elisp-scope-loop-for
elisp-scope-loop-for is a byte-compiled function defined in
elisp-scope.el.gz.
Signature
(elisp-scope-loop-for LOCAL VARS REST)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(defun elisp-scope-loop-for (local vars rest)
(if vars
;; FIXME: var need not be a symbol, see
;; `cl-macs-loop-destructure-cons' test in cl-macs-tests.el.
(let* ((var (car (ensure-list vars)))
(bare (bare-symbol var))
(beg (elisp-scope--sym-pos var)))
(when beg (elisp-scope--binding bare beg))
(elisp-scope-loop-for (elisp-scope--local-new bare beg local) (cdr-safe vars) rest))
(when-let* ((bare (elisp-scope--sym-bare (car rest)))
(more (cdr rest)))
(cond
((memq bare '(from upfrom downfrom))
(elisp-scope-loop-for-from local (car more) (cdr more)))
((memq bare '( to upto downto below above
in on in-ref))
(elisp-scope-loop-for-to local (car more) (cdr more)))
((memq bare '(by
across across-ref))
(elisp-scope-loop-for-by local (car more) (cdr more)))
((eq bare '=)
(elisp-scope-loop-for-= local (car more) (cdr more)))
((eq bare 'being)
(elisp-scope-loop-for-being local (car more) (cdr more)))))))