From: Nikodemus Siivola Date: Thu, 20 May 2004 14:34:17 +0000 (+0000) Subject: 0.8.10.39: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=febd370c0e4a2f18cac9e4ccb0a16022ac6fc298;p=sbcl.git 0.8.10.39: Merged patch by Zach Beane (sbcl-devel 2004-05-19) that fixes a format-error during reporting of invalid slot specification errors. ... And a regression test. --- diff --git a/NEWS b/NEWS index ef155ee..e0e20f7 100644 --- a/NEWS +++ b/NEWS @@ -2403,6 +2403,8 @@ changes in sbcl-0.8.11 relative to sbcl-0.8.10: SB-EXT:INHIBIT-WARNINGS OPTIMIZE quality. See the manual for documentation on this feature. The SB-EXT:INHIBIT-WARNINGS quality should be considered deprecated. + * fixed bug: Invalid slot specification errors now print correctly. + (thanks to Zach Beane) * fixed bug 320: Shared to local slot value transfers in class redefinitions now happen corrently from superclasses as well. (reported by Bruno Haible) diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index ddd3f0a..87b2c1e 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -213,7 +213,7 @@ :format-control "~@" :format-arguments (list class-name spec `(,(car spec) :initform ,(cadr spec))))) diff --git a/tests/clos.pure.lisp b/tests/clos.pure.lisp index a6a032d..b110f27 100644 --- a/tests/clos.pure.lisp +++ b/tests/clos.pure.lisp @@ -27,3 +27,15 @@ :no-lambda-list) (push gf collect))))) (print (nreverse collect))))) + +;;; Regressing test for invalid slot specification error printing +(multiple-value-bind (value err) + (ignore-errors (macroexpand '(defclass foo () (frob (frob bar))))) + (declare (ignore value)) + (assert (typep err 'simple-condition)) + (multiple-value-bind (value format-err) + (ignore-errors (apply #'format nil + (simple-condition-format-control err) + (simple-condition-format-arguments err))) + (declare (ignore value)) + (assert (not format-err)))) diff --git a/version.lisp-expr b/version.lisp-expr index e899881..806d61a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,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".) -"0.8.10.38" +"0.8.10.39"