summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 3a32a2f6558..45cfb56bdc1 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -187,10 +187,13 @@ Then evaluate RESULT to get return value, default nil.
;; It would be cleaner to create an uninterned symbol,
;; but that uses a lot more space when many functions in many files
;; use dolist.
+ ;; FIXME: This cost disappears in byte-compiled lexical-binding files.
(let ((temp '--dolist-tail--))
`(let ((,temp ,(nth 1 spec))
,(car spec))
(while ,temp
+ ;; FIXME: In lexical-binding code, a `let' inside the loop might
+ ;; turn out to be faster than the an outside `let' this `setq'.
(setq ,(car spec) (car ,temp))
,@body
(setq ,temp (cdr ,temp)))