|
|
|
@ -133,7 +133,12 @@
|
|
|
|
|
while line do (funcall fi line)))
|
|
|
|
|
|
|
|
|
|
(defun strcat (&rest str)
|
|
|
|
|
(apply #'concatenate (cons 'string str)))
|
|
|
|
|
(apply #'concatenate (cons 'string (mapcar #'(lambda (x)
|
|
|
|
|
(typecase x
|
|
|
|
|
(string x)
|
|
|
|
|
(character (string x))
|
|
|
|
|
(t (write-to-string x))))
|
|
|
|
|
str))))
|
|
|
|
|
|
|
|
|
|
(defmacro until (stmt)
|
|
|
|
|
`(let ((ret nil))
|
|
|
|
@ -424,6 +429,7 @@
|
|
|
|
|
thing)))
|
|
|
|
|
|
|
|
|
|
(defmacro enable-all-readers ()
|
|
|
|
|
"Turn on reader macros"
|
|
|
|
|
'(eval-when (:compile-toplevel :load-toplevel :execute)
|
|
|
|
|
(push *readtable* *old-readtables*)
|
|
|
|
|
(setq *readtable* (copy-readtable))
|
|
|
|
@ -434,6 +440,7 @@
|
|
|
|
|
(set-macro-character #\~ 'top-level-reader))) ;"Run at compile,load and execute"
|
|
|
|
|
|
|
|
|
|
(defmacro disable-all-readers()
|
|
|
|
|
"Turn off reader macros"
|
|
|
|
|
'(eval-when (:compile-toplevel :load-toplevel :execute)
|
|
|
|
|
(setq *readtable* (pop *old-readtables*))))
|
|
|
|
|
|
|
|
|
|