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.

View in manual

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))))