199 |
)))) |
)))) |
200 |
|
|
201 |
(defun dm-v (v init) |
(defun dm-v (v init) |
202 |
(if (symbolp v) |
(cond ((symbolp v) (push (if init (list v init) v) *dl*)) |
203 |
(push (if init (list v init) v) *dl*) |
((consp v) (let* ((w (eq (car v) '&whole)) |
204 |
(let* ((w (eq (car v) '&whole)) |
(temp (if w (cadr v) (gensym))) |
205 |
(temp (if w (cadr v) (gensym))) |
(v (if w (cddr v) v))) |
206 |
(v (if w (cddr v) v))) |
(push (if init (list temp init) temp) *dl*) |
207 |
(push (if init (list temp init) temp) *dl*) |
(dm-vl v temp nil))) |
208 |
(dm-vl v temp nil)))) |
(t (error "Bad defmacro argument: ~s" v)))) |
209 |
|
|
210 |
(defun dm-nth (n v) |
(defun dm-nth (n v) |
211 |
(multiple-value-bind (q r) (floor n 4) |
(multiple-value-bind (q r) (floor n 4) |