From d08d197bc1fa24444b0a238ada1beb8cd3888b38 Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Sun, 18 Apr 2004 00:25:32 +0000 Subject: [PATCH] More TODOs --- ansi-tests/TODO | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ansi-tests/TODO b/ansi-tests/TODO index ab443df8..9d6caccf 100644 --- a/ansi-tests/TODO +++ b/ansi-tests/TODO @@ -33,3 +33,39 @@ Things to do to the test suite (not a complete list) 16. Test VECTOR-PUSH-EXTEND on displaced vectors, etc. (just like adjust-array; see 6.) + +17. Tests that have an argument that provides a return value for special + conditions (like eof) that happens to be the same as a normal value the + functions would return (suggested by CR). + +18. Add random tests for COERCE (the result either is either typep of the + second arg (except for rational stuff) or a type-error is signalled.) + +19. Add two missing tests from CLOS (spotted by Bruno Haible): + +;; Shared slot remains shared. +;; CLHS 4.3.6.: "The value of a slot that is specified as shared both in the old +;; class and in the new class is retained." +(multiple-value-bind (value condition) + (ignore-errors + (defclass foo74 () ((size :initarg :size :initform 1 :allocation :class))) + (setq i (make-instance 'foo74)) + (defclass foo74 () ((size :initarg :size :initform 2 :allocation :class) (other))) + (slot-value i 'size)) + (list value (type-of condition))) +Expected: (1 NULL) +Got: (2 NULL) + +(progn + (defclass foo92b (foo92a) ((s :initarg :s))) + (defclass foo92a () ()) + (let ((x (make-instance 'foo92b :s 5)) (update-counter 0)) + (defclass foo92b (foo92a) ((s) (s1) (s2))) ; still subclass of foo92a + (slot-value x 's) + (defmethod update-instance-for-redefined-class ((object foo92b) added-slots discarded-slots property-list &rest initargs) + (incf update-counter)) + (make-instances-obsolete 'foo92a) + (slot-value x 's) + update-counter)) +Expected: 1 +Got: 0 -- GitLab