diff --git a/sources/DIRECTORY b/sources/DIRECTORY
index b5067edf..7bb1bf2e 100644
--- a/sources/DIRECTORY
+++ b/sources/DIRECTORY
@@ -1,16 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "29-Mar-2022 10:53:16" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>DIRECTORY.;15 28665  
+(FILECREATED " 6-Nov-2025 00:13:55" {WMEDLEY}<sources>DIRECTORY.;17 28439  
 
-      :CHANGES-TO (FNS DIRECTORY)
+      :EDIT-BY rmk
 
-      :PREVIOUS-DATE "29-Mar-2022 08:29:33" 
-{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>DIRECTORY.;14)
+      :CHANGES-TO (VARS DIRCOMMANDS)
 
+      :PREVIOUS-DATE "22-Oct-2025 22:07:27" {WMEDLEY}<sources>DIRECTORY.;16)
 
-(* ; "
-Copyright (c) 1986-1988, 1990, 1992 by Venue & Xerox Corporation.
-")
 
 (PRETTYCOMPRINT DIRECTORYCOMS)
 
@@ -419,7 +416,7 @@ Copyright (c) 1986-1988, 1990, 1992 by Venue & Xerox Corporation.
         DELETE
         (DELETE? PROMPT " delete? " DELETE)
         DELETED
-        (LE LENGTH "(" BYTESIZE ")")
+        (LE . LENGTH)
         NEWERTHAN OLDVERSIONS (OLD OLDERTHAN 90)
         OLDERTHAN
         (OU . OUT)
@@ -463,12 +460,11 @@ Copyright (c) 1986-1988, 1990, 1992 by Venue & Xerox Corporation.
 (GLOBALVARS DIRCOMMANDS ASKUSERTTBL FILEINFOTYPES)
 )
 )
-(PUTPROPS DIRECTORY COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1992))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1325 27144 (DODIR 1335 . 1882) (FILDIR 1884 . 2164) (DIRECTORY 2166 . 12883) (
-DIRECTORY.PARSE 12885 . 14179) (DIRECTORY.FILL.PATTERN 14181 . 14711) (DIRCONJ 14713 . 14933) (
-DIRECTORY.NEXTFILE 14935 . 15528) (DMATCH 15530 . 15905) (DIRECTORY.MATCH.SETUP 15907 . 16441) (
-DIRECTORY.MATCH 16443 . 16860) (DIRECTORY.MATCH1 16862 . 18975) (DODIRCOMMANDS 18977 . 24447) (
-DIRPRINTNAME 24449 . 25865) (DPRIN1 25867 . 25952) (DIRFILENAME 25954 . 26675) (DIRGETFILEINFO 26677
- . 26829) (DREAD 26831 . 27142)))))
+  (FILEMAP (NIL (1200 27019 (DODIR 1210 . 1757) (FILDIR 1759 . 2039) (DIRECTORY 2041 . 12758) (
+DIRECTORY.PARSE 12760 . 14054) (DIRECTORY.FILL.PATTERN 14056 . 14586) (DIRCONJ 14588 . 14808) (
+DIRECTORY.NEXTFILE 14810 . 15403) (DMATCH 15405 . 15780) (DIRECTORY.MATCH.SETUP 15782 . 16316) (
+DIRECTORY.MATCH 16318 . 16735) (DIRECTORY.MATCH1 16737 . 18850) (DODIRCOMMANDS 18852 . 24322) (
+DIRPRINTNAME 24324 . 25740) (DPRIN1 25742 . 25827) (DIRFILENAME 25829 . 26550) (DIRGETFILEINFO 26552
+ . 26704) (DREAD 26706 . 27017)))))
 STOP
