Update of /cvsroot/sbcl/sbcl/tests
In directory sc8-pr-cvs1:/tmp/cvs-serv4630/tests
Modified Files:
clos.impure.lisp compiler.pure.lisp
Log Message:
0.8alpha.0.28:
Fix bug 47d (DEFGENERIC must signal PROGRAM-ERROR when
attempting to create a generic function with the same name as a
special operator).
... sounds easy, huh? No.
... make COMPILER-ERROR not inherit from ERROR any more, so that
user handlers don't (wrongly) claim to handle it;
... establish a handler for COMPILER-ERROR around the evaluator
that delegates to the compiler handlers if present, but
handles them itself if not...
... by signalling an error from a new internal restart, to allow
user handlers for ERROR and friends a chance to run.
Index: clos.impure.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tests/clos.impure.lisp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- clos.impure.lisp 24 Apr 2003 15:22:52 -0000 1.34
+++ clos.impure.lisp 13 May 2003 13:55:31 -0000 1.35
@@ -320,7 +320,9 @@
(assert-program-error (defclass foo008 ()
(a :initarg :a)
(:default-initargs :a 1)
- (:default-initargs :a 2))))
+ (:default-initargs :a 2)))
+ ;; and also BUG 47d, fixed in sbcl-0.8alpha.0.26
+ (assert-program-error (defgeneric if (x))))
;;; DOCUMENTATION's argument-precedence-order wasn't being faithfully
;;; preserved through the bootstrap process until sbcl-0.7.8.39.
Index: compiler.pure.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tests/compiler.pure.lisp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- compiler.pure.lisp 7 May 2003 11:19:00 -0000 1.34
+++ compiler.pure.lisp 13 May 2003 13:55:31 -0000 1.35
@@ -75,16 +75,16 @@
;;; another LET-related bug fixed by Alexey Dejneka at the same
;;; time as bug 112
-(multiple-value-bind (value error)
- (ignore-errors
- ;; should complain about duplicate variable names in LET binding
- (compile nil
- '(lambda ()
- (let (x
- (x 1))
- (list x)))))
- (assert (null value))
- (assert (typep error 'error)))
+(multiple-value-bind (fun warnings-p failure-p)
+ ;; should complain about duplicate variable names in LET binding
+ (compile nil
+ '(lambda ()
+ (let (x
+ (x 1))
+ (list x))))
+ (declare (ignore warnings-p))
+ (assert (functionp fun))
+ (assert failure-p))
;;; bug 169 (reported by Alexey Dejneka 2002-05-12, fixed by David
;;; Lichteblau 2002-05-21)
|