From: William H. N. <wn...@us...> - 2002-09-02 03:18:10
|
Update of /cvsroot/sbcl/sbcl In directory usw-pr-cvs1:/tmp/cvs-serv22603 Modified Files: BUGS package-data-list.lisp-expr version.lisp-expr Log Message: 0.7.7.10: got rid of SB-PCL::PROCESS-LAMBDA-LIST in favor of reusing PARSE-LAMBDA-LIST Why is PARSE-LAMBDA-LIST in SB-KERNEL? Move it to SB-INT. Now that we rely on ordinary PARSE-LAMBDA-LIST to catch some of the things Alexey's PROCESS-LAMBDA-LIST caught, it should be a little less credulous about things like non-symbols being used as var names. Argh! PARSE-LAMBDA-LIST isn't just used for lambda lists. That would be too obvious.:-( Instead it's also used for "lambda-list-like" things, in PARSE-ARGS-TYPES. So... ...Split the no-sanity-checking version of P-L-L into PARSE-LAMBDA-LIST-LIKE-THING. ...Make PARSE-ARGS-TYPES call P-L-L-L-THING. ...Define PARSE-LAMBDA-LIST in terms of P-L-L-L-THING. ANSI: MAX and MIN "should signal an error of type TYPE-ERROR if any NUMBER is not a REAL". lrasinen on #lisp: "stupid CMUCL". me: "gotta fix this so SBCL can win ICFP next year". (afterthought: "or this year, if you check this patched version out of CVS and then code really fast":-) (extra afterthought: "or maybe next year after all, since bug 194 seems to keep the new THEs from solving the problem") Index: BUGS =================================================================== RCS file: /cvsroot/sbcl/sbcl/BUGS,v retrieving revision 1.179 retrieving revision 1.180 diff -u -d -r1.179 -r1.180 --- BUGS 31 Aug 2002 09:52:16 -0000 1.179 +++ BUGS 2 Sep 2002 03:18:07 -0000 1.180 @@ -1349,6 +1349,14 @@ error message stays the same (even BACKTRACE doesn't tell you what the bad argument value is). +194: "no error from (THE REAL '(1 2 3)) in some cases" + In sbcl-0.7.7.9, + (multiple-value-prog1 (progn (the real '(1 2 3)))) + returns (1 2 3) instead of signalling an error. Also in sbcl-0.7.7.9, + a more complicated instance of this bug kept + (IGNORE-ERRORS (MIN '(1 2 3))) from returning NIL as it should when + the MIN source transform expanded to (THE REAL '(1 2 3)), because + (IGNORE-ERRORS (THE REAL '(1 2 3))) returns (1 2 3). DEFUNCT CATEGORIES OF BUGS IR1-#: Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.172 retrieving revision 1.173 diff -u -d -r1.172 -r1.173 --- package-data-list.lisp-expr 1 Sep 2002 22:34:17 -0000 1.172 +++ package-data-list.lisp-expr 2 Sep 2002 03:18:07 -0000 1.173 @@ -833,7 +833,7 @@ "WHITESPACE-CHAR-P" "LISTEN-SKIP-WHITESPACE" "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT" - "PARSE-BODY" + "PARSE-BODY" "PARSE-LAMBDA-LIST" "PARSE-LAMBDA-LIST-LIKE-THING" "PROPER-LIST-OF-LENGTH-P" "LIST-OF-LENGTH-AT-LEAST-P" "LIST-WITH-LENGTH-P" @@ -1163,7 +1163,7 @@ "PACKAGE-DOC-STRING" "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE" "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS" - "PARSE-DEFMACRO" "PARSE-LAMBDA-LIST" "PARSE-UNKNOWN-TYPE" + "PARSE-DEFMACRO" "PARSE-UNKNOWN-TYPE" "PARSE-UNKNOWN-TYPE-SPECIFIER" "PATHNAME-DESIGNATOR" #+x86 "*PSEUDO-ATOMIC-ATOMIC*" #+x86 "*PSEUDO-ATOMIC-INTERRUPTED*" Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.520 retrieving revision 1.521 diff -u -d -r1.520 -r1.521 --- version.lisp-expr 1 Sep 2002 22:34:17 -0000 1.520 +++ version.lisp-expr 2 Sep 2002 03:18:08 -0000 1.521 @@ -18,4 +18,4 @@ ;;; for internal versions, especially for internal versions off the ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.7.9" +"0.7.7.10" |