From: Christophe R. <cr...@us...> - 2003-06-11 09:12:17
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1:/tmp/cvs-serv10422 Modified Files: BUGS NEWS version.lisp-expr Log Message: 0.8.0.62: Better error reporting for bad types: ... signal a simple-error on bare AND, OR, MEMBER or VALUES. ... when within the compiler, handle argument count mismatch errors within CAREFUL-[VALUES-]SPECIFIER-TYPE. ... (DEFTYPE FOO () 'FIXNUM) (TYPEP 11 'FOO) (TYPEP 11 '(FOO)) is legal. Index: BUGS =================================================================== RCS file: /cvsroot/sbcl/sbcl/BUGS,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- BUGS 10 Jun 2003 06:48:57 -0000 1.303 +++ BUGS 11 Jun 2003 09:11:42 -0000 1.304 @@ -108,23 +108,6 @@ Perhaps any number of such consecutive lines ought to turn into a single "compiling top-level forms:" line. -10: - The way that the compiler munges types with arguments together - with types with no arguments (in e.g. TYPE-EXPAND) leads to - weirdness visible to the user: - (DEFTYPE FOO () 'FIXNUM) - (TYPEP 11 'FOO) => T - (TYPEP 11 '(FOO)) => T, which seems weird - (TYPEP 11 'FIXNUM) => T - (TYPEP 11 '(FIXNUM)) signals an error, as it should - The situation is complicated by the presence of Common Lisp types - like UNSIGNED-BYTE (which can either be used in list form or alone) - so I'm not 100% sure that the behavior above is actually illegal. - But I'm 90+% sure, and the following related behavior, - (TYPEP 11 'AND) => T - treating the bare symbol AND as equivalent to '(AND), is specifically - forbidden (by the ANSI specification of the AND type). - 11: It would be nice if the caught ERROR: @@ -207,13 +190,6 @@ so they could be supported after all. Very likely SIGCONTEXT-FLOATING-POINT-MODES could now be supported, too. -43: - (as discussed by Douglas Crosher on the cmucl-imp mailing list ca. - Aug. 10, 2000): CMUCL currently interprets 'member as '(member); same - issue with 'union, 'and, 'or etc. So even though according to the - ANSI spec, bare 'MEMBER, 'AND, and 'OR are not legal types, CMUCL - (and now SBCL) interpret them as legal types. - 45: a slew of floating-point-related errors reported by Peter Van Eynde on July 25, 2000: @@ -381,7 +357,7 @@ As a workaround for the problem, #'(SETF FOO) expressions can be replaced with (EFFICIENT-SETF-FUNCTION FOO), where (defmacro efficient-setf-function (place-function-name) - (or #+sbcl (and (sb-impl::info :function :accessor-for place-function-name) + (or #+sbcl (and (sb-int:info :function :accessor-for place-function-name) ;; a workaround for the problem, encouraging the ;; inline expansion of the structure accessor, so ;; that the compiler can optimize its type test @@ -1075,14 +1051,6 @@ 245: bugs in disassembler a. On X86 an immediate operand for IMUL is printed incorrectly. b. On X86 operand size prefix is not recognized. - -246: "NTH-VALUE scaling problem" - NTH-VALUE's current implementation for constant integers scales in - compile-time as O(n^4), as indeed must the optional dispatch - mechanism on which it is implemented. While it is unlikely to - matter in real user code, it's still unpleasant to observe that - (NTH-VALUE 1000 (VALUES-LIST (MAKE-LIST 1001))) takes several hours - to compile. 248: "reporting errors in type specifier syntax" (TYPEP 1 '(SYMBOL NIL)) says something about "unknown type Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.334 retrieving revision 1.335 diff -u -d -r1.334 -r1.335 --- NEWS 11 Jun 2003 05:53:59 -0000 1.334 +++ NEWS 11 Jun 2003 09:11:42 -0000 1.335 @@ -1802,7 +1802,9 @@ * bug fix: defining a generic function with a :METHOD-CLASS being a subclass of STANDARD-METHOD no longer causes stack exhaustion. (thanks to Gerd Moellmann) - * increased compilation speed of long MULTIPLE-VALUES-BIND. + * fixed bug 246: increased compilation speed of long + MULTIPLE-VALUE-BIND (and likewise of NTH-VALUE with a constant + integer argument). * a contributed module implementing COMPILER-LET and MACROEXPAND-ALL has been included. * DEFCONSTANT now throws a condition of type @@ -1815,6 +1817,11 @@ Raymond Toy) * bug fix: in macro-like defining macros/special operators the implicit block does not enclose lambda list. + * fixed bugs 10 and 43: VALUES, AND, OR and MEMBER are not suitable as + atomic type specifiers, and their use properly signals an error now. + * bug fix: an argument count mismatch for a type specifier in code + being compiled no longer causes an unhandled error at compile + time, but signals a compile-time warning. * fixed some bugs revealed by Paul Dietz' test suite: ** NIL is now allowed as a structure slot name. ** arbitrary numbers, not just reals, are allowed in certain Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1050 retrieving revision 1.1051 diff -u -d -r1.1050 -r1.1051 --- version.lisp-expr 11 Jun 2003 05:53:59 -0000 1.1050 +++ version.lisp-expr 11 Jun 2003 09:11:43 -0000 1.1051 @@ -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.0.61" +"0.8.0.62" |