Improved strcat

master
Ringo Wantanabe 6 years ago
parent 0c47306d35
commit e0b3f4ef86
No known key found for this signature in database
GPG Key ID: DDDD9B6759158726

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

Loading…
Cancel
Save