diff --git a/sources/COREIO b/sources/COREIO
index 8f07436e..fc1dcbcb 100644
--- a/sources/COREIO
+++ b/sources/COREIO
@@ -1,14 +1,15 @@
-(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
-(FILECREATED " 4-Oct-2018 14:13:06" {DSK}<Users>kaplan>Local>medley3.5>lispcore>sources>COREIO.;4 55097  
+(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-      changes to%:  (FNS \CORE.GETFILEINFO)
+(FILECREATED "22-Nov-2021 09:25:42" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>COREIO.;3 55023  
 
-      previous date%: "28-Jun-99 16:15:28" 
-{DSK}<Users>kaplan>Local>medley3.5>lispcore>sources>COREIO.;3)
+      changes to%:  (FNS \CORE.SETFILEINFO)
+
+      previous date%: " 4-Oct-2018 14:13:06" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>COREIO.;2)
 
 
 (* ; "
-Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999, 2018 by Venue & Xerox Corporation.  All rights reserved.
+Copyright (c) 1981-1988, 1990, 1993, 1999, 2018 by Venue & Xerox Corporation.
 ")
 
 (PRETTYCOMPRINT COREIOCOMS)
@@ -16,7 +17,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999,
 (RPAQQ COREIOCOMS
        (
 
-(* ;;; "Implementation of Core resident `files'")
+(* ;;; "Implementation of Core resident `files'")
 
         (FNS \CORE.CLOSEFILE \CORE.DELETEFILE \CORE.DIRECTORYNAMEP \CORE.FINDPAGE \CORE.GENERATEFILES
              \CORE.NEXTFILEFN \CORE.FILEINFOFN \CORE.GETFILEHANDLE \CORE.GETFILEINFO 
@@ -611,7 +612,8 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999,
     STREAM])
 
 (\CORE.SETFILEINFO
-  [LAMBDA (STREAM ATTRIBUTE VALUE DEV)                   (* bvm%: "15-Jan-85 17:40")
+  [LAMBDA (STREAM ATTRIBUTE VALUE DEV)                       (* ; "Edited 22-Nov-2021 09:25 by rmk:")
+                                                             (* bvm%: "15-Jan-85 17:40")
     (PROG ((INFOBLOCK (\CORE.GETINFOBLOCK STREAM 'OLD DEV)))
           (SELECTQ ATTRIBUTE
               (CREATIONDATE (SETQ VALUE (OR (IDATE VALUE)
@@ -624,10 +626,20 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999,
                                           (replace IOFIBType of INFOBLOCK with VALUE))
                                      (EOL (replace COREEOLC of INFOBLOCK
                                              with (SELECTQ VALUE
-                                                          (CR CR.EOLC)
-                                                          (LF LF.EOLC)
-                                                          (CRLF CRLF.EOLC)
-                                                          (LISPERROR "ILLEGAL ARG" VALUE))))
+                                                      (CR CR.EOLC)
+                                                      (LF LF.EOLC)
+                                                      (CRLF CRLF.EOLC)
+                                                      (LISPERROR "ILLEGAL ARG" VALUE))))
+                                     (CREATIONDATE (replace IOFIBCreationTime of INFOBLOCK
+                                                      with (IDATE VALUE)))
+                                     (READDATE (replace IOFIBReadTime of INFOBLOCK
+                                                  with (IDATE VALUE)))
+                                     (WRITEDATE (replace IOFIBWriteTime of INFOBLOCK
+                                                   with (IDATE VALUE)))
+                                     (ICREATIONDATE (replace IOFIBCreationTime of INFOBLOCK
+                                                       with VALUE))
+                                     (IREADDATE (replace IOFIBReadTime of INFOBLOCK with VALUE))
+                                     (IWRITEDATE (replace IOFIBWriteTime of INFOBLOCK with VALUE))
                                      NIL])
 
 (\CORE.GETNEXTBUFFER
@@ -851,60 +863,48 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999,
 (RECORD CORE.PAGEENTRY (PAGENUMBER . PAGEPOINTER))
 
 (DATATYPE COREFILEINFOBLK ((IOFIBCreationTime FIXP)
-                               (IOFIBReadTime FIXP)
-                               (IOFIBWriteTime FIXP)
-                               (IOFIBType POINTER)
-                               (IOFILEPAGES POINTER)
-                               (IOFILEFULLNAME POINTER)
-                               (IOEPAGE WORD)
-                               (IOEOFFSET WORD)
-                               (COREEOLC BITS 2)
-                               (IOFIBFileType WORD))
-                              IOFIBCreationTime _ (IDATE)
-                              IOFILEPAGES _ (LIST (create CORE.PAGEENTRY
-                                                         PAGENUMBER _ 0))
-                              COREEOLC _ CR.EOLC)
+                           (IOFIBReadTime FIXP)
+                           (IOFIBWriteTime FIXP)
+                           (IOFIBType POINTER)
+                           (IOFILEPAGES POINTER)
+                           (IOFILEFULLNAME POINTER)
+                           (IOEPAGE WORD)
+                           (IOEOFFSET WORD)
+                           (COREEOLC BITS 2)
+                           (IOFIBFileType WORD))
+                          IOFIBCreationTime _ (IDATE)
+                          IOFILEPAGES _ (LIST (create CORE.PAGEENTRY
+                                                     PAGENUMBER _ 0))
+                          COREEOLC _ CR.EOLC)
 
 (RECORD CORESTREAM STREAM (SUBRECORD STREAM)
-                             [ACCESSFNS CORESTREAM ((INFOBLK (fetch F1 of DATUM)
-                                                           (replace F1 of DATUM with
-                                                                                        NEWVALUE))
-                                                    (COREPAGECACHE (fetch F10 of DATUM)
-                                                           (replace F10 of DATUM with
-                                                                                         NEWVALUE))
-                                                    (BEINGPRINTED (fetch IOBEINGPRINTED
-                                                                     of (fetch INFOBLK
-                                                                               of DATUM))
-                                                           (replace IOBEINGPRINTED
-                                                              of (fetch INFOBLK of DATUM)
-                                                              with NEWVALUE))
-                                                    (FILEPAGES (fetch IOFILEPAGES
-                                                                  of (fetch INFOBLK
-                                                                            of DATUM))
-                                                           (replace IOFILEPAGES
-                                                              of (fetch INFOBLK of DATUM)
-                                                              with NEWVALUE))
-                                                    (CreationTime (fetch IOFIBCreationTime
-                                                                     of (fetch INFOBLK
-                                                                               of DATUM))
-                                                           (replace IOFIBCreationTime
-                                                              of (fetch INFOBLK of DATUM)
-                                                              with NEWVALUE))
-                                                    (ReadTime (fetch IOFIBReadTime
-                                                                 of (fetch INFOBLK
-                                                                           of DATUM))
-                                                           (replace IOFIBReadTime
-                                                              of (fetch INFOBLK of DATUM)
-                                                              with NEWVALUE))
-                                                    (WriteTime (fetch IOFIBWriteTime
-                                                                  of (fetch INFOBLK
-                                                                            of DATUM))
-                                                           (replace IOFIBWriteTime
-                                                              of (fetch INFOBLK of DATUM)
-                                                              with NEWVALUE])
+                         [ACCESSFNS CORESTREAM ((INFOBLK (fetch F1 of DATUM)
+                                                       (replace F1 of DATUM with NEWVALUE))
+                                                (COREPAGECACHE (fetch F10 of DATUM)
+                                                       (replace F10 of DATUM with NEWVALUE))
+                                                (BEINGPRINTED (fetch IOBEINGPRINTED
+                                                                 of (fetch INFOBLK of DATUM))
+                                                       (replace IOBEINGPRINTED
+                                                          of (fetch INFOBLK of DATUM) with NEWVALUE))
+                                                (FILEPAGES (fetch IOFILEPAGES
+                                                              of (fetch INFOBLK of DATUM))
+                                                       (replace IOFILEPAGES
+                                                          of (fetch INFOBLK of DATUM) with NEWVALUE))
+                                                (CreationTime (fetch IOFIBCreationTime
+                                                                 of (fetch INFOBLK of DATUM))
+                                                       (replace IOFIBCreationTime
+                                                          of (fetch INFOBLK of DATUM) with NEWVALUE))
+                                                (ReadTime (fetch IOFIBReadTime
+                                                             of (fetch INFOBLK of DATUM))
+                                                       (replace IOFIBReadTime
+                                                          of (fetch INFOBLK of DATUM) with NEWVALUE))
+                                                (WriteTime (fetch IOFIBWriteTime
+                                                              of (fetch INFOBLK of DATUM))
+                                                       (replace IOFIBWriteTime
+                                                          of (fetch INFOBLK of DATUM) with NEWVALUE])
 
 (ACCESSFNS COREDEVICE ((COREDIRECTORY (FETCH DEVICEINFO OF DATUM)
-                                  (REPLACE DEVICEINFO OF DATUM WITH NEWVALUE))))
+                              (REPLACE DEVICEINFO OF DATUM WITH NEWVALUE))))
 
 (RECORD COREGENFILESTATE (COREFILELST))
 )
@@ -954,16 +954,16 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999,
 (PUTPROPS COREIO COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1990 
 1993 1999 2018))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1755 43279 (\CORE.CLOSEFILE 1765 . 2538) (\CORE.DELETEFILE 2540 . 4526) (
-\CORE.DIRECTORYNAMEP 4528 . 4789) (\CORE.FINDPAGE 4791 . 8020) (\CORE.GENERATEFILES 8022 . 10609) (
-\CORE.NEXTFILEFN 10611 . 11110) (\CORE.FILEINFOFN 11112 . 11341) (\CORE.GETFILEHANDLE 11343 . 13497) (
-\CORE.GETFILEINFO 13499 . 14462) (\CORE.GETFILEINFO.FROM.INFOBLOCK 14464 . 16001) (\CORE.GETFILENAME 
-16003 . 18292) (\CORE.GETINFOBLOCK 18294 . 20917) (\CORE.NAMESCAN 20919 . 22686) (\CORE.NAMESEGMENT 
-22688 . 23125) (\CORE.OPENFILE 23127 . 26246) (\COREFILE.SETPARAMETERS 26248 . 28429) (
-\CORE.PACKFILENAME 28431 . 28826) (\CORE.RELEASEPAGES 28828 . 29429) (\CORE.SETFILEPTR 29431 . 30530) 
-(\CORE.UPDATEOF 30532 . 32161) (\CORE.BACKFILEPTR 32163 . 34371) (\CORE.SETEOFPTR 34373 . 36242) (
-\CORE.SETACCESSTIME 36244 . 36869) (\CORE.SETFILEINFO 36871 . 38062) (\CORE.GETNEXTBUFFER 38064 . 
-42020) (\CORE.UNPACKFILENAME 42022 . 43277)) (43280 46913 (COREDEVICE 43290 . 43461) (
-\CREATECOREDEVICE 43463 . 46911)) (46914 49215 (\NODIRCOREFDEV 46924 . 47521) (\NODIRCORE.OPENFILE 
-47523 . 49213)))))
+  (FILEMAP (NIL (1710 44229 (\CORE.CLOSEFILE 1720 . 2493) (\CORE.DELETEFILE 2495 . 4481) (
+\CORE.DIRECTORYNAMEP 4483 . 4744) (\CORE.FINDPAGE 4746 . 7975) (\CORE.GENERATEFILES 7977 . 10564) (
+\CORE.NEXTFILEFN 10566 . 11065) (\CORE.FILEINFOFN 11067 . 11296) (\CORE.GETFILEHANDLE 11298 . 13452) (
+\CORE.GETFILEINFO 13454 . 14417) (\CORE.GETFILEINFO.FROM.INFOBLOCK 14419 . 15956) (\CORE.GETFILENAME 
+15958 . 18247) (\CORE.GETINFOBLOCK 18249 . 20872) (\CORE.NAMESCAN 20874 . 22641) (\CORE.NAMESEGMENT 
+22643 . 23080) (\CORE.OPENFILE 23082 . 26201) (\COREFILE.SETPARAMETERS 26203 . 28384) (
+\CORE.PACKFILENAME 28386 . 28781) (\CORE.RELEASEPAGES 28783 . 29384) (\CORE.SETFILEPTR 29386 . 30485) 
+(\CORE.UPDATEOF 30487 . 32116) (\CORE.BACKFILEPTR 32118 . 34326) (\CORE.SETEOFPTR 34328 . 36197) (
+\CORE.SETACCESSTIME 36199 . 36824) (\CORE.SETFILEINFO 36826 . 39012) (\CORE.GETNEXTBUFFER 39014 . 
+42970) (\CORE.UNPACKFILENAME 42972 . 44227)) (44230 47863 (COREDEVICE 44240 . 44411) (
+\CREATECOREDEVICE 44413 . 47861)) (47864 50165 (\NODIRCOREFDEV 47874 . 48471) (\NODIRCORE.OPENFILE 
+48473 . 50163)))))
 STOP
diff --git a/sources/COREIO.LCOM b/sources/COREIO.LCOM
index 2758e993..3ca8afd2 100644
Binary files a/sources/COREIO.LCOM and b/sources/COREIO.LCOM differ
diff --git a/sources/FASLOAD b/sources/FASLOAD
index 0993c39f..f3c03c47 100644
--- a/sources/FASLOAD
+++ b/sources/FASLOAD
@@ -1,11 +1,12 @@
-(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "FASL")
-(IL:FILECREATED "10-Jun-2021 18:26:43" 
-IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;8| 35584  
+(DEFINE-FILE-INFO PACKAGE "FASL" READTABLE "XCL" BASE 10)
 
-      IL:|changes| IL:|to:|  (IL:FUNCTIONS READ-TEXT)
+(IL:FILECREATED "23-Nov-2021 12:29:28" 
+IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FASLOAD.;5| 34723  
 
-      IL:|previous| IL:|date:| "17-Apr-2018 07:55:20" 
-IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
+      IL:|changes| IL:|to:|  (IL:FNS CONVERT-FASL-DATE)
+
+      IL:|previous| IL:|date:| "23-Nov-2021 09:44:12" 
+IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FASLOAD.;2|)
 
 
 ; Copyright (c) 1986-1992, 2018, 2021 by Venue & Xerox Corporation.
@@ -14,14 +15,14 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (IL:RPAQQ IL:FASLOADCOMS
           (
-           (IL:* IL:|;;| "FASL file loader.")
+           (IL:* IL:|;;| "FASL file loader.")
 
            
-           (IL:* IL:|;;| "THIS FILE IS DUPLICATED as ...<Lispcore>Sources> for the large-symbol version, and <Lispcore>Sources>2-byte> for the older 2-byte atom version.  IF YOU CHANGE THIS COPY, CHANGE THE OTHER, AS WELL!")
+           (IL:* IL:|;;| "THIS FILE IS DUPLICATED as ...<Lispcore>Sources> for the large-symbol version, and <Lispcore>Sources>2-byte> for the older 2-byte atom version.  IF YOU CHANGE THIS COPY, CHANGE THE OTHER, AS WELL!")
 
            (IL:COMS 
 
-                  (IL:* IL:|;;| "Common definitions.")
+                  (IL:* IL:|;;| "Common definitions.")
 
                   (IL:DECLARE\: IL:EVAL@COMPILE IL:EVAL@LOAD IL:DONTCOPY (IL:FILES (NIL IL:SOURCE)
                                                                                 IL:FASL-SUPPORT))
@@ -33,26 +34,26 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                   (IL:FUNCTIONS TABLE-STATS))
            (IL:COMS 
 
-                  (IL:* IL:|;;| "Reader.")
+                  (IL:* IL:|;;| "Reader.")
 
-                  (IL:COMS                                   (IL:* IL:\; "Setting up the table")
+                  (IL:COMS                                   (IL:* IL:\; "Setting up the table")
                          (IL:STRUCTURES OPTABLE)
                          (IL:FUNCTIONS MAKE-OPTABLE DEFINE-OPCODE-RANGE DEFINE-SINGLE-OPCODE 
                                 ADD-OP-TRANSLATION OPCODE-SEQUENCE)
-                                                             (IL:* IL:\; "Opcode definers")
+                                                             (IL:* IL:\; "Opcode definers")
                          (IL:FUNCTIONS DEFOP DEFRANGE))
                   (IL:FUNCTIONS FASL-END-OF-BLOCK FASL-EXTENDED SETESCAPE UNIMPLEMENTED-OPCODE)
                   (IL:VARIABLES *DEFAULT-OPTABLE* *CURRENT-OPTABLE* INITIAL-VALUE-TABLE-SIZE 
                          VALUE-TABLE-INCREMENT *VALUE-TABLE* *BLOCK-LEVEL* DEBUG-READER DEBUG-STREAM)
                   
-                  (IL:* IL:|;;| "The main reader functions:")
+                  (IL:* IL:|;;| "The main reader functions:")
 
                   (IL:FUNCTIONS PROCESS-FILE PROCESS-SEGMENT)
                   (IL:FUNCTIONS WITH-OPTABLE CHECK-VERSION READ-TEXT PROCESS-BLOCK SKIP-TEXT 
                          NEXT-VALUE DO-OP NEW-VALUE-TABLE CLEAR-TABLE STORE-VALUE FETCH-VALUE 
                          COLLECT-LIST)
                   
-                  (IL:* IL:|;;| "FASL Opcode processors:")
+                  (IL:* IL:|;;| "FASL Opcode processors:")
 
                   (FASL-OPS FASL-SHORT-INTEGER FASL-NIL FASL-T FASL-INTEGER FASL-LARGE-INTEGER 
                          FASL-RATIO FASL-COMPLEX FASL-VECTOR FASL-CREATE-ARRAY FASL-INITIALIZE-ARRAY
@@ -64,18 +65,18 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                          FASL-FUNCALL FASL-BITMAP16 FASL-STRUCTURE))
            (XCL:OPTIMIZERS FIXUP-NTOFFSET)
            
-           (IL:* IL:|;;| "make sure there's some print function around so that you can load early.")
+           (IL:* IL:|;;| "make sure there's some print function around so that you can load early.")
 
            (IL:P (IL:MOVD? 'IL:PRIN1 'PRINC)
                  (IL:MOVD? 'IL:TERPRI 'TERPRI))
            (IL:COMS 
 
-                  (IL:* IL:|;;| 
-             "ADDITION TO FILEDATE so it will handle FASL files as well as LCOMs and source files.")
+                  (IL:* IL:|;;| 
+               "ADDITION TO FILEDATE so it will handle FASL files as well as LCOMs and source files.")
 
                   (IL:FNS IL:FASL-FILEDATE CONVERT-FASL-DATE))
            
-           (IL:* IL:|;;| "Arrange for the correct compiler and makefile environment")
+           (IL:* IL:|;;| "Arrange for the correct compiler and makefile environment")
 
            (IL:PROP (IL:FILETYPE IL:MAKEFILE-ENVIRONMENT)
                   IL:FASLOAD)))
@@ -143,7 +144,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
    "End-of-data marker: if first byte of a segment, terminate processing")
 
 (DEFCONSTANT VERSION-RANGE '(8 . 8)
-                               "Handles (car version-range) <= version <= (cdr version-range)")
+                           "Handles (car version-range) <= version <= (cdr version-range)")
 
 (DEFCONSTANT CURRENT-VERSION 8)
 
@@ -183,13 +184,13 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFUN DEFINE-OPCODE-RANGE (NAME FIRST-OPCODE RANGE OFFSET TABLE)
 
-   (IL:* IL:|;;| 
-"For implementation of DEFRANGE definer--define a range of opcodes having the same implementation.")
+   (IL:* IL:|;;| 
+  "For implementation of DEFRANGE definer--define a range of opcodes having the same implementation.")
 
    (LET ((PACKAGE (SYMBOL-PACKAGE NAME))
          (PNAME (SYMBOL-NAME NAME)))
-        (DOTIMES (I RANGE)                                   (IL:* IL:\; 
-                                                  "Using IL:CONCAT here to minimize bootstrap woes")
+        (DOTIMES (I RANGE)                                   (IL:* IL:\; 
+                                                    "Using IL:CONCAT here to minimize bootstrap woes")
             (DEFINE-SINGLE-OPCODE NAME (+ I FIRST-OPCODE)
                    TABLE
                    (INTERN (IL:CONCAT PNAME (+ I OFFSET))
@@ -197,7 +198,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFUN DEFINE-SINGLE-OPCODE (NAME OPCODE TABLE TRANS-NAME)
 
-   (IL:* IL:|;;| "For implementation of DEFOP definer -- define NAME to be a fasl op numbered OPCODE in TABLE.  NAME is the name of both the opcode as a FASL::FASL-OPS and the function implementing the opcode.  TRANS-NAME is a name to associate with the opcode in the OPNAMES slot of the table (it is a generated name when we are called from DEFRANGE).")
+   (IL:* IL:|;;| "For implementation of DEFOP definer -- define NAME to be a fasl op numbered OPCODE in TABLE.  NAME is the name of both the opcode as a FASL::FASL-OPS and the function implementing the opcode.  TRANS-NAME is a name to associate with the opcode in the OPNAMES slot of the table (it is a generated name when we are called from DEFRANGE).")
 
    (SETF (ELT (OPTABLE-VECTOR TABLE)
               OPCODE)
@@ -213,7 +214,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                   (OPTABLE-OPNAMES TABLE)))))
 
 (DEFUN OPCODE-SEQUENCE (OPNAME &OPTIONAL (TABLE *DEFAULT-OPTABLE*)
-                                  &AUX ENTRY)
+                              &AUX ENTRY)
    (COND
       ((NULL TABLE)
        NIL)
@@ -229,8 +230,8 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 
 (XCL:DEFDEFINER DEFOP FASL-OPS (IL:NAME (OPCODE &KEY (INDIRECT 0)
-                                                   (TABLE '*DEFAULT-OPTABLE*))
-                                          &BODY BODY)
+                                               (TABLE '*DEFAULT-OPTABLE*))
+                                      &BODY BODY)
    (IF (ZEROP INDIRECT)
        `(PROGN (DEFUN ,IL:NAME (STREAM OPCODE)
                   ,@BODY)
@@ -245,8 +246,8 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                   ,@BODY))))
 
 (XCL:DEFDEFINER DEFRANGE FASL-OPS (IL:NAME (FIRST-OPCODE &KEY (INDIRECT 0)
-                                                      (TABLE '*DEFAULT-OPTABLE*))
-                                             RANGE OFFSET &BODY BODY)
+                                                  (TABLE '*DEFAULT-OPTABLE*))
+                                         RANGE OFFSET &BODY BODY)
    (IF (ZEROP INDIRECT)
        `(PROGN (DEFUN ,IL:NAME (STREAM OPCODE)
                   ,@BODY)
@@ -298,11 +299,11 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 
 (DEFUN PROCESS-FILE (STREAM &KEY (TEXT-FN (AND *LOAD-VERBOSE* #'(LAMBDA (TEXT)
-                                                                           (PRINC TEXT)
-                                                                           (TERPRI))))
-                               (ITEM-FN NIL))
+                                                                       (PRINC TEXT)
+                                                                       (TERPRI))))
+                           (ITEM-FN NIL))
 
-(IL:* IL:|;;;| "Calls FASL:PROCESS-SEGMENT with the approriate arguments for each segment in the file. The stream should be positioned at the beginning.")
+(IL:* IL:|;;;| "Calls FASL:PROCESS-SEGMENT with the approriate arguments for each segment in the file. The stream should be positioned at the beginning.")
 
    (UNLESS (EQL (IL:BIN STREAM)
                 SIGNATURE)
@@ -310,8 +311,8 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
    (LET ((IL:FILEPKGFLG NIL)
          (IL:DFNFLG T)
          (IL:LISPXHIST NIL)
-         (IL:ADDSPELLFLG NIL))                               (IL:* IL:\; 
-                                  "Bind these so that LOADing a FASL file is like LOADing SYSLOAD.")
+         (IL:ADDSPELLFLG NIL))                               (IL:* IL:\; 
+                                    "Bind these so that LOADing a FASL file is like LOADing SYSLOAD.")
         (DECLARE (SPECIAL IL:FILEPKGFLG IL:DFNFLG IL:LISPXHIST IL:ADDSPELLFLG))
         (IF (< (CHECK-VERSION STREAM)
                5)
@@ -346,9 +347,9 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFUN READ-TEXT (STREAM)
 
-   (IL:* IL:|;;| "RMK:  This really should be doing READCCODE to read the bytes, but that fails because this string is not delimited by quotes, rather it has 255 as the end marker.  255 is the XCCS characterset shift, will presumably do something else in Unicode.")
+   (IL:* IL:|;;| "RMK:  This really should be doing READCCODE to read the bytes, but that fails because this string is not delimited by quotes, rather it has 255 as the end marker.  255 is the XCCS characterset shift, will presumably do something else in Unicode.")
 
-   (IL:* IL:|;;| "Any reason not to print the string as a string?")
+   (IL:* IL:|;;| "Any reason not to print the string as a string?")
 
    (DO ((RESULT (MAKE-ARRAY 512 :ELEMENT-TYPE 'CHARACTER :ADJUSTABLE T :FILL-POINTER 0))
         (BYTE (IL:BIN STREAM)
@@ -362,10 +363,10 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
    (IL:WITH-READER-ENVIRONMENT IL:*COMMON-LISP-READ-ENVIRONMENT*
        (CATCH 'FASL-BLOCK-FINISHED
            (WITH-OPTABLE OPTABLE (DO ((*VALUE-TABLE* (NEW-VALUE-TABLE))
-                                          VAL)
-                                         ()
-                                       (SETF VAL (DO-OP STREAM 0))
-                                       (WHEN ITEM-FN (FUNCALL ITEM-FN VAL)))))))
+                                      VAL)
+                                     ()
+                                   (SETF VAL (DO-OP STREAM 0))
+                                   (WHEN ITEM-FN (FUNCALL ITEM-FN VAL)))))))
 
 (DEFUN SKIP-TEXT (STREAM)
    (DO ((BYTE (IL:BIN STREAM)
@@ -400,8 +401,8 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFUN STORE-VALUE (OBJ &OPTIONAL (TABLE *VALUE-TABLE*))
 
-   (IL:* IL:|;;| 
-"This may want to change to another representation if we can't make VECTOR-PUSH-EXTEND fast enough.")
+   (IL:* IL:|;;| 
+ "This may want to change to another representation if we can't make VECTOR-PUSH-EXTEND fast enough.")
 
    (VECTOR-PUSH-EXTEND OBJ TABLE VALUE-TABLE-INCREMENT)
    OBJ)
@@ -416,7 +417,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
    (WHEN DOTTED (DECF NELTS))
    (LET ((RESULT (IL:|to| NELTS IL:|collect| (DO-OP STREAM))))
 
-        (IL:* IL:|;;| "Assume dotted and other than a simple cons is rare.")
+        (IL:* IL:|;;| "Assume dotted and other than a simple cons is rare.")
 
         (WHEN DOTTED
             (SETF (CDR (LAST RESULT))
@@ -518,17 +519,17 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFOP FASL-FAT-STRING (141)
 
-   (IL:* IL:|;;| "Read a string of specified length that has been encoded in standard NS format.")
+   (IL:* IL:|;;| "Read a string of specified length that has been encoded in standard NS format.")
 
    (LET* ((NCHARS (NEXT-VALUE))
           (STRING (IL:ALLOCSTRING NCHARS)))
-         (IL:ACCESS-CHARSET STREAM 0)                        (IL:* IL:\; 
-                                                           "Make sure we're in charset zero")
+         (IL:ACCESS-CHARSET STREAM 0)                        (IL:* IL:\; 
+                                                             "Make sure we're in charset zero")
          (UNWIND-PROTECT
              (DOTIMES (I NCHARS STRING)
                  (SETF (SVREF STRING I)
-                       (CODE-CHAR (IL:READCCODE STREAM))))   (IL:* IL:\; 
-                                                       "Restore charset zero, in case anyone cares")
+                       (CODE-CHAR (IL:READCCODE STREAM))))   (IL:* IL:\; 
+                                                         "Restore charset zero, in case anyone cares")
              (IL:ACCESS-CHARSET STREAM 0))))
 
 (DEFOP FASL-CHARACTER (142)
@@ -571,7 +572,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFOP FASL-DCODE (150)
 
-(IL:* IL:|;;;| "DIRE WARNING!!! Be sure you have your pointy hat with lots of stars on if you're going to muck around with this code. Due to unfortunately unavoidable performance requirements, this code duplicates D-ASSEM:INTERN-DCODE. If you make a change here, you should probably change the corresponding code there.")
+(IL:* IL:|;;;| "DIRE WARNING!!! Be sure you have your pointy hat with lots of stars on if you're going to muck around with this code. Due to unfortunately unavoidable performance requirements, this code duplicates D-ASSEM:INTERN-DCODE. If you make a change here, you should probably change the corresponding code there.")
 
    (LET ((OVERHEADBYTES (* (IL:FETCH (IL:FNHEADER IL:OVERHEADWORDS) IL:OF T)
                            IL:BYTESPERWORD))
@@ -583,24 +584,21 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
              (IL:\\BINS STREAM RAW-CODE START-PC CODE-LEN)
              (IL:REPLACE (IL:FNHEADER IL:STARTPC) IL:OF RAW-CODE IL:WITH START-PC))
 
-        (IL:* IL:|;;| "Set up the free variable lookup name table.")
+        (IL:* IL:|;;| "Set up the free variable lookup name table.")
 
         (DO* ((I 0 (1+ I))
               (INDEX OVERHEADBYTES (+ INDEX (IL:CONSTANT (IL:BYTESPERNAMEENTRY))))
 
-              (IL:* IL:|;;| 
-            "NTSIZE and NTBYTESIZE the sizes of half the table in words and bytes resp.")
+              (IL:* IL:|;;| 
+              "NTSIZE and NTBYTESIZE the sizes of half the table in words and bytes resp.")
 
               (NTSIZE (IL:CEIL (1+ (IL:UNFOLD NT-COUNT (IL:CONSTANT (IL:WORDSPERNAMEENTRY))))
                              IL:WORDSPERQUAD))
               (NTBYTESIZE (* NTSIZE IL:BYTESPERWORD))
               PFI OFFSET NAME FVAROFFSET)
              ((>= I NT-COUNT)
-              (IL:REPLACE (IL:FNHEADER IL:FVAROFFSET) IL:OF RAW-CODE IL:WITH (OR 
-                                                                                           FVAROFFSET
-                                                                                             0))
-              (IL:REPLACE (IL:FNHEADER IL:NTSIZE) IL:OF RAW-CODE IL:WITH
-                                                                         (IF (ZEROP NT-COUNT)
+              (IL:REPLACE (IL:FNHEADER IL:FVAROFFSET) IL:OF RAW-CODE IL:WITH (OR FVAROFFSET 0))
+              (IL:REPLACE (IL:FNHEADER IL:NTSIZE) IL:OF RAW-CODE IL:WITH (IF (ZEROP NT-COUNT)
                                                                              0
                                                                              NTSIZE)))
            (SETF PFI (IL:BIN STREAM))
@@ -614,32 +612,30 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                       (= PFI D-ASSEM:+FVAR-CODE+))
                (SETF FVAROFFSET (FLOOR INDEX IL:BYTESPERWORD))))
 
-        (IL:* IL:|;;| "Fill in the fixed-size fields at the front of the block.")
+        (IL:* IL:|;;| "Fill in the fixed-size fields at the front of the block.")
 
         (LET ((FRAME-NAME (NEXT-VALUE)))
              (IL:UNINTERRUPTABLY
                  (IL:\\ADDREF FRAME-NAME)
-                 (IL:REPLACE (IL:FNHEADER IL:\#FRAMENAME) IL:OF RAW-CODE IL:WITH 
-                                                                                       FRAME-NAME)))
+                 (IL:REPLACE (IL:FNHEADER IL:\#FRAMENAME) IL:OF RAW-CODE IL:WITH FRAME-NAME)))
         (LET ((NLOCALS (IL:BIN STREAM))
               (NFREEVARS (IL:BIN STREAM)))
              (IL:REPLACE (IL:FNHEADER IL:NLOCALS) IL:OF RAW-CODE IL:WITH NLOCALS)
-             (IL:REPLACE (IL:FNHEADER IL:PV) IL:OF RAW-CODE
-                IL:WITH (1- (CEILING (+ NLOCALS NFREEVARS)
-                                       IL:CELLSPERQUAD))))
+             (IL:REPLACE (IL:FNHEADER IL:PV) IL:OF RAW-CODE IL:WITH (1- (CEILING (+ NLOCALS NFREEVARS
+                                                                                    )
+                                                                               IL:CELLSPERQUAD))))
         (IL:REPLACE (IL:FNHEADER IL:ARGTYPE) IL:OF RAW-CODE IL:WITH (IL:BIN STREAM))
         (IL:REPLACE (IL:FNHEADER IL:NA) IL:OF RAW-CODE IL:WITH (NEXT-VALUE))
         (SETF CLOSURE-INFO (NEXT-VALUE))
-        (IL:REPLACE (IL:FNHEADER IL:CLOSUREP) IL:OF RAW-CODE IL:WITH (EQ CLOSURE-INFO 
-                                                                                     :CLOSURE))
+        (IL:REPLACE (IL:FNHEADER IL:CLOSUREP) IL:OF RAW-CODE IL:WITH (EQ CLOSURE-INFO :CLOSURE))
         (IL:REPLACE (IL:FNHEADER IL:FIXED) IL:OF RAW-CODE IL:WITH T)
 
-        (IL:* IL:|;;| "Fill in debugging info. It goes into the spare cell just before the code: it's -3 instead of -bytespercell to right-justify the pointer in the cell. Aren't you glad I told you this?")
+        (IL:* IL:|;;| "Fill in debugging info. It goes into the spare cell just before the code: it's -3 instead of -bytespercell to right-justify the pointer in the cell. Aren't you glad I told you this?")
 
         (D-ASSEM:FIXUP-PTR RAW-CODE (- START-PC (IL:BIG-VMEM-CODE 4 3))
                (NEXT-VALUE))
 
-        (IL:* IL:|;;| "Do fixups")
+        (IL:* IL:|;;| "Do fixups")
 
         (DO ((FN-FIXUP-COUNT (NEXT-VALUE))
              (I 0 (1+ I))
@@ -674,15 +670,15 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
           (D-ASSEM:FIXUP-WORD RAW-CODE (+ START-PC OFFSET)
                  (IL:\\RESOLVE.TYPENUMBER VALUE)))
 
-        (IL:* IL:|;;| "Finally, wrap this up in a closure-object if requested.")
+        (IL:* IL:|;;| "Finally, wrap this up in a closure-object if requested.")
 
         (IF (EQ CLOSURE-INFO :FUNCTION)
             (IL:MAKE-COMPILED-CLOSURE RAW-CODE NIL)
             RAW-CODE)))
 
 (DEFOP FASL-LOCAL-FN-FIXUPS (151)
-   (LET ((PASS-THROUGH (NEXT-VALUE)))                    (IL:* IL:\; 
-            "This will typically correspond to the DCODE that had the fixups, but can be anything.")
+   (LET ((PASS-THROUGH (NEXT-VALUE)))                        (IL:* IL:\; 
+              "This will typically correspond to the DCODE that had the fixups, but can be anything.")
         (DO ((FIXUP-COUNT (NEXT-VALUE))
              (I 0 (IL:ADD1 I))
              CODE-TO-FIX OFFSET VALUE)
@@ -701,8 +697,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
                                         ,THING))))
                  (IF (EQ CODE-TO-FIX VALUE)
                      (LET ((CODE (GET-CODE CODE-TO-FIX)))
-                          (D-ASSEM:FIXUP-PTR-NO-REF CODE (IL:IPLUS (IL:FETCH (IL:FNHEADER 
-                                                                                        IL:STARTPC)
+                          (D-ASSEM:FIXUP-PTR-NO-REF CODE (IL:IPLUS (IL:FETCH (IL:FNHEADER IL:STARTPC)
                                                                       IL:OF CODE)
                                                                 OFFSET)
                                  VALUE))
@@ -740,7 +735,7 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFOP FASL-BITMAP16 (158)
 
-(IL:* IL:|;;;| "Load an Interlisp BITMAP.")
+(IL:* IL:|;;;| "Load an Interlisp BITMAP.")
 
    (LET* ((WIDTH (NEXT-VALUE))
           (HEIGHT (NEXT-VALUE))
@@ -753,32 +748,29 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 (DEFOP FASL-STRUCTURE (159)
 
-(IL:* IL:|;;;| "Load a DEFSTRUCT-defined structure instance.")
+(IL:* IL:|;;;| "Load a DEFSTRUCT-defined structure instance.")
 
    (IL:CREATE-STRUCTURE (CONS (NEXT-VALUE)
                               (NEXT-VALUE))))
 
 (XCL:DEFOPTIMIZER FIXUP-NTOFFSET (RAW-CODE OFFSET TYPE VALUE &ENVIRONMENT IL:ENV)
 
-                                 (IL:* IL:|;;| "Do the fixups for a name-table offset entry, given a code block, the NTOffset's offset within the codeblock, and the variable type and FVAR offset.")
+                                 (IL:* IL:|;;| "Do the fixups for a name-table offset entry, given a code block, the NTOffset's offset within the codeblock, and the variable type and FVAR offset.")
 
-                                     (COND
-                                        ((IL:FMEMB :3-BYTE (COMPILER::ENV-TARGET-ARCHITECTURE IL:ENV)
-                                                )
+                                 (COND
+                                    ((IL:FMEMB :3-BYTE (COMPILER::ENV-TARGET-ARCHITECTURE IL:ENV))
 
-                                         (IL:* IL:|;;| 
-                                       "3-byte case; the nametable entry is a full cell.")
+                                     (IL:* IL:|;;| "3-byte case; the nametable entry is a full cell.")
 
-                                         `(PROGN (D-ASSEM:FIXUP-WORD ,RAW-CODE ,OFFSET ,TYPE)
-                                                 (D-ASSEM:FIXUP-WORD ,RAW-CODE (+ ,OFFSET 
-                                                                                  IL:BYTESPERWORD)
-                                                        ,VALUE)))
-                                        (T 
-                                           (IL:* IL:|;;| "Old nametable case, it's just a word.")
+                                     `(PROGN (D-ASSEM:FIXUP-WORD ,RAW-CODE ,OFFSET ,TYPE)
+                                             (D-ASSEM:FIXUP-WORD ,RAW-CODE (+ ,OFFSET IL:BYTESPERWORD
+                                                                              )
+                                                    ,VALUE)))
+                                    (T 
+                                       (IL:* IL:|;;| "Old nametable case, it's just a word.")
 
-                                           `(D-ASSEM:FIXUP-WORD ,RAW-CODE ,OFFSET (IL:IPLUS
-                                                                                   ,TYPE
-                                                                                   ,VALUE)))))
+                                       `(D-ASSEM:FIXUP-WORD ,RAW-CODE ,OFFSET (IL:IPLUS ,TYPE
+                                                                                     ,VALUE)))))
 
 
 
@@ -791,18 +783,20 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 
 
 
-(IL:* IL:|;;| "ADDITION TO FILEDATE so it will handle FASL files as well as LCOMs and source files."
-)
+(IL:* IL:|;;| "ADDITION TO FILEDATE so it will handle FASL files as well as LCOMs and source files.")
 
 (IL:DEFINEQ
 
 (IL:FASL-FILEDATE
-  (IL:LAMBDA (STREAM IL:CFLG)                       (IL:* IL:\; "Edited 17-Feb-89 11:25 by jds")
+  (IL:LAMBDA (STREAM IL:CFLG)                                (IL:* IL:\; 
+                                                             "Edited 23-Nov-2021 08:26 by rmk:")
                                                              (IL:* IL:\; 
-                                                           "CFLG IS T FOR COMPILED FILES")
+                                                             "Edited 17-Feb-89 11:25 by jds")
+                                                             (IL:* IL:\; 
+                                                             "CFLG IS T FOR COMPILED FILES")
 
     (IL:* IL:|;;| 
-  "If STREAM is open on a FASL file, returns the FILEDATE for that file.  Otherwise, returns NIL.")
+    "If STREAM is open on a FASL file, returns the FILEDATE for that file.  Otherwise, returns NIL.")
 
     (IL:* IL:|;;| "Used in FILEDATE; kept a separate function because FILEDATE is defined before the FASL package is loaded.")
 
@@ -810,36 +804,39 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
        ((EQL (IL:BIN STREAM)
              SIGNATURE)                                      (IL:* IL:\; " \"Aha, a Dfasl file\"")
         (IL:SETFILEPTR STREAM 0)
-        (IL:SETQ IL:VALUE (CONVERT-FASL-DATE (PROCESS-FILE STREAM :TEXT-FN
-                                                        #'(IL:LAMBDA (IL:X)
-                                                            (IL:RETFROM 'PROCESS-FILE IL:X))
-                                                        :ITEM-FN
-                                                        'IL:NILL)
-                                 IL:CFLG))))))
+        (CONVERT-FASL-DATE (PROCESS-FILE STREAM :TEXT-FN #'(IL:LAMBDA (IL:X)
+                                                             (IL:RETFROM 'PROCESS-FILE IL:X))
+                                  :ITEM-FN
+                                  'IL:NILL)
+               IL:CFLG)))))
 
 (CONVERT-FASL-DATE
-  (IL:LAMBDA (IL:DATESTRING IL:CFLG)             (IL:* IL:\; "Edited 17-Apr-2018 07:55 by rmk:")
-                                                             (IL:* IL:\; 
-                                                           "Edited 23-Jan-89 13:55 by gadener")
+  (IL:LAMBDA (IL:DATESTRING IL:CFLG)                 (IL:* IL:\; "Edited 23-Nov-2021 12:29 by rmk:")
+                                                     (IL:* IL:\; "Edited 17-Apr-2018 07:55 by rmk:")
+                                                    (IL:* IL:\; "Edited 23-Jan-89 13:55 by gadener")
 
-    (IL:* IL:|;;| "CONVERT-FASL-DATE takes the file text info from a DFASL file describing creation dates for source and compiled code and returns either one of these dates,  depending on the value of CLFG, in da-mon-yr hr:mn:sc format.")
+    (IL:* IL:|;;| "CONVERT-FASL-DATE takes the file text info from a DFASL file describing creation dates for source and compiled code and returns either one of these dates,  depending on the value of CLFG, in da-mon-yr hr:mn:sc format.")
 
-    (IL:* IL:|;;| "")
+    (IL:* IL:|;;| "")
 
-    (IL:* IL:|;;| "RMK: The SHORT-DATE-STRING has all of the information in the right order, most likely with 4-digit years too.  But it seems to have spaces between the day and month and month and year, whereas (DATE) with the default format produces strings with hyphens.  It also has comma-space after the year while (DATE) has just space.  The month is also spelled out (April instead of Apr).  But those differences don't seem to matter to IDATE, which is where comparisons should be done. I commented out all the junky code.")
+    (IL:* IL:|;;| "RMK: 23-Nov-2021.  Some DFASL files have a different date format, without the day before a comma and without a period at the end of the lines.  It seems that the easiest thing is just to isolate the full date strings, stripping off the period at the end and then canonicalize the return date with (GDATE (IDATE )). IDATE in particular seems to recognize all the formats.")
 
-    (LET* ((IL:DATE-POS (IF IL:CFLG
-                            (IL:STRPOS "Source file created" IL:DATESTRING)
-                            (IL:STRPOS "FASL file created" IL:DATESTRING)))
-           (IL:BEGIN-POS (IL:STRPOS "," IL:DATESTRING IL:DATE-POS))
-           (IL:END-POS (IL:STRPOS "." IL:DATESTRING IL:DATE-POS))
-           (IL:SHORT-DATE-STRING (IL:SUBSTRING IL:DATESTRING (+ IL:BEGIN-POS 2)
-                                        (IL:SUB1 IL:END-POS)))
-           IL:TEMP-DATE IL:DATE-RESULT)
+    (IL:* IL:|;;| "")
 
-          (IL:* IL:|;;| "(SETQ TEMP-DATE (CONCAT (GNC SHORT-DATE-STRING) (GNC SHORT-DATE-STRING))) (if (EQUAL \" \" (SUBSTRING TEMP-DATE 2)) then (SETQ TEMP-DATE (CONCAT \" \" (GNC TEMP-DATE))) else (GNC SHORT-DATE-STRING)) (SETQ DATE-RESULT (CONCAT TEMP-DATE \"-\" (GNC SHORT-DATE-STRING) (GNC SHORT-DATE-STRING) (GNC SHORT-DATE-STRING) \"-\")) (SETQ TEMP-DATE (SUBSTRING SHORT-DATE-STRING (PLUS 3 (STRPOS \" \" SHORT-DATE-STRING)))) (SETQ DATE-RESULT (CONCAT DATE-RESULT (GNC TEMP-DATE) (GNC TEMP-DATE) \" \")) (GNC TEMP-DATE) (GNC TEMP-DATE) (if (LESSP (STRPOS \":\" TEMP-DATE) 3) then (CONCAT DATE-RESULT \"0\" TEMP-DATE) else (CONCAT DATE-RESULT TEMP-DATE))")
-                                                             (IL:* IL:\; "")
-          IL:SHORT-DATE-STRING)))
+    (IL:* IL:|;;| 
+    "END-POS is the end of the line that contains the key substring, last char could be period")
+
+    (LET* ((IL:DATE-SUFFIX (IL:SUBSTRING IL:DATESTRING (IL:STRPOS (IF IL:CFLG
+                                                                      "FASL file created "
+                                                                      "Source file created ")
+                                                              IL:DATESTRING 1 NIL NIL T)))
+           (IL:END-POS (OR (IL:STRPOS (IL:CHARACTER (IL:CHARCODE EOL))
+                                  IL:DATE-SUFFIX)
+                           (IL:SUB1 (IL:NCHARS IL:DATE-SUFFIX)))))
+          (IL:GDATE (IL:IDATE (IL:SUBSTRING IL:DATE-SUFFIX 1 (IF (EQ (IL:CHARCODE \.)
+                                                                     (IL:NTHCHARCODE IL:END-POS -1))
+                                                                 (IL:SUB1 IL:END-POS 1)
+                                                                 IL:END-POS)))))))
 )
 
 
@@ -853,15 +850,15 @@ IL:|{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>FASLOAD.;3|)
 (IL:PUTPROPS IL:FASLOAD IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1989 1990 1991 1992 
 2018 2021))
 (IL:DECLARE\: IL:DONTCOPY
-  (IL:FILEMAP (NIL (6461 6877 (TABLE-STATS 6461 . 6877)) (7039 7318 (MAKE-OPTABLE 7039 . 7318)) (7320 
-7963 (DEFINE-OPCODE-RANGE 7320 . 7963)) (7965 8515 (DEFINE-SINGLE-OPCODE 7965 . 8515)) (8517 8775 (
-ADD-OP-TRANSLATION 8517 . 8775)) (8777 9141 (OPCODE-SEQUENCE 8777 . 9141)) (10735 10901 (
-FASL-END-OF-BLOCK 10735 . 10901)) (10903 11024 (FASL-EXTENDED 10903 . 11024)) (11026 11151 (SETESCAPE 
-11026 . 11151)) (11153 11249 (UNIMPLEMENTED-OPCODE 11153 . 11249)) (11610 12960 (PROCESS-FILE 11610 . 
-12960)) (12962 13192 (PROCESS-SEGMENT 12962 . 13192)) (13297 13609 (CHECK-VERSION 13297 . 13609)) (
-13611 14272 (READ-TEXT 13611 . 14272)) (14274 14776 (PROCESS-BLOCK 14274 . 14776)) (14778 14917 (
-SKIP-TEXT 14778 . 14917)) (14972 15579 (DO-OP 14972 . 15579)) (15581 15682 (NEW-VALUE-TABLE 15581 . 
-15682)) (15684 15783 (CLEAR-TABLE 15684 . 15783)) (15785 16039 (STORE-VALUE 15785 . 16039)) (16041 
-16126 (FETCH-VALUE 16041 . 16126)) (16128 16656 (COLLECT-LIST 16128 . 16656)) (31623 35206 (
-IL:FASL-FILEDATE 31636 . 32797) (CONVERT-FASL-DATE 32799 . 35204)))))
+  (IL:FILEMAP (NIL (6469 6885 (TABLE-STATS 6469 . 6885)) (7047 7326 (MAKE-OPTABLE 7047 . 7326)) (7328 
+7975 (DEFINE-OPCODE-RANGE 7328 . 7975)) (7977 8527 (DEFINE-SINGLE-OPCODE 7977 . 8527)) (8529 8787 (
+ADD-OP-TRANSLATION 8529 . 8787)) (8789 9149 (OPCODE-SEQUENCE 8789 . 9149)) (10727 10893 (
+FASL-END-OF-BLOCK 10727 . 10893)) (10895 11016 (FASL-EXTENDED 10895 . 11016)) (11018 11143 (SETESCAPE 
+11018 . 11143)) (11145 11241 (UNIMPLEMENTED-OPCODE 11145 . 11241)) (11602 12942 (PROCESS-FILE 11602 . 
+12942)) (12944 13174 (PROCESS-SEGMENT 12944 . 13174)) (13279 13591 (CHECK-VERSION 13279 . 13591)) (
+13593 14254 (READ-TEXT 13593 . 14254)) (14256 14742 (PROCESS-BLOCK 14256 . 14742)) (14744 14883 (
+SKIP-TEXT 14744 . 14883)) (14938 15545 (DO-OP 14938 . 15545)) (15547 15648 (NEW-VALUE-TABLE 15547 . 
+15648)) (15650 15749 (CLEAR-TABLE 15650 . 15749)) (15751 16006 (STORE-VALUE 15751 . 16006)) (16008 
+16093 (FETCH-VALUE 16008 . 16093)) (16095 16623 (COLLECT-LIST 16095 . 16623)) (30975 34345 (
+IL:FASL-FILEDATE 30988 . 32271) (CONVERT-FASL-DATE 32273 . 34343)))))
 IL:STOP
diff --git a/sources/FASLOAD.LCOM b/sources/FASLOAD.LCOM
index b480be22..6e4d14be 100644
Binary files a/sources/FASLOAD.LCOM and b/sources/FASLOAD.LCOM differ
