;;;; -*- coding: utf-8; fill-column: 78 -*-
+changes relative to sbcl-1.0.34:
+ * bug fix: GET-MACRO-CHARACTER bogusly computed its second return value
+ always relative to *READTABLE* rather than the passed argument.
+
changes in sbcl-1.0.34 relative to sbcl-1.0.33:
* minor incompatible change: threading support is now enabled by default
on x86[-64] Linux.
(values fun-value
;; NON-TERMINATING-P return value:
(if fun-value
- (or (constituentp char)
- (not (terminating-macrop char)))
+ (or (constituentp char designated-readtable)
+ (not (terminating-macrop char designated-readtable)))
;; ANSI's definition of GET-MACRO-CHARACTER says this
;; value is NIL when CHAR is not a macro character.
;; I.e. this value means not just "non-terminating
(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))))
\ No newline at end of file
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.34.2"
+"1.0.34.3"