diff options
| author | Richard M. Stallman | 2000-01-21 02:09:37 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2000-01-21 02:09:37 +0000 |
| commit | 992bd384fff4b0e40a75e14440dc1717fc7e502c (patch) | |
| tree | 564950f8945cd086776eb75882eb0a55047ca12d | |
| parent | a0b0756a7197bbf8984226d49e341494217c5913 (diff) | |
| download | emacs-992bd384fff4b0e40a75e14440dc1717fc7e502c.tar.gz emacs-992bd384fff4b0e40a75e14440dc1717fc7e502c.zip | |
(dolist, dotimes): Moved to subr.el.
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index af2d31cf216..70069d77eaf 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -1122,32 +1122,6 @@ Format is: (do* ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" | |||
| 1122 | (apply 'append sets))))))) | 1122 | (apply 'append sets))))))) |
| 1123 | (or (cdr endtest) '(nil))))) | 1123 | (or (cdr endtest) '(nil))))) |
| 1124 | 1124 | ||
| 1125 | (defmacro dolist (spec &rest body) | ||
| 1126 | "(dolist (VAR LIST [RESULT]) BODY...): loop over a list. | ||
| 1127 | Evaluate BODY with VAR bound to each `car' from LIST, in turn. | ||
| 1128 | Then evaluate RESULT to get return value, default nil." | ||
| 1129 | (let ((temp (gensym "--dolist-temp--"))) | ||
| 1130 | (list 'block nil | ||
| 1131 | (list* 'let (list (list temp (nth 1 spec)) (car spec)) | ||
| 1132 | (list* 'while temp (list 'setq (car spec) (list 'car temp)) | ||
| 1133 | (append body (list (list 'setq temp | ||
| 1134 | (list 'cdr temp))))) | ||
| 1135 | (if (cdr (cdr spec)) | ||
| 1136 | (cons (list 'setq (car spec) nil) (cdr (cdr spec))) | ||
| 1137 | '(nil)))))) | ||
| 1138 | |||
| 1139 | (defmacro dotimes (spec &rest body) | ||
| 1140 | "(dotimes (VAR COUNT [RESULT]) BODY...): loop a certain number of times. | ||
| 1141 | Evaluate BODY with VAR bound to successive integers from 0, inclusive, | ||
| 1142 | to COUNT, exclusive. Then evaluate RESULT to get return value, default | ||
| 1143 | nil." | ||
| 1144 | (let ((temp (gensym "--dotimes-temp--"))) | ||
| 1145 | (list 'block nil | ||
| 1146 | (list* 'let (list (list temp (nth 1 spec)) (list (car spec) 0)) | ||
| 1147 | (list* 'while (list '< (car spec) temp) | ||
| 1148 | (append body (list (list 'incf (car spec))))) | ||
| 1149 | (or (cdr (cdr spec)) '(nil)))))) | ||
| 1150 | |||
| 1151 | (defmacro do-symbols (spec &rest body) | 1125 | (defmacro do-symbols (spec &rest body) |
| 1152 | "(dosymbols (VAR [OBARRAY [RESULT]]) BODY...): loop over all symbols. | 1126 | "(dosymbols (VAR [OBARRAY [RESULT]]) BODY...): loop over all symbols. |
| 1153 | Evaluate BODY with VAR bound to each interned symbol, or to each symbol | 1127 | Evaluate BODY with VAR bound to each interned symbol, or to each symbol |