(multiple-value-bind (reader-fn non-terminating-p)
(get-macro-character #\" (copy-readtable nil))
(declare (ignore reader-fn))
- (assert (not non-terminating-p))))
\ No newline at end of file
+ (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)))))
+
+(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))))))