[armedbear-cvs] r12380 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Sat Jan 16 20:13:48 UTC 2010


Author: ehuelsmann
Date: Sat Jan 16 15:13:42 2010
New Revision: 12380

Log:
Add internal DEFSTRUCT administration to the STREAM and SYSTEM-STREAM types.

Modified:
   trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java
   trunk/abcl/src/org/armedbear/lisp/boot.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java	Sat Jan 16 15:13:42 2010
@@ -139,6 +139,12 @@
     (StructureClass)addClass(Symbol.STRUCTURE_OBJECT,
              new StructureClass(Symbol.STRUCTURE_OBJECT, list(CLASS_T)));
 
+    /* All the stream classes below are being defined as structure classes
+       but won't be available as such until further action is taken:
+       the 'defstruct' internal administration is missing.
+
+       For STREAM and SYSTEM-STREAM, that bit is added in boot.lisp */
+
   public static final LispClass STREAM =
     addClass(Symbol.STREAM,
              new StructureClass(Symbol.STREAM, list(STRUCTURE_OBJECT)));

Modified: trunk/abcl/src/org/armedbear/lisp/boot.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/boot.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/boot.lisp	Sat Jan 16 15:13:42 2010
@@ -171,6 +171,18 @@
 
 (load-system-file "require")
 (load-system-file "defstruct")
+
+;; The actual stream and system-stream classes
+;; are created in BuiltInClass.java, however, that code does not
+;; set up the structure internals correctly: we wouldn't be able
+;; to :include the structure classes. Fix that here.
+(defstruct (stream (:constructor nil)
+                   (:copier nil)
+                   (:predicate nil)))  ;; Predicate STREAMP defined elsewhere
+(defstruct (system-stream (:include stream)
+                          (:constructor nil)
+                          (:copier nil)))
+
 (load-system-file "restart")
 (load-system-file "late-setf")
 (load-system-file "debug")




More information about the armedbear-cvs mailing list