From e0b3f4ef860b4b41da65ad003eee66e3fb08ee9e Mon Sep 17 00:00:00 2001 From: Ringo Wantanabe Date: Sat, 16 Feb 2019 02:24:00 +0000 Subject: [PATCH] Improved strcat --- utils.lisp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utils.lisp b/utils.lisp index 04cbaee..3525086 100644 --- a/utils.lisp +++ b/utils.lisp @@ -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*))))