0.8.10.82:
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 4 Jun 2004 13:52:12 +0000 (13:52 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 4 Jun 2004 13:52:12 +0000 (13:52 +0000)
        Another, really-a-bug variant of #328. Reported by Tony Martinez.

BUGS
version.lisp-expr

diff --git a/BUGS b/BUGS
index dff6252..f75671b 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1507,3 +1507,23 @@ WORKAROUND:
     imaginary part is the real part of the correct answer.
   (fixes for both of these were sent CSR sbcl-devel 2004-06-02, to be merged
    post-0.8.11)
+
+336: "slot-definitions must retain the generic functions of accessors"
+  reported by Tony Martinez:
+    (defclass foo () ((bar :reader foo-bar)))
+    (defun foo-bar (x) x)
+    (defclass foo () ((bar :reader get-bar))) ; => error, should work
+
+  Note: just punting the accessor removal if the fdefinition
+  is not a generic function is not enough:
+
+   (defclass foo () ((bar :reader foo-bar)))
+   (defvar *reader* #'foo-bar)
+   (defun foo-bar (x) x)
+   (defclass foo () ((bar :initform 'ok :reader get-bar)))
+   (funcall *reader* (make-instance 'foo)) ; should be an error, since
+                                           ; the method must be removed
+                                           ; by the class redefinition
+
+  Fixing this should also fix a subset of #328 -- update the
+  description with a new test-case then.
index 29f6bf5..c547f1d 100644 (file)
@@ -17,5 +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.10.81"
-
+"0.8.10.82"