1.0.48.13: SET-SYNTAX-FROM-CHAR and dispatch-macro characterness
[sbcl.git] / tests / reader.pure.lisp
index f0ba954..d5407e4 100644 (file)
                   (read-from-string "`#2A((,(1+ 0) 0) (0 0))")
                 (reader-error ()
                   :error)))))
+
+(with-test (:name set-syntax-from-char-dispatch-macro-char)
+  (let ((rt (copy-readtable)))
+    (make-dispatch-macro-character #\! nil rt)
+    (set-dispatch-macro-character #\! #\! (constantly 'bang^2) rt)
+    (flet ((maybe-bang ()
+             (let ((*readtable* rt))
+               (read-from-string "!!"))))
+      (assert (eq 'bang^2 (maybe-bang)))
+      (set-syntax-from-char #\! #\! rt)
+      (assert (eq '!! (maybe-bang))))))