715 |
(let ((loop-for-bindings nil) (loop-for-sets nil) (loop-for-steps nil) |
(let ((loop-for-bindings nil) (loop-for-sets nil) (loop-for-steps nil) |
716 |
(ands nil)) |
(ands nil)) |
717 |
(while |
(while |
718 |
(let ((var (or (pop args) (make-symbol "--cl-var--")))) |
;; Use `gensym' rather than `make-symbol'. It's important that |
719 |
|
;; (not (eq (symbol-name var1) (symbol-name var2))) because |
720 |
|
;; these vars get added to the cl-macro-environment. |
721 |
|
(let ((var (or (pop args) (gensym "--cl-var--")))) |
722 |
(setq word (pop args)) |
(setq word (pop args)) |
723 |
(if (eq word 'being) (setq word (pop args))) |
(if (eq word 'being) (setq word (pop args))) |
724 |
(if (memq word '(the each)) (setq word (pop args))) |
(if (memq word '(the each)) (setq word (pop args))) |
1317 |
\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" |
\(fn ((FUNC ARGLIST BODY...) ...) FORM...)" |
1318 |
(let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment)) |
(let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment)) |
1319 |
(while bindings |
(while bindings |
1320 |
(let ((var (make-symbol "--cl-var--"))) |
;; Use `gensym' rather than `make-symbol'. It's important that |
1321 |
|
;; (not (eq (symbol-name var1) (symbol-name var2))) because these |
1322 |
|
;; vars get added to the cl-macro-environment. |
1323 |
|
(let ((var (gensym "--cl-var--"))) |
1324 |
(push var vars) |
(push var vars) |
1325 |
(push (list 'function* (cons 'lambda (cdar bindings))) sets) |
(push (list 'function* (cons 'lambda (cdar bindings))) sets) |
1326 |
(push var sets) |
(push var sets) |