Changeset 12380


Ignore:
Timestamp:
01/16/10 20:13:42 (11 years ago)
Author:
ehuelsmann
Message:

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

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java

    r12361 r12380  
    139139    (StructureClass)addClass(Symbol.STRUCTURE_OBJECT,
    140140             new StructureClass(Symbol.STRUCTURE_OBJECT, list(CLASS_T)));
     141
     142    /* All the stream classes below are being defined as structure classes
     143       but won't be available as such until further action is taken:
     144       the 'defstruct' internal administration is missing.
     145
     146       For STREAM and SYSTEM-STREAM, that bit is added in boot.lisp */
    141147
    142148  public static final LispClass STREAM =
  • trunk/abcl/src/org/armedbear/lisp/boot.lisp

    r12276 r12380  
    172172(load-system-file "require")
    173173(load-system-file "defstruct")
     174
     175;; The actual stream and system-stream classes
     176;; are created in BuiltInClass.java, however, that code does not
     177;; set up the structure internals correctly: we wouldn't be able
     178;; to :include the structure classes. Fix that here.
     179(defstruct (stream (:constructor nil)
     180                   (:copier nil)
     181                   (:predicate nil)))  ;; Predicate STREAMP defined elsewhere
     182(defstruct (system-stream (:include stream)
     183                          (:constructor nil)
     184                          (:copier nil)))
     185
    174186(load-system-file "restart")
    175187(load-system-file "late-setf")
Note: See TracChangeset for help on using the changeset viewer.