[Ecls-list] ECL + ContextL?

Alexander Gavrilov angavrilov at gmail.com
Mon Nov 2 08:06:04 UTC 2009


There seems to be a bug in slot access: the +the-standard-class+
constant is NIL because of a typo. Haven't tested the change yet,
though.

Also, class-slot-table is actually called simply slot-table.
---
 src/clos/boot.lsp     |    4 ++--
 src/clos/standard.lsp |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/clos/boot.lsp b/src/clos/boot.lsp
index 0055b75..053b1fe 100644
--- a/src/clos/boot.lsp
+++ b/src/clos/boot.lsp
@@ -98,7 +98,7 @@
   ;; 5) Generate accessors (In macros.lsp)
 )
 
-(defconstant +the-standard-class+ (find-class 'standard nil))
+(defconstant +the-standard-class+ (find-class 'standard-class nil))
 
 (defmethod class-prototype ((class class))
   (unless (slot-boundp class 'prototype)
@@ -115,7 +115,7 @@
 (defun find-slot-definition (class slot-name)
   (declare (si::c-local))
   (if (eq (si:instance-class class) +the-standard-class+)
-      (gethash (class-slot-table class) slot-name nil)
+      (gethash (slot-table class) slot-name nil)
       (find slot-name (class-slots class) :key #'slot-definition-name)))
 
 (defun slot-value (self slot-name)
diff --git a/src/clos/standard.lsp b/src/clos/standard.lsp
index 20d873d..8b9de33 100644
--- a/src/clos/standard.lsp
+++ b/src/clos/standard.lsp
@@ -204,7 +204,7 @@ argument was supplied for metaclass ~S." (class-of class))))))))
 (defun find-slot-definition (class slot-name)
   (declare (si::c-local))
   (if (eq (si:instance-class class) +the-standard-class+)
-      (gethash (class-slot-table class) slot-name nil)
+      (gethash (slot-table class) slot-name nil)
       (find slot-name (class-slots class) :key #'slot-definition-name)))
 
 (defmethod finalize-inheritance ((class class))
-- 
1.6.2.5





More information about the ecl-devel mailing list