28 |
(in-package "SYSTEM") |
(in-package "SYSTEM") |
29 |
|
|
30 |
|
|
31 |
(eval-when (compile) (proclaim '(optimize (safety 2) (space 3)))) |
(eval-when (compile) (proclaim '(optimize (safety 1) (space 3)))) |
32 |
(eval-when (eval compile) (defun si:clear-compiler-properties (symbol))) |
(eval-when (eval compile) (defun si:clear-compiler-properties (symbol))) |
33 |
(eval-when (eval compile) (setq si:*inhibit-macro-special* nil)) |
(eval-when (eval compile) (setq si:*inhibit-macro-special* nil)) |
34 |
|
|
274 |
|
|
275 |
(defmacro dolist ((var form &optional (val nil)) &rest body |
(defmacro dolist ((var form &optional (val nil)) &rest body |
276 |
&aux (temp (gensym))) |
&aux (temp (gensym))) |
277 |
`(do* ((,temp ,form (cdr ,temp)) (,var (car ,temp) (car ,temp))) |
`(do* ((,temp ,form (cdr ,temp))) |
278 |
((endp ,temp) ,val) |
((not (consp ,temp)) (check-type ,temp null) ,val) |
279 |
,@body)) |
(let ((,var (car ,temp))) |
280 |
|
,@body))) |
281 |
|
|
282 |
;; In principle, a more complete job could be done here by trying to |
;; In principle, a more complete job could be done here by trying to |
283 |
;; capture fixnum type declarations from the surrounding context or |
;; capture fixnum type declarations from the surrounding context or |
344 |
,@(mapcar #'(lambda (x) `(proclaim ',x)) l))) |
,@(mapcar #'(lambda (x) `(proclaim ',x)) l))) |
345 |
|
|
346 |
(defmacro lambda ( &rest l) `(function (lambda ,@l))) |
(defmacro lambda ( &rest l) `(function (lambda ,@l))) |
347 |
|
|
348 |
(defmacro memq (a b) `(member ,a ,b :test 'eq)) |
(defmacro memq (a b) `(member ,a ,b :test 'eq)) |