From: Christophe Rhodes Date: Sat, 1 Jan 2005 21:34:34 +0000 (+0000) Subject: 0.8.18.10: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=584a5ce8c0dfa22afe480df3e860060f95e53bc3;p=sbcl.git 0.8.18.10: Fix FORMATTER.COND.7 and similar; ... ~V[ uses only one argument to determine which clause (unless the argument is NIL, of course) --- diff --git a/NEWS b/NEWS index cc8769e..b788a54 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,9 @@ changes in sbcl-0.8.19 relative to sbcl-0.8.18: produces an error. (thanks to Vincent Arkesteijn) * bug fix: NAMESTRING on pathnames with :WILD components in their directories works correctly. (thanks to Artem V. Andreev) + * fixed some bugs revealed by Paul Dietz' test suite: + ** the FORMATTER-generated functions for ~V[ conditionals require + the correct number of arguments. changes in sbcl-0.8.18 relative to sbcl-0.8.17: * new feature: reloading changed shared object files with diff --git a/src/code/late-format.lisp b/src/code/late-format.lisp index d758b0d..88ff777 100644 --- a/src/code/late-format.lisp +++ b/src/code/late-format.lisp @@ -792,9 +792,10 @@ (error 'format-error :complaint "must specify exactly two sections")) - (expand-bind-defaults ((index (expand-next-arg))) params + (expand-bind-defaults ((index nil)) params (setf *only-simple-args* nil) - (let ((clauses nil)) + (let ((clauses nil) + (case `(or ,index ,(expand-next-arg)))) (when last-semi-with-colon-p (push `(t ,@(expand-directive-list (pop sublists))) clauses)) @@ -803,7 +804,7 @@ (push `(,(decf count) ,@(expand-directive-list sublist)) clauses))) - `(case ,index ,@clauses))))) + `(case ,case ,@clauses))))) remaining))) (defun parse-conditional-directive (directives) diff --git a/version.lisp-expr b/version.lisp-expr index 58be0a4..177d582 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.18.9" +"0.8.18.10"