[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