X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Freader.pure.lisp;h=f0ba954b9f407492b3abe6badd6f0cf7ab926f3a;hb=0a15b6bbf9d5d3a64b5ac08bb96b6e5ec221d2ae;hp=62bd0002bdf58abe0532fe9c116e4e893069c563;hpb=c364434c07423e4b033f286397667b3fe0310e97;p=sbcl.git diff --git a/tests/reader.pure.lisp b/tests/reader.pure.lisp index 62bd000..f0ba954 100644 --- a/tests/reader.pure.lisp +++ b/tests/reader.pure.lisp @@ -238,3 +238,27 @@ (let ((*readtable* (copy-readtable))) (set-syntax-from-char #\7 #\Space) (assert (string= (format nil "~7D" 1) " 1"))) + +(let ((symbol (find-symbol "DOES-NOT-EXIST" "CL-USER"))) + (assert (null symbol)) + (handler-case + (read-from-string "CL-USER:DOES-NOT-EXIST") + (reader-error (c) + (princ c)))) + +;;; The GET-MACRO-CHARACTER in SBCL <= "1.0.34.2" bogusly computed its +;;; second return value relative to *READTABLE* rather than the passed +;;; readtable. +(let* ((*readtable* (copy-readtable nil))) + (set-syntax-from-char #\" #\A) + (multiple-value-bind (reader-fn non-terminating-p) + (get-macro-character #\" (copy-readtable nil)) + (declare (ignore reader-fn)) + (assert (not non-terminating-p)))) + +(with-test (:name :bug-309093) + (assert (eq :error + (handler-case + (read-from-string "`#2A((,(1+ 0) 0) (0 0))") + (reader-error () + :error)))))