diff --git a/sources/DIRECTORY.LCOM b/sources/DIRECTORY.LCOM
index 0348d4da..579f3e1b 100644
Binary files a/sources/DIRECTORY.LCOM and b/sources/DIRECTORY.LCOM differ
diff --git a/sources/XCL-EXTRAS b/sources/XCL-EXTRAS
index 1312a13b..97655218 100644
--- a/sources/XCL-EXTRAS
+++ b/sources/XCL-EXTRAS
@@ -1,13 +1,14 @@
-(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "XCL")
-(IL:FILECREATED "18-May-90 01:15:40" IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;2| 15315  
+(DEFINE-FILE-INFO PACKAGE "XEROX-COMMON-LISP" READTABLE "XCL" BASE 10)
 
-      IL:|changes| IL:|to:|  (IL:VARS IL:XCL-EXTRASCOMS)
+(IL:FILECREATED "11-Dec-2025 22:27:58" IL:|{DSK}<home>matt>Interlisp>medley>sources>XCL-EXTRAS.;2| 15547  
 
-      IL:|previous| IL:|date:| "11-Jan-88 16:59:17" 
-IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
+      :EDIT-BY "mth"
 
+      :CHANGES-TO (IL:FUNCTIONS DEFINE-RECORD)
+
+      :PREVIOUS-DATE "18-May-90 01:15:40" IL:|{DSK}<home>matt>Interlisp>medley>sources>XCL-EXTRAS.;1|
+)
 
-; Copyright (c) 1987, 1988, 1990 by Venue & Xerox Corporation.  All rights reserved.
 
 (IL:PRETTYCOMPRINT IL:XCL-EXTRASCOMS)
 
@@ -145,8 +146,7 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
                                                                  IL:*INTERLISP-PACKAGE*))
                                      (COLLECT KEYWORD-SYMBOL)
                                      (IF (NOT (MEMBER KEYWORD-SYMBOL '(IL:USING IL:COPYING
-                                                                         IL:REUSING IL:SMASHING
-                                                                       )
+                                                                         IL:REUSING IL:SMASHING)
                                                      :TEST
                                                      #'EQ))
                                          (COLLECT 'IL:_))
@@ -162,12 +162,12 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
 
 
 (DEFDEFINER DEFINE-RECORD IL:STRUCTURES (RECORD-NAME INTERLISP-RECORD-NAME &KEY (CONC-NAME NIL 
-                                                                                          CONC-NAME-P
-                                                                                           )
-                                                   (CONSTRUCTOR NIL CONSTRUCTOR-P)
-                                                   (PREDICATE NIL PREDICATE-P)
-                                                   (FAST-ACCESSORS NIL)
-                                                   (PACKAGE *PACKAGE*))
+                                                                                       CONC-NAME-P)
+                                               (CONSTRUCTOR NIL CONSTRUCTOR-P)
+                                               (PREDICATE NIL PREDICATE-P)
+                                               (FAST-ACCESSORS NIL)
+                                               (PACKAGE *PACKAGE*))
+                                                      (IL:* IL:\; "Edited 11-Dec-2025 21:43 by mth")
    (IF (NOT (PACKAGEP PACKAGE))
        (SETQ PACKAGE (FIND-PACKAGE PACKAGE)))
    (SETQ CONC-NAME (IF CONC-NAME-P
@@ -195,7 +195,8 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
                                            'SETF-RECORD-ACCESS-MACRO)
                                     (SETF (GET ',NEW-NAME :SLOT-INFO)
                                           ',`((,INTERLISP-RECORD-NAME ,FIELD-NAME)
-                                              ,FAST-ACCESSORS))))))
+                                              ,FAST-ACCESSORS))
+                                    (IL:CLSMARTEN '((,NEW-NAME IL:OBJECT)))))))
                FIELD-NAMES)
       ,@(LET ((NEW-NAME (IF PREDICATE-P
                             PREDICATE
@@ -214,7 +215,8 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
                  `((SETF (MACRO-FUNCTION ',NEW-NAME)
                          'RECORD-PREDICATE-MACRO)
                    (SETF (GET ',NEW-NAME :TYPE-INFO)
-                         ',INTERLISP-RECORD-NAME))))
+                         ',INTERLISP-RECORD-NAME)
+                   (IL:CLSMARTEN '((,NEW-NAME IL:OBJECT))))))
       ,@(LET ((NEW-NAME (IF CONSTRUCTOR-P
                             CONSTRUCTOR
                             (INTERN (CONCATENATE 'STRING "MAKE-" (STRING RECORD-NAME))
@@ -234,7 +236,8 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
                  `((SETF (MACRO-FUNCTION ',NEW-NAME)
                          'RECORD-CONSTRUCTOR-MACRO)
                    (SETF (GET ',NEW-NAME :FIELD-INFO)
-                         '(,INTERLISP-RECORD-NAME ,FIELD-NAMES))))))))
+                         '(,INTERLISP-RECORD-NAME ,FIELD-NAMES))
+                   (IL:CLSMARTEN '((,NEW-NAME &KEY ,@FIELD-NAMES)))))))))
 
 (DEFUN RECORD-ACCESS-MACRO (FORM &OPTIONAL ENV)
    (DECLARE (IGNORE ENV))
@@ -257,8 +260,8 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
 (DEFUN RECORD-PREDICATE-MACRO (FORM &OPTIONAL ENV)
    (DECLARE (IGNORE ENV))
    `(IL:|type?| ,(OR (GET (CAR FORM)
-                              :TYPE-INFO)
-                         (ERROR "No type information cached."))
+                          :TYPE-INFO)
+                     (ERROR "No type information cached."))
            ,(SECOND FORM)))
 
 (DEFUN RECORD-CONSTRUCTOR-MACRO (FORM &OPTIONAL ENV)
@@ -267,32 +270,35 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>XCL-EXTRAS.;1|)
           (OR (GET (CAR FORM)
                    :FIELD-INFO)
               (ERROR "No field information cached."))
-          `(IL:|create| ,TYPE
-                  ,@(WITH-COLLECTION (DO* ((KEYWORD (CDR FORM)
-                                                  (CDDR KEYWORD))
-                                           (KEYWORD-SYMBOL (CAR KEYWORD)
-                                                  (CAR KEYWORD))
-                                           (VALUE (CADR KEYWORD)
-                                                  (CADR KEYWORD))
-                                           RESERVED-WORD)
-                                          ((NULL KEYWORD))
-                                        (SETQ RESERVED-WORD
-                                              (CAR (MEMBER KEYWORD-SYMBOL
-                                                          '(IL:USING IL:COPYING IL:REUSING
-                                                              IL:SMASHING)
-                                                          :TEST
-                                                          'STRING=)))
-                                        (COLLECT (OR RESERVED-WORD (CAR (MEMBER KEYWORD-SYMBOL 
-                                                                               FIELD-NAMES :TEST
-                                                                               'STRING=))))
-                                        (IF (NOT RESERVED-WORD)
-                                            (COLLECT 'IL:_))
-                                        (COLLECT VALUE))))))
+          `(IL:|create| ,TYPE ,@(WITH-COLLECTION (DO* ((KEYWORD (CDR FORM)
+                                                              (CDDR KEYWORD))
+                                                       (KEYWORD-SYMBOL (CAR KEYWORD)
+                                                              (CAR KEYWORD))
+                                                       (VALUE (CADR KEYWORD)
+                                                              (CADR KEYWORD))
+                                                       RESERVED-WORD)
+                                                      ((NULL KEYWORD))
+                                                    (SETQ RESERVED-WORD
+                                                          (CAR (MEMBER KEYWORD-SYMBOL
+                                                                      '(IL:USING IL:COPYING
+                                                                          IL:REUSING IL:SMASHING)
+                                                                      :TEST
+                                                                      'STRING=)))
+                                                    (COLLECT (OR RESERVED-WORD
+                                                                 (CAR (MEMBER KEYWORD-SYMBOL 
+                                                                             FIELD-NAMES :TEST
+                                                                             'STRING=))))
+                                                    (IF (NOT RESERVED-WORD)
+                                                        (COLLECT 'IL:_))
+                                                    (COLLECT VALUE))))))
 
 (IL:PUTPROPS IL:XCL-EXTRAS IL:FILETYPE :COMPILE-FILE)
 
 (IL:PUTPROPS IL:XCL-EXTRAS IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE "XCL"))
-(IL:PUTPROPS IL:XCL-EXTRAS IL:COPYRIGHT ("Venue & Xerox Corporation" 1987 1988 1990))
 (IL:DECLARE\: IL:DONTCOPY
-  (IL:FILEMAP (NIL)))
+  (IL:FILEMAP (NIL (2264 4771 (ONCE-ONLY 2264 . 4771)) (4828 5137 (RECORD-FETCH 4828 . 5137)) (5139 5483
+ (SETF-FETCH 5139 . 5483)) (5485 5796 (RECORD-FFETCH 5485 . 5796)) (5798 6144 (SETF-FFETCH 5798 . 6144
+)) (6146 7341 (RECORD-CREATE 6146 . 7341)) (12279 12699 (RECORD-ACCESS-MACRO 12279 . 12699)) (13146 
+13397 (RECORD-PREDICATE-MACRO 13146 . 13397)) (13399 15360 (RECORD-CONSTRUCTOR-MACRO 13399 . 15360))))
+)
 IL:STOP
diff --git a/sources/XCL-EXTRAS.DFASL b/sources/XCL-EXTRAS.DFASL
index ffaff01b..ad835e6e 100644
Binary files a/sources/XCL-EXTRAS.DFASL and b/sources/XCL-EXTRAS.DFASL differ
