Function: cl-do-symbols
cl-do-symbols is an autoloaded macro defined in cl-macs.el.gz.
Signature
(cl-do-symbols (VAR [OBARRAY [RESULT]]) BODY...)
Documentation
Loop over all symbols.
Evaluate BODY with VAR bound to each interned symbol, or to each symbol from OBARRAY.
Aliases
do-symbols (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;;###autoload
(defmacro cl-do-symbols (spec &rest body)
"Loop over all symbols.
Evaluate BODY with VAR bound to each interned symbol, or to each symbol
from OBARRAY.
\(fn (VAR [OBARRAY [RESULT]]) BODY...)"
(declare (indent 1)
(debug ((symbolp &optional form form) cl-declarations
def-body)))
;; Apparently this doesn't have an implicit block.
`(cl-block nil
(let (,(car spec))
(mapatoms #'(lambda (,(car spec)) ,@body)
,@(and (cadr spec) (list (cadr spec))))
,(nth 2 spec))))