Skip to content

Commit

Permalink
1.0.23.57: rewrite bug 217
Browse files Browse the repository at this point in the history
 * Case A is a non-issue. SBCL interprets "unpredictable but harmless"
   to mean "anything, but heap will no be corrupted, data lost, etc"
   -- that is, an error may or may not be signalled, but it the lisp
   session will remain sane and operable.

 * Case B is negated by the portability argument: since specifying both
   is unspecified, we should not build useful-seeming extensions on top
   of it, as it will only create portability problems for users.

 * Case C remains partially valid, except for the runtime WARNINGs.
   Integrated into the new text.
  • Loading branch information
nikodemus committed Dec 19, 2008
1 parent bc29777 commit 46ca19e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 16 deletions.
23 changes: 8 additions & 15 deletions BUGS
Original file line number Diff line number Diff line change
Expand Up @@ -606,21 +606,14 @@ WORKAROUND:
can erroneously return T.

215: ":TEST-NOT handling by functions"
a. FIND and POSITION currently signal errors when given non-NIL for
both their :TEST and (deprecated) :TEST-NOT arguments, but by
ANSI 17.2 "the consequences are unspecified", which by ANSI 1.4.2
means that the effect is "unpredictable but harmless". It's not
clear what that actually means; it may preclude conforming
implementations from signalling errors.
b. COUNT, REMOVE and the like give priority to a :TEST-NOT argument
when conflict occurs. As a quality of implementation issue, it
might be preferable to treat :TEST and :TEST-NOT as being in some
sense the same &KEY, and effectively take the first test function in
the argument list.
c. Again, a quality of implementation issue: it would be good to issue a
STYLE-WARNING at compile-time for calls with :TEST-NOT, and a
WARNING for calls with both :TEST and :TEST-NOT; possibly this
latter should be WARNed about at execute-time too.

We should verify that our handling of :TEST-NOT and :TEST is consistent
for all functions that accept them: that is, signal an error if both
are specified.

Similarly, a compile-time full warning for calls with both would be good.

We might also consider a compile-time style warning for :TEST-NOT.

216: "debugger confused by frames with invalid number of arguments"
In sbcl-0.7.8.51, executing e.g. (VECTOR-PUSH-EXTEND T), BACKTRACE, Q
Expand Down
2 changes: 1 addition & 1 deletion version.lisp-expr
Original file line number Diff line number Diff line change
Expand Up @@ -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".)
"1.0.23.56"
"1.0.23.57"

0 comments on commit 46ca19e

Please sign in to comment.