dolist is a macro defined in subr.el.gz.
Signature
(dolist (VAR LIST [RESULT]) BODY...)
Documentation
Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
Then evaluate RESULT to get return value, default nil.
This macro has :around advice: cl--wrap-in-nil-block.
View in manual
References
References in subr.el.gz:
(defun map-keymap-sorted ...)
(defun keymap-canonicalize ...)
(defun run-mode-hooks ...)
(defun major-mode-restore ...)
(defun read-char-from-minibuffer ...)
(defvar y-or-n-p-map ...)
(defun activate-change-group ...)
(defun accept-change-group ...)
(defun cancel-change-group ...)
(defun remove-overlays ...)
(defun remove-yank-excluded-properties ...)
(defun do-after-load-evaluation ...)
(defun display-delayed-warnings ...)
(defun text-clone--maintain ...)
(defmacro dolist-with-progress-reporter ...)
(defun register-definition-prefixes ...)
(defun buffer-match-p ...)
(defun match-buffers ...)
Find all references Functions used by dolist
Advice
This macro is advised.
Debugging
Enable edebug Enable tracing
Disassemble Forget
Source Code
/usr/share/emacs/29.3/lisp/subr.el.gz
(defmacro dolist (spec &rest body)
"Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
Then evaluate RESULT to get return value, default nil.
\(fn (VAR LIST [RESULT]) BODY...)"
(declare (indent 1) (debug ((symbolp form &optional form) body)))
(unless (consp spec)
(signal 'wrong-type-argument (list 'consp spec)))
(unless (<= 2 (length spec) 3)
(signal 'wrong-number-of-arguments (list '(2 . 3) (length spec))))
(let ((tail (make-symbol "tail")))
`(let ((,tail ,(nth 1 spec)))
(while ,tail
(let ((,(car spec) (car ,tail)))
,@body
(setq ,tail (cdr ,tail))))
,@(cdr (cdr spec)))))
Symbol Properties
defalias-fset-function
#[128 "\304\300\301#\207"
[advice--defalias-fset nil :around nil apply]
5 advice]
Disassemble
edebug-form-spec
((symbolp form &optional form)
body)
function-documentation
(advice--make-docstring 'dolist)
lisp-indent-function
1