projects
/
clnl
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prims - Implement set-default-shape
[clnl]
/
src
/
main
/
lex.lisp
diff --git
a/src/main/lex.lisp
b/src/main/lex.lisp
index 9433b55632fed979618724bd2e3c2df4ea693d6d..0adeb7d2b4323faf794ce688f53ce08ab142fa22 100644
(file)
--- a/
src/main/lex.lisp
+++ b/
src/main/lex.lisp
@@
-107,7
+107,15
@@
DESCRIPTION:
(if (numberp num?) num? (error "Invalid number")))))
(deflex :initial (format nil "~A*" *identifier-char*) #'as-symbol)
(if (numberp num?) num? (error "Invalid number")))))
(deflex :initial (format nil "~A*" *identifier-char*) #'as-symbol)
-(deflex :initial (format nil "\"~A*\"" *string-text*) #'identity)
+(deflex :initial (format nil "\"~A*\"" *string-text*)
+ ; While this shouldn't let harmful strings in,
+ ; one can't be too careful
+ (lambda (text)
+ (let
+ ((*readtable* (copy-readtable nil))
+ (*read-eval* nil))
+ (read-from-string text))))
+
(deflex :initial (format nil "\"~A*" *string-text*)
(lambda (text) (declare (ignore text)) (error "Closing double quote is missing")))
;(deflex :initial "." (lambda (text) (error "Non standard character is not allowed")))
(deflex :initial (format nil "\"~A*" *string-text*)
(lambda (text) (declare (ignore text)) (error "Closing double quote is missing")))
;(deflex :initial "." (lambda (text) (error "Non standard character is not allowed")))