From: Stas Boukarev Date: Fri, 29 Apr 2011 13:33:40 +0000 (+0000) Subject: 1.0.47.31: set-macro-character shouldn't accept NIL as a function designator. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=8618d65c14901d6a5ef804355658f8b1d25fc2c5;p=sbcl.git 1.0.47.31: set-macro-character shouldn't accept NIL as a function designator. Use %coerce-callable-to-fun before passing it to sb-impl::set-cmt-entry, although set-cmt-entry calls %coerce-callable-to-fun, it does that only on non-nil values. --- diff --git a/src/code/reader.lisp b/src/code/reader.lisp index 6ae6ce4..4fd79a7 100644 --- a/src/code/reader.lisp +++ b/src/code/reader.lisp @@ -270,7 +270,8 @@ standard Lisp readtable when NIL." "Causes CHAR to be a macro character which invokes FUNCTION when seen by the reader. The NON-TERMINATINGP flag can be used to make the macro character non-terminating, i.e. embeddable in a symbol name." - (let ((designated-readtable (or rt-designator *standard-readtable*))) + (let ((designated-readtable (or rt-designator *standard-readtable*)) + (function (%coerce-callable-to-fun function))) (assert-not-standard-readtable designated-readtable 'set-macro-character) (set-cat-entry char (if non-terminatingp +char-attr-constituent+ diff --git a/version.lisp-expr b/version.lisp-expr index 5231d6b..155d55a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -20,4 +20,4 @@ ;;; 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.47.30" +"1.0.47.31"