diff --git a/internal/MEDLEY-UTILS b/internal/MEDLEY-UTILS
index 6d4c99cd..c1b212f1 100644
--- a/internal/MEDLEY-UTILS
+++ b/internal/MEDLEY-UTILS
@@ -1,10 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
 
-(FILECREATED "20-Feb-2022 12:59:27" |{DSK}<home>larry>medley>internal>MEDLEY-UTILS.;4| 12701  
+(FILECREATED "12-Mar-2022 12:46:25" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>internal>MEDLEY-UTILS.;2| 12734  
 
-      :CHANGES-TO (FNS HCFILES)
+      :CHANGES-TO (FNS MAKE-WHEREIS-HASH)
 
-      :PREVIOUS-DATE "17-Feb-2022 21:44:44" |{DSK}<home>larry>medley>internal>MEDLEY-UTILS.;1|)
+      :PREVIOUS-DATE "20-Feb-2022 12:59:27" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>internal>MEDLEY-UTILS.;1|)
 
 
 (PRETTYCOMPRINT MEDLEY-UTILSCOMS)
@@ -138,16 +140,15 @@
     (GATHEREXPORTS EXPORTFILES (MEDLEYDIR "tmp" "exports.all" T))))
 
 (MAKE-WHEREIS-HASH
-  (LAMBDA NIL                                                (* \; 
-                                                           "Edited 24-Mar-2021 13:26 by larry")
-    (LET ((FILING.ENUMERATION.DEPTH 1)
+  (LAMBDA NIL                                               (* \; "Edited 12-Mar-2022 12:46 by rmk")
+                                                          (* \; "Edited 24-Mar-2021 13:26 by larry")
+    (LET ((FILING.ENUMERATION.DEPTH 2)
           HASHFILE)
          (DRIBBLE (MEDLEYDIR "tmp" "whereis.dribble" T))
          (SETQ HASHFILE (XCL::WHERE-IS-NOTICE (MEDLEYDIR "tmp" "whereis.hash-tmp" T)
                                :FILES
-                               (|for| X |in| MEDLEY-FIX-DIRS |collect|
-                                                                     (CONCAT (MEDLEYDIR X)
-                                                                            "*.;"))
+                               (|for| X |in| MEDLEY-FIX-DIRS |collect| (CONCAT (MEDLEYDIR X)
+                                                                              "*.;"))
                                :HASH-FILE-SIZE 60000 :NEW T))
          (RENAMEFILE HASHFILE (MEDLEYDIR "tmp" "whereis.hash" T))
          (DRIBBLE))))
@@ -223,7 +224,7 @@
 
 (RPAQ? HCFILES )
 (DECLARE\: DONTCOPY
-  (FILEMAP (NIL (699 7147 (GATHER-INFO 709 . 6249) (MEDLEY-FIX-LINKS 6251 . 6774) (MEDLEY-FIX-DATES 6776
- . 7145)) (7246 9117 (MAKE-EXPORTS-ALL 7256 . 8272) (MAKE-WHEREIS-HASH 8274 . 9115)) (9152 12656 (
-HCFILES 9162 . 12654)))))
+  (FILEMAP (NIL (753 7201 (GATHER-INFO 763 . 6303) (MEDLEY-FIX-LINKS 6305 . 6828) (MEDLEY-FIX-DATES 6830
+ . 7199)) (7300 9150 (MAKE-EXPORTS-ALL 7310 . 8326) (MAKE-WHEREIS-HASH 8328 . 9148)) (9185 12689 (
+HCFILES 9195 . 12687)))))
 STOP
diff --git a/internal/MEDLEY-UTILS.LCOM b/internal/MEDLEY-UTILS.LCOM
index 9c465dcf..65e267a9 100644
Binary files a/internal/MEDLEY-UTILS.LCOM and b/internal/MEDLEY-UTILS.LCOM differ
diff --git a/library/WHERE-IS b/library/WHERE-IS
index 5a548ec0..b3df0941 100644
--- a/library/WHERE-IS
+++ b/library/WHERE-IS
@@ -1,13 +1,13 @@
-(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "XCL")
-(IL:FILECREATED "13-Jun-90 01:24:39" IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;2| 17489  
+(DEFINE-FILE-INFO PACKAGE "XEROX-COMMON-LISP" READTABLE "XCL" BASE 10)
 
-      IL:|changes| IL:|to:|  (IL:VARS IL:WHERE-ISCOMS)
+(IL:FILECREATED "11-Mar-2022 22:40:32" 
+IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>library>WHERE-IS.;2| 17501  
 
-      IL:|previous| IL:|date:| " 6-Jun-88 18:42:35" 
-IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
+      :PREVIOUS-DATE "13-Jun-90 01:24:39" 
+IL:|{DSK}<Users>kaplan>Local>medley3.5>my-medley>library>WHERE-IS.;1|)
 
 
-; Copyright (c) 1987, 1988, 1990 by Venue & Xerox Corporation.  All rights reserved.
+; Copyright (c) 1987-1988, 1990 by Venue & Xerox Corporation.
 
 (IL:PRETTYCOMPRINT IL:WHERE-ISCOMS)
 
@@ -17,7 +17,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                  (REQUIRE "CASH-FILE" "CASH-FILE.DFASL"))
            (IL:COMS 
 
-                  (IL:* IL:|;;| "run time code")
+                  (IL:* IL:|;;| "run time code")
 
                   (IL:FUNCTIONS HASH-FILE-WHERE-IS HASH-FILE-TYPES-OF GET-WHERE-IS-ENTRIES 
                          WHERE-IS-READ-FN ADD-WHERE-IS-DATABASES ADD-WHERE-IS-DATABASE 
@@ -26,7 +26,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                   (IL:VARIABLES *WHERE-IS-CASH-FILES* *WHERE-IS-CASH-SIZE*))
            (IL:COMS 
 
-                  (IL:* IL:|;;| "notice time code")
+                  (IL:* IL:|;;| "notice time code")
 
                   (IL:FUNCTIONS WHERE-IS-NOTICE WHERE-IS-NOTICE-INTERNAL WHERE-IS-FILES 
                          WHERE-IS-DEFAULT-DEFINE-TYPES WHERE-IS-NAMESTRING WHERE-IS-READ-COMS 
@@ -48,16 +48,16 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN HASH-FILE-WHERE-IS (NAME TYPE)
 
-   (IL:* IL:|;;| "return a list of file names containing NAME of TYPE ")
+   (IL:* IL:|;;| "return a list of file names containing NAME of TYPE ")
 
    (REMOVE-DUPLICATES (MAPCAN #'(LAMBDA (ENTRY)
                                        (CDR (ASSOC TYPE ENTRY)))
-                             (GET-WHERE-IS-ENTRIES NAME))
+                             (GET-WHERE-IS-ENTRIES NAME))
           :TEST
           'STRING=))
 
-(DEFUN HASH-FILE-TYPES-OF (NAME &OPTIONAL (POSSIBLE-TYPES (WHERE-IS-DEFAULT-DEFINE-TYPES)))
-   (LET ((ENTRIES (GET-WHERE-IS-ENTRIES NAME))
+(DEFUN HASH-FILE-TYPES-OF (NAME &OPTIONAL (POSSIBLE-TYPES (WHERE-IS-DEFAULT-DEFINE-TYPES)))
+   (LET ((ENTRIES (GET-WHERE-IS-ENTRIES NAME))
          (TYPES NIL))
         (DOLIST (TYPE POSSIBLE-TYPES)
             (DOLIST (ENTRY ENTRIES)
@@ -68,7 +68,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN GET-WHERE-IS-ENTRIES (NAME)
 
-   (IL:* IL:|;;| "return a list of all entries for name in *WHERE-IS-CASH-FILES*")
+   (IL:* IL:|;;| "return a list of all entries for name in *WHERE-IS-CASH-FILES*")
 
    (MAPLIST #'(LAMBDA (TAIL)
                      (LET ((DATABASE (CAR TAIL)))
@@ -81,8 +81,8 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                                                           (HASH-FILE (CASH-FILE:CASH-FILE-HASH-FILE
                                                                       CASH-FILE)))
 
-                                                         (IL:* IL:|;;| 
-                                                       "install our read function in hash file")
+                                                         (IL:* IL:|;;| 
+                                                         "install our read function in hash file")
 
                                                          (SETF (HASH-FILE::HASH-FILE-KEY-READ-FN
                                                                 HASH-FILE)
@@ -91,29 +91,29 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                                                                 HASH-FILE)
                                                                #'WHERE-IS-READ-FN)
 
-                                                         (IL:* IL:|;;| 
-                                                       "smash CASH-FILE into *WHERE-IS-CASH-FILES*")
+                                                         (IL:* IL:|;;| 
+                                                         "smash CASH-FILE into *WHERE-IS-CASH-FILES*")
 
                                                          (SETF (CAR TAIL)
                                                                CASH-FILE))))
                                  (NIL NIL :REPORT "Delete from the databases known to WHERE-IS?"
-                                      (DEL-WHERE-IS-DATABASE DATABASE)
+                                      (DEL-WHERE-IS-DATABASE DATABASE)
                                       NIL))))
           *WHERE-IS-CASH-FILES*))
 
 (DEFUN WHERE-IS-READ-FN (STREAM)
 
-(IL:* IL:|;;;| "the :KEY-READ-FN & :VALUE-READ-FN for WHERE-IS hash files.")
+(IL:* IL:|;;;| "the :KEY-READ-FN & :VALUE-READ-FN for WHERE-IS hash files.")
 
    (HANDLER-CASE 
 
-          (IL:* IL:|;;| "use the default read function")
+          (IL:* IL:|;;| "use the default read function")
 
           (HASH-FILE::DEFAULT-READ-FN STREAM)
 
-          (IL:* IL:|;;| "Quietly handle MISSING-PACKAGE errors by returning the condition.")
+          (IL:* IL:|;;| "Quietly handle MISSING-PACKAGE errors by returning the condition.")
 
-          (IL:* IL:|;;| "This allows us to have files in our database which we havn't loaded.")
+          (IL:* IL:|;;| "This allows us to have files in our database which we havn't loaded.")
 
           (MISSING-PACKAGE (CONDITION)
                  CONDITION)))
@@ -126,18 +126,18 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
    "add PATHNAME to the databases known to WHERE-IS"
    (LET ((NEW-PATHNAME (PATHNAME PATHNAME)))
 
-        (IL:* IL:|;;| "first delete & close the old one (if any)")
+        (IL:* IL:|;;| "first delete & close the old one (if any)")
 
-        (DEL-WHERE-IS-DATABASE NEW-PATHNAME)
+        (DEL-WHERE-IS-DATABASE NEW-PATHNAME)
 
-        (IL:* IL:|;;| "now add the new one")
+        (IL:* IL:|;;| "now add the new one")
 
         (PUSH NEW-PATHNAME *WHERE-IS-CASH-FILES*)
         NEW-PATHNAME))
 
 (DEFUN DEL-WHERE-IS-DATABASE (DATABASE)
    (LET ((FOUND (FIND-IF #'(LAMBDA (ELEMENT)
-                                  (SAME-WHERE-IS-DATABASE DATABASE ELEMENT))
+                                  (SAME-WHERE-IS-DATABASE DATABASE ELEMENT))
                        *WHERE-IS-CASH-FILES*)))
         (WHEN FOUND
             (SETQ *WHERE-IS-CASH-FILES* (DELETE FOUND *WHERE-IS-CASH-FILES* :TEST 'EQ))
@@ -154,7 +154,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
          (LET ((PATHNAME-X (COERCE-TO-PATHAME X))
                (PATHNAME-Y (COERCE-TO-PATHAME Y)))
 
-              (IL:* IL:|;;| "do a case & version insensitive comparison")
+              (IL:* IL:|;;| "do a case & version insensitive comparison")
 
               (AND (EQUALP (PATHNAME-HOST PATHNAME-X)
                           (PATHNAME-HOST PATHNAME-Y))
@@ -174,8 +174,8 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                                        (LET ((CASH-FILE:CASH-FILE (FIRST TAIL)))
                                             (IF (CASH-FILE:CASH-FILE-P CASH-FILE:CASH-FILE)
 
-                                                (IL:* IL:|;;| 
-                                              "make sure we'll get latest version on re-boot")
+                                                (IL:* IL:|;;| 
+                                                "make sure we'll get latest version on re-boot")
 
                                                 (SETF (FIRST TAIL)
                                                       (MAKE-PATHNAME :VERSION :NEWEST :DEFAULTS
@@ -200,11 +200,11 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 
 (DEFUN WHERE-IS-NOTICE (DATABASE-FILE &KEY (FILES "*.;")
-                                  (NEW NIL)
-                                  (DEFINE-TYPES (WHERE-IS-DEFAULT-DEFINE-TYPES))
-                                  (HASH-FILE-SIZE *WHERE-IS-HASH-FILE-SIZE*)
-                                  (QUIET NIL)
-                                  (TEMP-FILE NIL))
+                              (NEW NIL)
+                              (DEFINE-TYPES (WHERE-IS-DEFAULT-DEFINE-TYPES))
+                              (HASH-FILE-SIZE *WHERE-IS-HASH-FILE-SIZE*)
+                              (QUIET NIL)
+                              (TEMP-FILE NIL))
    (LET* ((FILE (IF TEMP-FILE
                     (IF NEW
                         TEMP-FILE
@@ -215,22 +215,22 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                                    (HASH-FILE:OPEN-HASH-FILE FILE :DIRECTION :IO)))
           (HASH-FILE::*DELETE-OLD-VERSION-ON-REHASH* T))
          (UNWIND-PROTECT
-             (DOLIST (PATHNAME (WHERE-IS-FILES FILES))
+             (DOLIST (PATHNAME (WHERE-IS-FILES FILES))
                  (UNLESS QUIET
                      (FORMAT T ";;; ~A ." (NAMESTRING PATHNAME)))
-                 (LET ((NAMESTRING (WHERE-IS-NAMESTRING PATHNAME)))
+                 (LET ((NAMESTRING (WHERE-IS-NAMESTRING PATHNAME)))
                       (IF (AND (NOT NEW)
-                               (LET ((OLD-WRITE-DATE (WHERE-IS-GET-WRITE-DATE NAMESTRING 
+                               (LET ((OLD-WRITE-DATE (WHERE-IS-GET-WRITE-DATE NAMESTRING 
                                                             HASH-FILE:HASH-FILE)))
                                     (AND OLD-WRITE-DATE (= (FILE-WRITE-DATE PATHNAME)
                                                            OLD-WRITE-DATE))))
                           (UNLESS QUIET (FORMAT T " up to date.~%"))
                           (MULTIPLE-VALUE-BIND
                            (FILE-VARS VALUES)
-                           (WHERE-IS-READ-COMS PATHNAME)
+                           (WHERE-IS-READ-COMS PATHNAME)
                            (WHEN FILE-VARS
 
-                               (IL:* IL:|;;| "bind the filevars s.t. IL:INFILECOMS? will find them")
+                               (IL:* IL:|;;| "bind the filevars s.t. IL:INFILECOMS? will find them")
 
                                (PROGV FILE-VARS VALUES
                                    (UNLESS QUIET (PRINC "."))
@@ -238,12 +238,12 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                                        (LET ((NAMES (IL:INFILECOMS? NIL TYPE (FIRST FILE-VARS))))
                                             (WHEN (CONSP NAMES)
 
-                                                (IL:* IL:|;;| "IL:INFILECOMS? sometimes returns T.")
+                                                (IL:* IL:|;;| "IL:INFILECOMS? sometimes returns T.")
 
                                                 (DOLIST (NAME NAMES)
-                                                    (WHERE-IS-NOTICE-INTERNAL NAME TYPE NAMESTRING 
+                                                    (WHERE-IS-NOTICE-INTERNAL NAME TYPE NAMESTRING 
                                                            HASH-FILE:HASH-FILE))))))
-                               (WHERE-IS-SET-WRITE-DATE NAMESTRING PATHNAME HASH-FILE:HASH-FILE)
+                               (WHERE-IS-SET-WRITE-DATE NAMESTRING PATHNAME HASH-FILE:HASH-FILE)
                                (UNLESS QUIET
                                    (PRINC ". done.")
                                    (TERPRI)))))))
@@ -261,16 +261,16 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN WHERE-IS-NOTICE-INTERNAL (NAME TYPE FILE-NAME HASH-FILE:HASH-FILE)
 
-   (IL:* IL:|;;| "note that NAME is defined as TYPE on FILE-NAME in HASH-FILE ")
+   (IL:* IL:|;;| "note that NAME is defined as TYPE on FILE-NAME in HASH-FILE ")
 
-   (IL:* IL:|;;| "we keep an ALIST for each name, indexed by type")
+   (IL:* IL:|;;| "we keep an ALIST for each name, indexed by type")
 
    (LET* ((ALIST (HASH-FILE:GET-HASH-FILE NAME HASH-FILE:HASH-FILE))
           (OLD-ENTRY (ASSOC TYPE ALIST :TEST 'EQUAL))
           (OLD-FILES (CDR OLD-ENTRY)))
          (UNLESS (MEMBER FILE-NAME OLD-FILES)
 
-             (IL:* IL:|;;| "this optimization helps a lot when re-noticing a file ")
+             (IL:* IL:|;;| "this optimization helps a lot when re-noticing a file ")
 
              (SETF (HASH-FILE:GET-HASH-FILE NAME HASH-FILE:HASH-FILE)
                    (CONS (CONS TYPE (CONS FILE-NAME OLD-FILES))
@@ -278,9 +278,9 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN WHERE-IS-FILES (FILES)
 
-   (IL:* IL:|;;| "expand the FILES argument to WHERE-IS-NOTICE")
+   (IL:* IL:|;;| "expand the FILES argument to WHERE-IS-NOTICE")
 
-   (IL:* IL:|;;| "allow: non-LIST, file names & file patterns")
+   (IL:* IL:|;;| "allow: non-LIST, file names & file patterns")
 
    (MAPCAN #'(LAMBDA (PATTERN)
                     (LET ((PATHNAME (PROBE-FILE PATTERN)))
@@ -289,7 +289,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
                              (CASE IL:MAKESYSNAME
                                  (:LYRIC 
 
-                                    (IL:* IL:|;;| "CL:DIRECTORY is broken in Lyric")
+                                    (IL:* IL:|;;| "CL:DIRECTORY is broken in Lyric")
 
                                     (IL:DIRECTORY PATTERN))
                                  (OTHERWISE (DIRECTORY PATTERN))))))
@@ -300,7 +300,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 (DEFUN WHERE-IS-DEFAULT-DEFINE-TYPES ()
    (MAPCAN #'(LAMBDA (TYPE)
 
-                    (IL:* IL:|;;| "ignore aliases and types on *WHERE-IS-IGNORE-DEFINE-TYPES*")
+                    (IL:* IL:|;;| "ignore aliases and types on *WHERE-IS-IGNORE-DEFINE-TYPES*")
 
                     (UNLESS (OR (CONSP TYPE)
                                 (MEMBER TYPE *WHERE-IS-IGNORE-DEFINE-TYPES*))
@@ -309,7 +309,7 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN WHERE-IS-NAMESTRING (PATHNAME)
 
-   (IL:* IL:|;;| "return a namestring for PATHNAME containing only the NAME & TYPE fields ")
+   (IL:* IL:|;;| "return a namestring for PATHNAME containing only the NAME & TYPE fields ")
 
    (NAMESTRING (MAKE-PATHNAME :HOST NIL :NAME (PATHNAME-NAME PATHNAME)
                       :TYPE
@@ -320,11 +320,11 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 
 (DEFUN WHERE-IS-READ-COMS (PATHNAME)
 
-(IL:* IL:|;;;| "returns as first value a list of the filevars on PATHNAME, as second value a list of the values for these filevars.")
+(IL:* IL:|;;;| "returns as first value a list of the filevars on PATHNAME, as second value a list of the values for these filevars.")
 
    (IL:RESETLST
 
-       (IL:* IL:|;;| "make sure all IL:LOADVARS get undone")
+       (IL:* IL:|;;| "make sure all IL:LOADVARS get undone")
 
        (IL:RESETSAVE (IL:RESETUNDO))
        (DO ((IL:LOAD-VERBOSE-STREAM 'NIL)
@@ -354,20 +354,20 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
          (DOLIST (FILE-VAR QUEUE)
              (IF (MEMBER FILE-VAR ALL-FILE-VARS :TEST 'EQ)
 
-                 (IL:* IL:|;;| "don't want to load any twice")
+                 (IL:* IL:|;;| "don't want to load any twice")
 
                  (SETF QUEUE (DELETE FILE-VAR QUEUE :TEST 'EQ)))))))
 
 (DEFUN WHERE-IS-SET-WRITE-DATE (NAMESTRING PATHNAME HASH-FILE:HASH-FILE)
 
-   (IL:* IL:|;;| "store the write date as a bogus entry on the file")
+   (IL:* IL:|;;| "store the write date as a bogus entry on the file")
 
-   (WHERE-IS-NOTICE-INTERNAL NAMESTRING 'SI::WRITE-DATE (FILE-WRITE-DATE PATHNAME)
+   (WHERE-IS-NOTICE-INTERNAL NAMESTRING 'SI::WRITE-DATE (FILE-WRITE-DATE PATHNAME)
           HASH-FILE:HASH-FILE))
 
 (DEFUN WHERE-IS-GET-WRITE-DATE (NAMESTRING HASH-FILE:HASH-FILE)
 
-   (IL:* IL:|;;| "retrieve write date stored for NAMESTRING in HASH-FILE:HASH-FILE")
+   (IL:* IL:|;;| "retrieve write date stored for NAMESTRING in HASH-FILE:HASH-FILE")
 
    (CADR (ASSOC 'SI::WRITE-DATE (HASH-FILE:GET-HASH-FILE NAMESTRING HASH-FILE:HASH-FILE))))
 
@@ -381,5 +381,13 @@ IL:|{DSK}<usr>local>lde>lispcore>library>WHERE-IS.;1|)
 (IL:PUTPROPS IL:WHERE-IS IL:FILETYPE :COMPILE-FILE)
 (IL:PUTPROPS IL:WHERE-IS IL:COPYRIGHT ("Venue & Xerox Corporation" 1987 1988 1990))
 (IL:DECLARE\: IL:DONTCOPY
-  (IL:FILEMAP (NIL)))
+  (IL:FILEMAP (NIL (1758 2090 (HASH-FILE-WHERE-IS 1758 . 2090)) (2092 2485 (HASH-FILE-TYPES-OF 2092 . 
+2485)) (2487 4652 (GET-WHERE-IS-ENTRIES 2487 . 4652)) (4654 5169 (WHERE-IS-READ-FN 4654 . 5169)) (5171
+ 5327 (ADD-WHERE-IS-DATABASES 5171 . 5327)) (5329 5716 (ADD-WHERE-IS-DATABASE 5329 . 5716)) (5718 6197
+ (DEL-WHERE-IS-DATABASE 5718 . 6197)) (6199 7351 (SAME-WHERE-IS-DATABASE 6199 . 7351)) (7353 8560 (
+CLOSE-WHERE-IS-FILES 7353 . 8560)) (8818 12235 (WHERE-IS-NOTICE 8818 . 12235)) (12237 12981 (
+WHERE-IS-NOTICE-INTERNAL 12237 . 12981)) (12983 13719 (WHERE-IS-FILES 12983 . 13719)) (13721 14086 (
+WHERE-IS-DEFAULT-DEFINE-TYPES 13721 . 14086)) (14088 14507 (WHERE-IS-NAMESTRING 14088 . 14507)) (14509
+ 16521 (WHERE-IS-READ-COMS 14509 . 16521)) (16523 16794 (WHERE-IS-SET-WRITE-DATE 16523 . 16794)) (
+16796 17046 (WHERE-IS-GET-WRITE-DATE 16796 . 17046)))))
 IL:STOP
diff --git a/library/WHERE-IS.DFASL b/library/WHERE-IS.DFASL
index 96bbf96c..92cbcd27 100644
Binary files a/library/WHERE-IS.DFASL and b/library/WHERE-IS.DFASL differ
diff --git a/lispusers/ACE/ACE b/lispusers/ACE/ACE
index a8018f00..a9911c59 100644
--- a/lispusers/ACE/ACE
+++ b/lispusers/ACE/ACE
@@ -1,33 +1,28 @@
-(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
-(FILECREATED "16-Nov-93 14:13:50" {DSK}<king>export>lispcore>lispusers>ACE.;3 148254 
+(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-      changes to%:  (VARS ACE.BITMAP.MASK ACE-EDITCOMS ACELOGOMAP)
-                    (FNS ACE ACE.ANIMATE ACE.RUN ACEGETFRAME# ACERUNLOOP ACE.NEW.SEQUENCE 
-                         ACE.NEW.FRAME ACE.QUIT.ACE ACE.RESET.SEQ ACE.RUN.CURRENT.SEQ ACE.DELAY 
-                         ACE.DELAY.FRAME ACE.DELAY.SEQ ACE.DECREMENT.FRAME ACE.INCREMENT.FRAME 
-                         ACE.DELETE.FRAME ACE.SET.DEVICE ACE.QUICKDRAW&UPD ACE.RECONSTRUCT.FRAME 
-                         SUBLIST ACE.TRILLIUM ACE.TRILLIUM.LOOP ACE.RUN.TRILLIUM ACE.QUIT.TRILLIUM 
-                         ACE.CREATE.EDITING.BORDER ACE.GET.SEQ.FILE ACE.PUT.SEQ.FILE 
-                         ACE.GET.A.FILE.NAME ACE.ASKEM ACE.TELLEM ACE.CONFIRMIT ACE.DEFINE.SEQ.WINDOW
-                         ACE.FIGURE.OUT.WINDOW ACE.RETURN.CLOSEST.VERTEX ACE.NEW.SEQ.ASST 
-                         ACE.DELAY.FRAME.ASST ACE.SETUP.CW.CLIPPING.REGIONS ACE.CHECKSTUFF 
-                         ACE.UPD.CONTROL.WINDOW ACE.UPD.CW.MULE ACE.UPD.CLEAR.SET.LINE 
-                         ACE.CREATE.CONTROL.MENU ACE.SEQ.FETCH.WIDTH ACE.SEQ.FETCH.HEIGHT 
-                         ACE.SET.SEQ.CLIP.REGION ACE.ASKEM2 ACE.TELLEM2 ACE.UPD.CONTROL.WINDOW2 
-                         ACE.COMPILE.FRAME ACE.EXTRACT ACESETTHRESHOLD ACE.MAX.REGIONS 
-                         ACE.PICK.BEST.REGION ACE.COMPUTE.AREA ACE.SCAN.BITMAPS ACE.SCAN.PRIMBLOCKS 
-                         ACE.FETCH.BLOCK)
+(FILECREATED "16-Mar-2022 08:06:56" {DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>ACE>ACE.;2 146646 
 
-      previous date%: "16-Nov-93 13:52:56" {DSK}<king>export>lispcore>lispusers>ACE.;2)
+      :CHANGES-TO (VARS ACECOMS ACE-MAINCOMS ACE-PRIMCOMS ACE.PIXPERWORD ACE.BITMAP.MASK ACE-EDITCOMS
+                        )
+                  (RECORDS ACE.FRAME ACE.BLIT)
+                  (MACROS ACE.MT.SCRX.SEQX ACE.MT.SCRY.SEQY ACE.MT.SCRX.AWX ACE.MT.SCRY.AWY 
+                         ACE.MT.SEQ.SCR.REGION ACE.MT.SEQ.AW.REGION ACE.MT.AW.SCR.POINT 
+                         ACE.MT.AWX.SCRX ACE.MT.AWY.SCRY ACE.MT.AWX.SEQX ACE.MT.AWY.SEQY 
+                         ACE.MT.SEQX.SCRX ACE.MT.SEQY.SCRY ACE.MT.SEQX.AWX ACE.MT.SEQY.AWY 
+                         ACE.MAC.CW.INFO.CLIP ACE.MAC.CW.PROMPT.CLIP ACE.MAC.SEQ.CLIP 
+                         ACE.MAC.FETCH.WIDTH ACE.MAC.FETCH.HEIGHT)
+
+      :PREVIOUS-DATE "16-Nov-93 14:13:50" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>ACE>ACE.;1)
 
 
 (* ; "
-Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
+Copyright (c) 1988, 1993 by Michel Denber.
 ")
 
 (PRETTYCOMPRINT ACECOMS)
 
-(RPAQQ ACECOMS 
+(RPAQQ ACECOMS
        (
         (* ;; "Animation Compiler and Environment")
 
@@ -65,63 +60,63 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 
 (DECLARE%: EVAL@COMPILE 
 
-(PUTPROPS ACE.MT.SCRX.SEQX MACRO ((SCREENXCOOR)
+(PUTPROPS ACE.MT.SCRX.SEQX MACRO ((SCREENXCOOR)
                                   (IDIFFERENCE [IDIFFERENCE SCREENXCOOR (DSPXOFFSET
                                                                          NIL
                                                                          (WINDOWPROP ACE.SEQ.WINDOW
                                                                                 'DSP]
                                          ACE.SEQ.WINDOW.XOFF)))
 
-(PUTPROPS ACE.MT.SCRY.SEQY MACRO ((SCREENYCOOR)
+(PUTPROPS ACE.MT.SCRY.SEQY MACRO ((SCREENYCOOR)
                                   (IDIFFERENCE [IDIFFERENCE SCREENYCOOR (DSPYOFFSET
                                                                          NIL
                                                                          (WINDOWPROP ACE.SEQ.WINDOW
                                                                                 'DSP]
                                          ACE.SEQ.WINDOW.YOFF)))
 
-[PUTPROPS ACE.MT.SCRX.AWX MACRO ((SCREENXCOOR)
+(PUTPROPS ACE.MT.SCRX.AWX MACRO [(SCREENXCOOR)
                                  (IDIFFERENCE SCREENXCOOR (DSPXOFFSET NIL (WINDOWPROP ACE.SEQ.WINDOW
-                                                                                 'DSP]
+                                                                                 'DSP])
 
-[PUTPROPS ACE.MT.SCRY.AWY MACRO ((SCREENYCOOR)
+(PUTPROPS ACE.MT.SCRY.AWY MACRO [(SCREENYCOOR)
                                  (IDIFFERENCE SCREENYCOOR (DSPYOFFSET NIL (WINDOWPROP ACE.SEQ.WINDOW
-                                                                                 'DSP]
+                                                                                 'DSP])
 
-(PUTPROPS ACE.MT.SEQ.SCR.REGION MACRO (NIL (CREATEREGION (ACE.MT.SEQX.SCRX 0)
+(PUTPROPS ACE.MT.SEQ.SCR.REGION MACRO (NIL (CREATEREGION (ACE.MT.SEQX.SCRX 0)
                                                   (ACE.MT.SEQY.SCRY 0)
                                                   ACE.SEQ.WIDTH ACE.SEQ.HEIGHT)))
 
-(PUTPROPS ACE.MT.SEQ.AW.REGION MACRO (NIL (CREATEREGION ACE.SEQ.WINDOW.XOFF ACE.SEQ.WINDOW.YOFF 
+(PUTPROPS ACE.MT.SEQ.AW.REGION MACRO (NIL (CREATEREGION ACE.SEQ.WINDOW.XOFF ACE.SEQ.WINDOW.YOFF 
                                                  ACE.SEQ.WIDTH ACE.SEQ.HEIGHT)))
 
-[PUTPROPS ACE.MT.AW.SCR.POINT MACRO ((POINT)
+(PUTPROPS ACE.MT.AW.SCR.POINT MACRO [(POINT)
                                      (CONS (ACE.MT.AWX.SCRX (CAR POINT))
-                                           (ACE.MT.AWY.SCRY (CDR POINT]
+                                           (ACE.MT.AWY.SCRY (CDR POINT])
 
-[PUTPROPS ACE.MT.AWX.SCRX MACRO ((WINDOWXCOOR)
+(PUTPROPS ACE.MT.AWX.SCRX MACRO [(WINDOWXCOOR)
                                  (IPLUS WINDOWXCOOR (DSPXOFFSET NIL (WINDOWPROP ACE.SEQ.WINDOW
-                                                                           'DSP]
+                                                                           'DSP])
 
-[PUTPROPS ACE.MT.AWY.SCRY MACRO ((WINDOWYCOOR)
+(PUTPROPS ACE.MT.AWY.SCRY MACRO [(WINDOWYCOOR)
                                  (IPLUS WINDOWYCOOR (DSPYOFFSET NIL (WINDOWPROP ACE.SEQ.WINDOW
-                                                                           'DSP]
+                                                                           'DSP])
 
-(PUTPROPS ACE.MT.AWX.SEQX MACRO ((WINDOWX)
+(PUTPROPS ACE.MT.AWX.SEQX MACRO ((WINDOWX)
                                  (IDIFFERENCE WINDOWX ACE.SEQ.WINDOW.XOFF)))
 
-(PUTPROPS ACE.MT.AWY.SEQY MACRO ((WINDOWY)
+(PUTPROPS ACE.MT.AWY.SEQY MACRO ((WINDOWY)
                                  (IDIFFERENCE WINDOWY ACE.SEQ.WINDOW.YOFF)))
 
-[PUTPROPS ACE.MT.SEQX.SCRX MACRO ((SEQXCOOR)
-                                  (IPLUS ACE.SEQ.WINDOW.XOFF (ACE.MT.AWX.SCRX SEQXCOOR]
+(PUTPROPS ACE.MT.SEQX.SCRX MACRO ((SEQXCOOR)
+                                  (IPLUS ACE.SEQ.WINDOW.XOFF (ACE.MT.AWX.SCRX SEQXCOOR))))
 
-[PUTPROPS ACE.MT.SEQY.SCRY MACRO ((SEQYCOOR)
-                                  (IPLUS ACE.SEQ.WINDOW.YOFF (ACE.MT.AWY.SCRY SEQYCOOR]
+(PUTPROPS ACE.MT.SEQY.SCRY MACRO ((SEQYCOOR)
+                                  (IPLUS ACE.SEQ.WINDOW.YOFF (ACE.MT.AWY.SCRY SEQYCOOR))))
 
-(PUTPROPS ACE.MT.SEQX.AWX MACRO ((SEQXCOOR)
+(PUTPROPS ACE.MT.SEQX.AWX MACRO ((SEQXCOOR)
                                  (IPLUS SEQXCOOR ACE.SEQ.WINDOW.XOFF)))
 
-(PUTPROPS ACE.MT.SEQY.AWY MACRO ((SEQYCOOR)
+(PUTPROPS ACE.MT.SEQY.AWY MACRO ((SEQYCOOR)
                                  (IPLUS SEQYCOOR ACE.SEQ.WINDOW.YOFF)))
 )
 )
@@ -131,7 +126,7 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 (* ;; "ANIMATION FILES")
 
 
-(RPAQQ ACE-MAINCOMS 
+(RPAQQ ACE-MAINCOMS
        [(* MAIN TOP LEVEL STUFF)
         (FNS ACE ACE.ANIMATE ACE.RUN ACEGETFRAME# ACERUNLOOP ACE.NEW.SEQUENCE ACE.NEW.FRAME 
              ACE.QUIT.ACE ACE.RESET.SEQ ACE.RUN.CURRENT.SEQ ACE.DELAY ACE.DELAY.FRAME ACE.DELAY.SEQ 
@@ -1293,17 +1288,16 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 
 (DECLARE%: EVAL@COMPILE 
 
-(PUTPROPS ACE.MAC.CW.INFO.CLIP MACRO ((FORM)
+(PUTPROPS ACE.MAC.CW.INFO.CLIP MACRO ((FORM)
                                       (RESETLST
                                           [RESETSAVE (PROGN (DSPCLIPPINGREGION (WINDOWPROP
                                                                                 ACE.CONTROL.WINDOW
                                                                                 'INFO.CLIP.REGION)
                                                                    ACE.CONTROL.WINDOW)
                                                             (DSPLEFTMARGIN (fetch (REGION LEFT)
-                                                                              of
-                                                                              (WINDOWPROP
-                                                                               ACE.CONTROL.WINDOW
-                                                                               'INFO.CLIP.REGION))
+                                                                              of (WINDOWPROP
+                                                                                  ACE.CONTROL.WINDOW
+                                                                                  'INFO.CLIP.REGION))
                                                                    ACE.CONTROL.WINDOW))
                                                  '(PROGN (DSPCLIPPINGREGION (WINDOWPROP 
                                                                                    ACE.CONTROL.WINDOW
@@ -1314,36 +1308,29 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
                                                                 ACE.CONTROL.WINDOW)
                                                          (DSPLEFTMARGIN (fetch (REGION LEFT)
                                                                            of (WINDOWPROP
-                                                                                   ACE.CONTROL.WINDOW
-                                                                                   
-                                                                                   '
-                                                                                   NORMAL.CLIP.REGION
-                                                                                   ))
+                                                                               ACE.CONTROL.WINDOW
+                                                                               'NORMAL.CLIP.REGION))
                                                                 ACE.CONTROL.WINDOW]
                                           FORM)))
 
-(PUTPROPS ACE.MAC.CW.PROMPT.CLIP MACRO
-       ((FORM)
-        (RESETLST
-            [RESETSAVE (PROGN (DSPCLIPPINGREGION (WINDOWPROP ACE.CONTROL.WINDOW 'PROMPT.CLIP.REGION)
+(PUTPROPS ACE.MAC.CW.PROMPT.CLIP MACRO
+          ((FORM)
+           (RESETLST
+               [RESETSAVE (PROGN (DSPCLIPPINGREGION (WINDOWPROP ACE.CONTROL.WINDOW 
+                                                           'PROMPT.CLIP.REGION)
+                                        ACE.CONTROL.WINDOW)
+                                 (DSPLEFTMARGIN (fetch (REGION LEFT) of (WINDOWPROP 
+                                                                               ACE.CONTROL.WINDOW
+                                                                               'PROMPT.CLIP.REGION))
+                                        ACE.CONTROL.WINDOW))
+                      '(PROGN (DSPCLIPPINGREGION (WINDOWPROP ACE.CONTROL.WINDOW 'NORMAL.CLIP.REGION)
                                      ACE.CONTROL.WINDOW)
-                              (DSPLEFTMARGIN (fetch (REGION LEFT) of (WINDOWPROP 
-                                                                                   ACE.CONTROL.WINDOW
-                                                                                    
-                                                                                    '
-                                                                                   PROMPT.CLIP.REGION
-                                                                                    ))
-                                     ACE.CONTROL.WINDOW))
-                   '(PROGN (DSPCLIPPINGREGION (WINDOWPROP ACE.CONTROL.WINDOW 'NORMAL.CLIP.REGION)
-                                  ACE.CONTROL.WINDOW)
-                           (DSPLEFTMARGIN (fetch (REGION LEFT) of (WINDOWPROP 
-                                                                                 ACE.CONTROL.WINDOW
-                                                                                 'NORMAL.CLIP.REGION)
-                                                 )
-                                  ACE.CONTROL.WINDOW]
-            FORM)))
+                              (DSPLEFTMARGIN (fetch (REGION LEFT) of (WINDOWPROP ACE.CONTROL.WINDOW
+                                                                            'NORMAL.CLIP.REGION))
+                                     ACE.CONTROL.WINDOW]
+               FORM)))
 
-[PUTPROPS ACE.MAC.SEQ.CLIP MACRO ((FORM)
+(PUTPROPS ACE.MAC.SEQ.CLIP MACRO ((FORM)
                                   (COND
                                      ((WINDOWPROP ACE.CONTROL.WINDOW 'SEQUENCE.CLIPPING.REGION)
                                       (RESETLST
@@ -1358,22 +1345,19 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
                                                                                  ACE.SEQ.WINDOW)
                                                        ACE.SEQ.WINDOW))
                                           FORM))
-                                     (T FORM]
+                                     (T FORM))))
 )
 (DECLARE%: EVAL@COMPILE 
 
-[PUTPROPS ACE.MAC.FETCH.WIDTH MACRO (NIL (fetch (BITMAP BITMAPWIDTH)
+(PUTPROPS ACE.MAC.FETCH.WIDTH MACRO [NIL (fetch (BITMAP BITMAPWIDTH)
                                             of (fetch (ACE.BLIT BITMAP)
-                                                      of (CAR (fetch (ACE.FRAME BLITS)
-                                                                     of (CAR ACE.CURRENT.SEQUENCE
-                                                                                 ]
+                                                  of (CAR (fetch (ACE.FRAME BLITS)
+                                                             of (CAR ACE.CURRENT.SEQUENCE])
 
-[PUTPROPS ACE.MAC.FETCH.HEIGHT MACRO (NIL (fetch (BITMAP BITMAPHEIGHT)
+(PUTPROPS ACE.MAC.FETCH.HEIGHT MACRO [NIL (fetch (BITMAP BITMAPHEIGHT)
                                              of (fetch (ACE.BLIT BITMAP)
-                                                       of (CAR (fetch (ACE.FRAME BLITS)
-                                                                      of (CAR 
-                                                                                 ACE.CURRENT.SEQUENCE
-                                                                                  ]
+                                                   of (CAR (fetch (ACE.FRAME BLITS)
+                                                              of (CAR ACE.CURRENT.SEQUENCE])
 )
 (RPAQ ACE.LEFTMOUSE.CURSOR (CURSORCREATE (QUOTE #*(16 16)GOOLD@@DELIDELIDELIDELIDELIDELIDELIDD@@DD@@DD@@DD@@DD@@DD@@DGOOL
 ) (QUOTE NIL) 8 8))
@@ -1417,14 +1401,15 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 (ADDTOVAR LAMA )
 )
 
-(RPAQQ ACE-PRIMCOMS ((* COMPILER STUFF)
-                         (VARS ACE.PIXPERWORD ACE.BITMAP.MASK)
-                         (* LOW LEVEL COMPILER FNS)
-                         (FNS ACE.COMPILE.FRAME ACE.EXTRACT ACESETTHRESHOLD)
-                         (* REGION MAXING ROUTINES)
-                         (FNS ACE.MAX.REGIONS ACE.PICK.BEST.REGION ACE.COMPUTE.AREA)
-                         (* LOW LEVEL BITMAP COMPARISON)
-                         (FNS ACE.SCAN.BITMAPS ACE.SCAN.PRIMBLOCKS ACE.FETCH.BLOCK)))
+(RPAQQ ACE-PRIMCOMS
+       ((* COMPILER STUFF)
+        (VARS ACE.PIXPERWORD ACE.BITMAP.MASK)
+        (* LOW LEVEL COMPILER FNS)
+        (FNS ACE.COMPILE.FRAME ACE.EXTRACT ACESETTHRESHOLD)
+        (* REGION MAXING ROUTINES)
+        (FNS ACE.MAX.REGIONS ACE.PICK.BEST.REGION ACE.COMPUTE.AREA)
+        (* LOW LEVEL BITMAP COMPARISON)
+        (FNS ACE.SCAN.BITMAPS ACE.SCAN.PRIMBLOCKS ACE.FETCH.BLOCK)))
 
 
 
@@ -1687,10 +1672,8 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
            WORDOFFSET])
 )
 
-(RPAQQ ACE-EDITCOMS 
-       [(FILES (LOADCOMP)
-               ACE)
-        (* TOP LEVEL EDITING STUFF)
+(RPAQQ ACE-EDITCOMS
+       [(* TOP LEVEL EDITING STUFF)
         (FNS ACE.EDIT ACE.EDIT.FRAME ACE.EDIT.SETUP.EDIT.MENU ACEGETREGIONFACTOR ACEROTATEREGION 
              ACESCALEREGION)
         (* LINEART FNS)
@@ -1715,9 +1698,6 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
                ACE.EDIT.TEXT.FACE.MENU ACE.EDIT.TEXTURE.MENU ACE.EDIT.PUTDOWN.MENU)
         (DECLARE%: DONTEVAL@LOAD DOCOPY (P (ACE.EDIT.CLEAR.ALL.MENUS])
 
-(FILESLOAD (LOADCOMP)
-       ACE)
-
 
 
 (* TOP LEVEL EDITING STUFF)
@@ -1822,13 +1802,13 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 )
 (DECLARE%: EVAL@COMPILE 
 
-[PUTPROPS ACE.POPPOS MACRO ((STACK X Y)
+(PUTPROPS ACE.POPPOS MACRO ((STACK X Y)
                             (SETQ Y (pop STACK))
                             (SETQ X (fetch (POSITION XCOORD) of Y))
-                            (SETQ Y (fetch (POSITION YCOORD) of Y]
+                            (SETQ Y (fetch (POSITION YCOORD) of Y))))
 
-[PUTPROPS ACE.PUSHPOS MACRO ((X Y STACK)
-                             (push STACK (CREATEPOSITION X Y]
+(PUTPROPS ACE.PUSHPOS MACRO ((X Y STACK)
+                             (push STACK (CREATEPOSITION X Y))))
 )
 (RPAQ ACE.EDIT.LINEART.SQUARE.CURSOR (CURSORCREATE (QUOTE #*(16 16)@@@@OOONHA@BHA@BHA@BHA@BHA@BHA@BOOONHA@BHA@BHA@BHA@BHA@BHA@BOOON
 ) (QUOTE NIL) 7 7))
@@ -1854,40 +1834,40 @@ Copyright (c) 1988, 1993 by Michel Denber.  All rights reserved.
 )
 (PUTPROPS ACE COPYRIGHT ("Michel Denber" 1988 1993))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (8402 32042 (ACE 8412 . 11427) (ACE.ANIMATE 11429 . 12643) (ACE.RUN 12645 . 14531) (
-ACEGETFRAME# 14533 . 14721) (ACERUNLOOP 14723 . 15234) (ACE.NEW.SEQUENCE 15236 . 17042) (ACE.NEW.FRAME
- 17044 . 17853) (ACE.QUIT.ACE 17855 . 18494) (ACE.RESET.SEQ 18496 . 18848) (ACE.RUN.CURRENT.SEQ 18850
- . 19432) (ACE.DELAY 19434 . 21072) (ACE.DELAY.FRAME 21074 . 22544) (ACE.DELAY.SEQ 22546 . 23005) (
-ACE.DECREMENT.FRAME 23007 . 23324) (ACE.INCREMENT.FRAME 23326 . 25083) (ACE.DELETE.FRAME 25085 . 26954
-) (ACE.SET.DEVICE 26956 . 28256) (ACE.QUICKDRAW&UPD 28258 . 30527) (ACE.RECONSTRUCT.FRAME 30529 . 
-31887) (SUBLIST 31889 . 32040)) (32070 41108 (ACE.TRILLIUM 32080 . 36038) (ACE.TRILLIUM.LOOP 36040 . 
-37514) (ACE.RUN.TRILLIUM 37516 . 40110) (ACE.QUIT.TRILLIUM 40112 . 40326) (ACE.CREATE.EDITING.BORDER 
-40328 . 41106)) (41131 46621 (ACE.GET.SEQ.FILE 41141 . 43680) (ACE.PUT.SEQ.FILE 43682 . 46452) (
-ACE.GET.A.FILE.NAME 46454 . 46619)) (46645 69991 (ACE.ASKEM 46655 . 47960) (ACE.TELLEM 47962 . 48645) 
-(ACE.CONFIRMIT 48647 . 49654) (ACE.DEFINE.SEQ.WINDOW 49656 . 50754) (ACE.FIGURE.OUT.WINDOW 50756 . 
-51595) (ACE.RETURN.CLOSEST.VERTEX 51597 . 52368) (ACE.NEW.SEQ.ASST 52370 . 53315) (
-ACE.DELAY.FRAME.ASST 53317 . 53657) (ACE.SETUP.CW.CLIPPING.REGIONS 53659 . 57954) (ACE.CHECKSTUFF 
-57956 . 58409) (ACE.UPD.CONTROL.WINDOW 58411 . 60894) (ACE.UPD.CW.MULE 60896 . 63307) (
-ACE.UPD.CLEAR.SET.LINE 63309 . 63600) (ACE.CREATE.CONTROL.MENU 63602 . 66540) (ACE.SEQ.FETCH.WIDTH 
-66542 . 66912) (ACE.SEQ.FETCH.HEIGHT 66914 . 67288) (ACE.SET.SEQ.CLIP.REGION 67290 . 67696) (
-ACE.ASKEM2 67698 . 68307) (ACE.TELLEM2 68309 . 68593) (ACE.UPD.CONTROL.WINDOW2 68595 . 69989)) (78287 
-81190 (ACE.COMPILE.FRAME 78297 . 79466) (ACE.EXTRACT 79468 . 80697) (ACESETTHRESHOLD 80699 . 81188)) (
-81226 87040 (ACE.MAX.REGIONS 81236 . 82654) (ACE.PICK.BEST.REGION 82656 . 86738) (ACE.COMPUTE.AREA 
-86740 . 87038)) (87081 92213 (ACE.SCAN.BITMAPS 87091 . 90057) (ACE.SCAN.PRIMBLOCKS 90059 . 91588) (
-ACE.FETCH.BLOCK 91590 . 92211)) (93893 101007 (ACE.EDIT 93903 . 95686) (ACE.EDIT.FRAME 95688 . 96959) 
-(ACE.EDIT.SETUP.EDIT.MENU 96961 . 98326) (ACEGETREGIONFACTOR 98328 . 98664) (ACEROTATEREGION 98666 . 
-99692) (ACESCALEREGION 99694 . 101005)) (101032 104846 (ACE.EDIT.LINEART 101042 . 102207) (
-ACE.EDIT.LINEART.DRAW 102209 . 103346) (ACE.EDIT.LINEART.ADJ 103348 . 104458) (
-ACE.EDIT.LINEART.TRACKLINE 104460 . 104844)) (104879 132278 (ACE.EDIT.MOVE.REGION 104889 . 106327) (
-ACE.EDIT.COMBINE.REGION 106329 . 106937) (ACE.EDIT.TEXT 106939 . 109812) (ACE.EDIT.TEXTURE.REGION 
-109814 . 111378) (ACE.EDIT.TEXTURE.AREA 111380 . 113636) (ACE.EDIT.PAINT 113638 . 125658) (
-ACE.FILLWITHTEXTURE 125660 . 126432) (ACE.SCANLINESEEDFILL 126434 . 128587) (
-ACE.EDIT.CREATE.MENU.TEXTURES 128589 . 129163) (ACE.EDIT.PUTDOWN.BITMAP 129165 . 130752) (
-ACE.EDIT.MOVE.REGION.ASST 130754 . 131231) (ACEEDITBM 131233 . 132123) (ACE.READBRUSHSHAPE 132125 . 
-132276)) (132314 145153 (ACE.EDIT.POINT&CODE 132324 . 133418) (ACE.GET.DEVICE.STATE 133420 . 134038) (
-ACE.GET.DEVICE.STATE&CURSOR 134040 . 134964) (ACE.EXTRACTBM 134966 . 135294) (ACE.EDIT.REDRAW.ABITMAP 
-135296 . 135493) (ACE.SCALE.BITMAP 135495 . 140087) (ACE.COMPILE.FRAME.ACE 140089 . 140697) (
-ACE.MM1201.INIT 140699 . 141950) (ACE.MM1201POLL 141952 . 142782) (ACE.MM1201.PROBLEM 142784 . 143126)
- (ACE.EDIT.CLEAR.ALL.MENUS 143128 . 143539) (ROTATEBM 143541 . 145082) (RS232LOSTCHARFN 145087 . 
-145151)))))
+  (FILEMAP (NIL (7831 31471 (ACE 7841 . 10856) (ACE.ANIMATE 10858 . 12072) (ACE.RUN 12074 . 13960) (
+ACEGETFRAME# 13962 . 14150) (ACERUNLOOP 14152 . 14663) (ACE.NEW.SEQUENCE 14665 . 16471) (ACE.NEW.FRAME
+ 16473 . 17282) (ACE.QUIT.ACE 17284 . 17923) (ACE.RESET.SEQ 17925 . 18277) (ACE.RUN.CURRENT.SEQ 18279
+ . 18861) (ACE.DELAY 18863 . 20501) (ACE.DELAY.FRAME 20503 . 21973) (ACE.DELAY.SEQ 21975 . 22434) (
+ACE.DECREMENT.FRAME 22436 . 22753) (ACE.INCREMENT.FRAME 22755 . 24512) (ACE.DELETE.FRAME 24514 . 26383
+) (ACE.SET.DEVICE 26385 . 27685) (ACE.QUICKDRAW&UPD 27687 . 29956) (ACE.RECONSTRUCT.FRAME 29958 . 
+31316) (SUBLIST 31318 . 31469)) (31499 40537 (ACE.TRILLIUM 31509 . 35467) (ACE.TRILLIUM.LOOP 35469 . 
+36943) (ACE.RUN.TRILLIUM 36945 . 39539) (ACE.QUIT.TRILLIUM 39541 . 39755) (ACE.CREATE.EDITING.BORDER 
+39757 . 40535)) (40560 46050 (ACE.GET.SEQ.FILE 40570 . 43109) (ACE.PUT.SEQ.FILE 43111 . 45881) (
+ACE.GET.A.FILE.NAME 45883 . 46048)) (46074 69420 (ACE.ASKEM 46084 . 47389) (ACE.TELLEM 47391 . 48074) 
+(ACE.CONFIRMIT 48076 . 49083) (ACE.DEFINE.SEQ.WINDOW 49085 . 50183) (ACE.FIGURE.OUT.WINDOW 50185 . 
+51024) (ACE.RETURN.CLOSEST.VERTEX 51026 . 51797) (ACE.NEW.SEQ.ASST 51799 . 52744) (
+ACE.DELAY.FRAME.ASST 52746 . 53086) (ACE.SETUP.CW.CLIPPING.REGIONS 53088 . 57383) (ACE.CHECKSTUFF 
+57385 . 57838) (ACE.UPD.CONTROL.WINDOW 57840 . 60323) (ACE.UPD.CW.MULE 60325 . 62736) (
+ACE.UPD.CLEAR.SET.LINE 62738 . 63029) (ACE.CREATE.CONTROL.MENU 63031 . 65969) (ACE.SEQ.FETCH.WIDTH 
+65971 . 66341) (ACE.SEQ.FETCH.HEIGHT 66343 . 66717) (ACE.SET.SEQ.CLIP.REGION 66719 . 67125) (
+ACE.ASKEM2 67127 . 67736) (ACE.TELLEM2 67738 . 68022) (ACE.UPD.CONTROL.WINDOW2 68024 . 69418)) (76739 
+79642 (ACE.COMPILE.FRAME 76749 . 77918) (ACE.EXTRACT 77920 . 79149) (ACESETTHRESHOLD 79151 . 79640)) (
+79678 85492 (ACE.MAX.REGIONS 79688 . 81106) (ACE.PICK.BEST.REGION 81108 . 85190) (ACE.COMPUTE.AREA 
+85192 . 85490)) (85533 90665 (ACE.SCAN.BITMAPS 85543 . 88509) (ACE.SCAN.PRIMBLOCKS 88511 . 90040) (
+ACE.FETCH.BLOCK 90042 . 90663)) (92263 99377 (ACE.EDIT 92273 . 94056) (ACE.EDIT.FRAME 94058 . 95329) (
+ACE.EDIT.SETUP.EDIT.MENU 95331 . 96696) (ACEGETREGIONFACTOR 96698 . 97034) (ACEROTATEREGION 97036 . 
+98062) (ACESCALEREGION 98064 . 99375)) (99402 103216 (ACE.EDIT.LINEART 99412 . 100577) (
+ACE.EDIT.LINEART.DRAW 100579 . 101716) (ACE.EDIT.LINEART.ADJ 101718 . 102828) (
+ACE.EDIT.LINEART.TRACKLINE 102830 . 103214)) (103249 130648 (ACE.EDIT.MOVE.REGION 103259 . 104697) (
+ACE.EDIT.COMBINE.REGION 104699 . 105307) (ACE.EDIT.TEXT 105309 . 108182) (ACE.EDIT.TEXTURE.REGION 
+108184 . 109748) (ACE.EDIT.TEXTURE.AREA 109750 . 112006) (ACE.EDIT.PAINT 112008 . 124028) (
+ACE.FILLWITHTEXTURE 124030 . 124802) (ACE.SCANLINESEEDFILL 124804 . 126957) (
+ACE.EDIT.CREATE.MENU.TEXTURES 126959 . 127533) (ACE.EDIT.PUTDOWN.BITMAP 127535 . 129122) (
+ACE.EDIT.MOVE.REGION.ASST 129124 . 129601) (ACEEDITBM 129603 . 130493) (ACE.READBRUSHSHAPE 130495 . 
+130646)) (130684 143523 (ACE.EDIT.POINT&CODE 130694 . 131788) (ACE.GET.DEVICE.STATE 131790 . 132408) (
+ACE.GET.DEVICE.STATE&CURSOR 132410 . 133334) (ACE.EXTRACTBM 133336 . 133664) (ACE.EDIT.REDRAW.ABITMAP 
+133666 . 133863) (ACE.SCALE.BITMAP 133865 . 138457) (ACE.COMPILE.FRAME.ACE 138459 . 139067) (
+ACE.MM1201.INIT 139069 . 140320) (ACE.MM1201POLL 140322 . 141152) (ACE.MM1201.PROBLEM 141154 . 141496)
+ (ACE.EDIT.CLEAR.ALL.MENUS 141498 . 141909) (ROTATEBM 141911 . 143452) (RS232LOSTCHARFN 143457 . 
+143521)))))
 STOP
diff --git a/lispusers/ACE/ACE.LCOM b/lispusers/ACE/ACE.LCOM
index fa0911ef..c419de32 100644
Binary files a/lispusers/ACE/ACE.LCOM and b/lispusers/ACE/ACE.LCOM differ
diff --git a/lispusers/TMAX-ENDNOTE.LCOM b/lispusers/TMAX-ENDNOTE.LCOM
deleted file mode 100644
index 9533b397..00000000
Binary files a/lispusers/TMAX-ENDNOTE.LCOM and /dev/null differ
diff --git a/lispusers/TMAX-NUMBER.LCOM b/lispusers/TMAX-NUMBER.LCOM
deleted file mode 100644
index fd1c7668..00000000
Binary files a/lispusers/TMAX-NUMBER.LCOM and /dev/null differ
diff --git a/lispusers/TMAX-XREF.LCOM b/lispusers/TMAX-XREF.LCOM
deleted file mode 100644
index 6d3d7a4b..00000000
Binary files a/lispusers/TMAX-XREF.LCOM and /dev/null differ
diff --git a/lispusers/TMAX.INDEX b/lispusers/TMAX.INDEX
deleted file mode 100644
index 66265322..00000000
Binary files a/lispusers/TMAX.INDEX and /dev/null differ
diff --git a/lispusers/TMAX b/lispusers/TMAX/TMAX
similarity index 78%
rename from lispusers/TMAX
rename to lispusers/TMAX/TMAX
index 4f5d5eea..752cefc6 100644
--- a/lispusers/TMAX
+++ b/lispusers/TMAX/TMAX
@@ -1,13 +1,11 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "24-Oct-2021 23:45:20" 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>lispusers>TMAX.;4 31402  
+(FILECREATED "17-Mar-2022 23:12:47" {DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX.;3 25981  
 
-      changes to%:  (VARS TMAXCOMS)
-                    (FNS GET.TSP.FONT.FAMILY)
+      :CHANGES-TO (VARS TMAXCOMS)
 
-      previous date%: "24-Oct-2021 22:06:32" 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>lispusers>TMAX.;2)
+      :PREVIOUS-DATE "24-Oct-2021 23:45:20" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX.;2)
 
 
 (* ; "
@@ -18,9 +16,9 @@ Copyright (c) 1987, 1997, 1999 by Stanford University.
 
 (RPAQQ TMAXCOMS
        (                                                     (* ; 
-                                                 "Developed under support from NIH grant RR-00785.")
+                                                   "Developed under support from NIH grant RR-00785.")
                                                              (* ; 
-                                                       "Written by Frank Gilmurray and Sami Shaio.")
+                                                         "Written by Frank Gilmurray and Sami Shaio.")
         (FILES (COMPILED SYSLOAD)
                TEDIT FREEMENU)
         (VARS TMAX.FILE.LIST)
@@ -59,18 +57,8 @@ Copyright (c) 1987, 1997, 1999 by Stanford University.
 
         (FNS TSP.LIST.OF.OBJECTS)
         (GLOBALVARS GP.DefaultFont GP.DefaultShade)
-        (MACROS MAKE.DATEOBJ.IMAGEFNS MAKE.NUMBEROBJ.IMAGEFNS MAKE.REGMARKOBJ.IMAGEFNS 
-               MAKE.XREFOBJ.IMAGEFNS)
         (VARS (GP.DefaultFont (FONTCREATE 'TERMINAL 10))
-              (GP.DefaultShade 1024)
-              (\NUMBEROBJ.IMAGEFNS (MAKE.NUMBEROBJ.IMAGEFNS))
-              (\DATEOBJ.IMAGEFNS (MAKE.DATEOBJ.IMAGEFNS))
-              (\REGMARKOBJ.IMAGEFNS (MAKE.REGMARKOBJ.IMAGEFNS))
-              (\XREFOBJ.IMAGEFNS (MAKE.XREFOBJ.IMAGEFNS)))
-        (ADDVARS (IMAGEOBJGETFNS (DATE.GETFN)
-                        (NUMBER.GETFN)
-                        (REGMARK.GETFN)
-                        (XREF.GETFN)))
+              (GP.DefaultShade 1024))
         (P [TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENU '(TMAX% Menu (FUNCTION TSP.DISPLAY.FMMENU)
                                                           NIL
                                                           (SUBITEMS (Update [FUNCTION
@@ -106,7 +94,7 @@ Copyright (c) 1987, 1997, 1999 by Stanford University.
        TEDIT FREEMENU)
 
 (RPAQQ TMAX.FILE.LIST (TMAX-DATE TMAX-ENDNOTE TMAX-INDEX TMAX-NUMBER TMAX-NGRAPH TMAX-NGROUP 
-                                 TMAX-XREF))
+                             TMAX-XREF))
 (DECLARE%: DONTCOPY 
 
 (DOFILESLOAD (LIST* '(SOURCE)
@@ -552,92 +540,16 @@ Copyright (c) 1987, 1997, 1999 by Stanford University.
 
 (GLOBALVARS GP.DefaultFont GP.DefaultShade)
 )
-(DECLARE%: EVAL@COMPILE 
-
-(PUTPROPS MAKE.DATEOBJ.IMAGEFNS MACRO [LAMBDA NIL
-                                                (IMAGEFNSCREATE (FUNCTION DATE.DISPLAYFN)
-                                                       (FUNCTION DATE.IMAGEBOXFN)
-                                                       (FUNCTION DATE.PUTFN)
-                                                       (FUNCTION DATE.GETFN)
-                                                       (FUNCTION DATE.COPYFN)
-                                                       (FUNCTION DATE.BUTTONEVENTINFN)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL])
-
-(PUTPROPS MAKE.NUMBEROBJ.IMAGEFNS MACRO [LAMBDA NIL
-                                                  (IMAGEFNSCREATE (FUNCTION NUMBER.DISPLAYFN)
-                                                         (FUNCTION NUMBER.IMAGEBOXFN)
-                                                         (FUNCTION NUMBER.PUTFN)
-                                                         (FUNCTION NUMBER.GETFN)
-                                                         (FUNCTION NUMBER.COPYFN)
-                                                         (FUNCTION NUMBER.BUTTONEVENTINFN)
-                                                         (FUNCTION NILL)
-                                                         (FUNCTION NILL)
-                                                         (FUNCTION NILL)
-                                                         (FUNCTION XREF.WHENDELETEDFN)
-                                                         (FUNCTION NILL)
-                                                         (FUNCTION NILL)
-                                                         (FUNCTION NUMBER.PREPRINTFN])
-
-(PUTPROPS MAKE.REGMARKOBJ.IMAGEFNS MACRO [LAMBDA NIL
-                                                   (IMAGEFNSCREATE (FUNCTION REGMARK.DISPLAYFN)
-                                                          (FUNCTION REGMARK.IMAGEBOXFN)
-                                                          (FUNCTION REGMARK.PUTFN)
-                                                          (FUNCTION REGMARK.GETFN)
-                                                          (FUNCTION REGMARK.COPYFN)
-                                                          (FUNCTION REGMARK.BUTTONEVENTINFN)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL)
-                                                          (FUNCTION NILL])
-
-(PUTPROPS MAKE.XREFOBJ.IMAGEFNS MACRO [LAMBDA NIL
-                                                (IMAGEFNSCREATE (FUNCTION XREF.DISPLAYFN)
-                                                       (FUNCTION XREF.IMAGEBOXFN)
-                                                       (FUNCTION XREF.PUTFN)
-                                                       (FUNCTION XREF.GETFN)
-                                                       (FUNCTION XREF.COPYFN)
-                                                       (FUNCTION XREF.BUTTONEVENTINFN)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION NILL)
-                                                       (FUNCTION XREF.GET.DISPLAY.TEXT])
-)
 
 (RPAQ GP.DefaultFont (FONTCREATE 'TERMINAL 10))
 
 (RPAQQ GP.DefaultShade 1024)
 
-(RPAQ \NUMBEROBJ.IMAGEFNS (MAKE.NUMBEROBJ.IMAGEFNS))
-
-(RPAQ \DATEOBJ.IMAGEFNS (MAKE.DATEOBJ.IMAGEFNS))
-
-(RPAQ \REGMARKOBJ.IMAGEFNS (MAKE.REGMARKOBJ.IMAGEFNS))
-
-(RPAQ \XREFOBJ.IMAGEFNS (MAKE.XREFOBJ.IMAGEFNS))
-
-(ADDTOVAR IMAGEOBJGETFNS (DATE.GETFN)
-                             (NUMBER.GETFN)
-                             (REGMARK.GETFN)
-                             (XREF.GETFN))
-
 [TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENU '(TMAX% Menu (FUNCTION TSP.DISPLAY.FMMENU)
                                                NIL
                                                (SUBITEMS (Update [FUNCTION (LAMBDA (TEXTSTREAM)
-                                                                             (UPDATE.ALL
-                                                                              TEXTSTREAM
-                                                                              (\TEDIT.MAINW 
+                                                                             (UPDATE.ALL TEXTSTREAM
+                                                                                    (\TEDIT.MAINW
                                                                                      TEXTSTREAM]
                                                                 "Updates all cross-references")
                                                       (NGroup% Menu [FUNCTION (LAMBDA (TEXTSTREAM)
@@ -650,14 +562,14 @@ Copyright (c) 1987, 1997, 1999 by Stanford University.
 (TSP.FUNCTION.HOOKS)
 (PUTPROPS TMAX COPYRIGHT ("Stanford University" 1987 1997 1999))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (8815 16030 (TSP.DISPLAY.FMMENU 8825 . 9390) (TSP.SETUP.FILENAMES 9392 . 10643) (
-TSP.SETUP.FMMENU 10645 . 11105) (TSP.FMMENU 11107 . 12293) (TSP.FM.APPLY 12295 . 12614) (UPDATE.ALL 
-12616 . 13288) (DOWNDATE.ALL 13290 . 13660) (TSP.FUNCTION.HOOKS 13662 . 15092) (TSP.GETFN 15094 . 
-15654) (TSP.PUTFN 15656 . 16028)) (16076 18325 (AutoUpdate.TOGGLE 16086 . 16322) (UPDATE? 16324 . 
-16469) (NGROUP.Menu.TOGGLE 16471 . 16853) (NGROUPMENU.ENABLED? 16855 . 17091) (
-NGROUP.Text-Before.TOGGLE 17093 . 17343) (TEXTBEFORE.ENABLED? 17345 . 17508) (NGROUP.Text-After.TOGGLE
- 17510 . 17758) (TEXTAFTER.ENABLED? 17760 . 17921) (Manual.Index.TOGGLE 17923 . 18162) (
-MANUALINDEX.ENABLED? 18164 . 18323)) (18359 23832 (GET.TSP.FONT 18369 . 19533) (GET.TSP.FONT.FAMILY 
-19535 . 20383) (GET.TSP.FONT.SIZE 20385 . 20873) (GET.TSP.FONT.FACE 20875 . 21574) (ABBREVIATE.FONT 
-21576 . 23076) (TMAX.SHADEOBJ 23078 . 23830)) (23872 25088 (TSP.LIST.OF.OBJECTS 23882 . 25086)))))
+  (FILEMAP (NIL (8231 15446 (TSP.DISPLAY.FMMENU 8241 . 8806) (TSP.SETUP.FILENAMES 8808 . 10059) (
+TSP.SETUP.FMMENU 10061 . 10521) (TSP.FMMENU 10523 . 11709) (TSP.FM.APPLY 11711 . 12030) (UPDATE.ALL 
+12032 . 12704) (DOWNDATE.ALL 12706 . 13076) (TSP.FUNCTION.HOOKS 13078 . 14508) (TSP.GETFN 14510 . 
+15070) (TSP.PUTFN 15072 . 15444)) (15492 17741 (AutoUpdate.TOGGLE 15502 . 15738) (UPDATE? 15740 . 
+15885) (NGROUP.Menu.TOGGLE 15887 . 16269) (NGROUPMENU.ENABLED? 16271 . 16507) (
+NGROUP.Text-Before.TOGGLE 16509 . 16759) (TEXTBEFORE.ENABLED? 16761 . 16924) (NGROUP.Text-After.TOGGLE
+ 16926 . 17174) (TEXTAFTER.ENABLED? 17176 . 17337) (Manual.Index.TOGGLE 17339 . 17578) (
+MANUALINDEX.ENABLED? 17580 . 17739)) (17775 23248 (GET.TSP.FONT 17785 . 18949) (GET.TSP.FONT.FAMILY 
+18951 . 19799) (GET.TSP.FONT.SIZE 19801 . 20289) (GET.TSP.FONT.FACE 20291 . 20990) (ABBREVIATE.FONT 
+20992 . 22492) (TMAX.SHADEOBJ 22494 . 23246)) (23288 24504 (TSP.LIST.OF.OBJECTS 23298 . 24502)))))
 STOP
diff --git a/lispusers/TMAX-DATE b/lispusers/TMAX/TMAX-DATE
similarity index 89%
rename from lispusers/TMAX-DATE
rename to lispusers/TMAX/TMAX-DATE
index c8d98515..782d9b09 100644
--- a/lispusers/TMAX-DATE
+++ b/lispusers/TMAX/TMAX-DATE
@@ -1,13 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
 
-(FILECREATED "24-Oct-2021 13:52:22" 
-|{DSK}<Users>kaplan>Local>medley3.5>git-medley>lispusers>TMAX-DATE.;4| 14231  
+(FILECREATED "17-Mar-2022 23:03:32" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-DATE.;3| 14993  
 
-      |changes| |to:|  (FNS FINDMONTH FINDTIME FINDHOUR AMPM CHANGE.DATE.FORMAT FINDYEAR)
-                       (VARS TMAX-DATECOMS)
+      :CHANGES-TO (VARS TMAX-DATECOMS)
+                  (FNS MAKE.DATEOBJ.IMAGEFNS)
 
-      |previous| |date:| "12-Mar-88 15:42:46" 
-|{DSK}<Users>kaplan>Local>medley3.5>git-medley>lispusers>TMAX-DATE.;1|)
+      :PREVIOUS-DATE "24-Oct-2021 13:52:22" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-DATE.;2|)
 
 
 ; Copyright (c) 1987-1988 by Xerox Corporation.
@@ -35,6 +35,9 @@
 
         (FNS FINDTIME FINDHOUR AMPM FINDDAY NUMP FINDMONTH FINDYEAR)
         (VARS DATE.FORMAT.ITEMS)
+        (FNS MAKE.DATEOBJ.IMAGEFNS)
+        (INITVARS (\\DATEOBJ.IMAGEFNS (MAKE.DATEOBJ.IMAGEFNS)))
+        (ADDVARS (IMAGEOBJGETFNS (DATE.GETFN)))
         (DECLARE\: DOEVAL@COMPILE DONTCOPY (RECORDS DATERECORD))))
 
 
@@ -321,6 +324,28 @@
         (|Military Time| '(T E)
                "Insert current time as \"16:30\"")
         (|Update| T "Convert to current date/time")))
+(DEFINEQ
+
+(MAKE.DATEOBJ.IMAGEFNS
+  (LAMBDA NIL                                               (* \; "Edited 17-Mar-2022 23:03 by rmk")
+    (IMAGEFNSCREATE (FUNCTION DATE.DISPLAYFN)
+           (FUNCTION DATE.IMAGEBOXFN)
+           (FUNCTION DATE.PUTFN)
+           (FUNCTION DATE.GETFN)
+           (FUNCTION DATE.COPYFN)
+           (FUNCTION DATE.BUTTONEVENTINFN)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           (FUNCTION NILL))))
+)
+
+(RPAQ? \\DATEOBJ.IMAGEFNS (MAKE.DATEOBJ.IMAGEFNS))
+
+(ADDTOVAR IMAGEOBJGETFNS (DATE.GETFN))
 (DECLARE\: DOEVAL@COMPILE DONTCOPY 
 (DECLARE\: EVAL@COMPILE
 
@@ -329,10 +354,10 @@
 )
 (PUTPROPS TMAX-DATE COPYRIGHT ("Xerox Corporation" 1987 1988))
 (DECLARE\: DONTCOPY
-  (FILEMAP (NIL (1422 6156 (DATEOBJ 1432 . 2199) (DATEOBJP 2201 . 2635) (DATE.DISPLAYFN 2637 . 2959) (
-DATE.IMAGEBOXFN 2961 . 3588) (DATE.PUTFN 3590 . 3788) (DATE.GETFN 3790 . 4084) (DATE.COPYFN 4086 . 
-4618) (DATE.BUTTONEVENTINFN 4620 . 6154)) (6200 8853 (CURRENT.DISPLAY.FONT 6210 . 6916) (
-CHANGE.DATE.FORMAT 6918 . 8851)) (8906 13305 (FINDTIME 8916 . 10695) (FINDHOUR 10697 . 11058) (AMPM 
-11060 . 11359) (FINDDAY 11361 . 11632) (NUMP 11634 . 11863) (FINDMONTH 11865 . 12981) (FINDYEAR 12983
- . 13303)))))
+  (FILEMAP (NIL (1517 6251 (DATEOBJ 1527 . 2294) (DATEOBJP 2296 . 2730) (DATE.DISPLAYFN 2732 . 3054) (
+DATE.IMAGEBOXFN 3056 . 3683) (DATE.PUTFN 3685 . 3883) (DATE.GETFN 3885 . 4179) (DATE.COPYFN 4181 . 
+4713) (DATE.BUTTONEVENTINFN 4715 . 6249)) (6295 8948 (CURRENT.DISPLAY.FONT 6305 . 7011) (
+CHANGE.DATE.FORMAT 7013 . 8946)) (9001 13400 (FINDTIME 9011 . 10790) (FINDHOUR 10792 . 11153) (AMPM 
+11155 . 11454) (FINDDAY 11456 . 11727) (NUMP 11729 . 11958) (FINDMONTH 11960 . 13076) (FINDYEAR 13078
+ . 13398)) (14112 14678 (MAKE.DATEOBJ.IMAGEFNS 14122 . 14676)))))
 STOP
diff --git a/lispusers/TMAX-DATE.LCOM b/lispusers/TMAX/TMAX-DATE.LCOM
similarity index 83%
rename from lispusers/TMAX-DATE.LCOM
rename to lispusers/TMAX/TMAX-DATE.LCOM
index b12d8a54..d0c6f211 100644
Binary files a/lispusers/TMAX-DATE.LCOM and b/lispusers/TMAX/TMAX-DATE.LCOM differ
diff --git a/lispusers/TMAX-ENDNOTE b/lispusers/TMAX/TMAX-ENDNOTE
similarity index 82%
rename from lispusers/TMAX-ENDNOTE
rename to lispusers/TMAX/TMAX-ENDNOTE
index 5036ec6c..b410e03b 100644
--- a/lispusers/TMAX-ENDNOTE
+++ b/lispusers/TMAX/TMAX-ENDNOTE
@@ -1,40 +1,56 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
-(filecreated "30-Dec-87 11:38:37" |{POGO:AISNORTH:XEROX}<CUTTING>TMAX>TMAX-ENDNOTE.;2| 22100  
 
-      |previous| |date:| "11-Nov-87 11:49:07" |{POGO:AISNORTH:XEROX}<CUTTING>TMAX>TMAX-ENDNOTE.;1|)
+(FILECREATED "18-Mar-2022 07:12:34" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-ENDNOTE.;4| 23444  
+
+      :CHANGES-TO (VARS TMAX-ENDNOTECOMS)
+
+      :PREVIOUS-DATE "17-Mar-2022 23:10:26" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-ENDNOTE.;2|)
 
 
-; Copyright (c) 1987 by Xerox Corporation.  All rights reserved.
+; Copyright (c) 1987 by Xerox Corporation.
 
-(prettycomprint tmax-endnotecoms)
+(PRETTYCOMPRINT TMAX-ENDNOTECOMS)
 
-(rpaqq tmax-endnotecoms ((* |Developed| |under| |support| |from| nih |grant| rr-00785.)
-                         (* |Written| |by| |Frank| |Gilmurray| |and| |Sami| |Shaio.|)
-                         (fns add.endnote insert.endnotes insert.endnotes.text delete.endnotes 
-                              notesregionp set.endnote.style map.endnote.looks get.endnote.fonts)
-                         (fns endnotep note.putfn note.getfn note.buttoneventinfn note.whenselectedfn
-                              )
-                         (vars endnote.notag.items endnote.tag.items)
-                         (records endnotefonts)
-                         (* * |Allow| |user| |to| |edit| |Endnote| |text| |in| |another| |TEdit| 
-                            |window.|)
-                         (fns aux.tedit aux.tedit.afterquitfn aux.tedit.titlemenufn)
-                         (* * |Delimit| |text| |between| |two| |markers| |known| |as| region markers.
-                            )
-                         (fns regmarkobj regmarkobjp regmark.displayfn regmark.imageboxfn 
-                              regmark.putfn regmark.getfn regmark.copyfn regmark.buttoneventinfn)
-                         (records regmarkobj)))
+(RPAQQ TMAX-ENDNOTECOMS
+       ((* |Developed| |under| |support| |from| NIH |grant| RR-00785.)
+        (* |Written| |by| |Frank| |Gilmurray| |and| |Sami| |Shaio.|)
+        (FNS ADD.ENDNOTE INSERT.ENDNOTES INSERT.ENDNOTES.TEXT DELETE.ENDNOTES NOTESREGIONP 
+             SET.ENDNOTE.STYLE MAP.ENDNOTE.LOOKS GET.ENDNOTE.FONTS)
+        (FNS ENDNOTEP NOTE.PUTFN NOTE.GETFN NOTE.BUTTONEVENTINFN NOTE.WHENSELECTEDFN)
+        (VARS ENDNOTE.NOTAG.ITEMS ENDNOTE.TAG.ITEMS)
+        (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS ENDNOTEFONTS))
+        (* * |Allow| |user| |to| |edit| |Endnote| |text| |in| |another| |TEdit| |window.|)
+        (FNS AUX.TEDIT AUX.TEDIT.AFTERQUITFN AUX.TEDIT.TITLEMENUFN)
+        (* * |Delimit| |text| |between| |two| |markers| |known| |as| REGION MARKERS.)
+        (FNS REGMARKOBJ REGMARKOBJP REGMARK.DISPLAYFN REGMARK.IMAGEBOXFN REGMARK.PUTFN REGMARK.GETFN
+             REGMARK.COPYFN REGMARK.BUTTONEVENTINFN)
+        (INITVARS (\\REGMARKOBJ.IMAGEFNS (IMAGEFNSCREATE (FUNCTION REGMARK.DISPLAYFN)
+                                                (FUNCTION REGMARK.IMAGEBOXFN)
+                                                (FUNCTION REGMARK.PUTFN)
+                                                (FUNCTION REGMARK.GETFN)
+                                                (FUNCTION REGMARK.COPYFN)
+                                                (FUNCTION REGMARK.BUTTONEVENTINFN)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL)
+                                                (FUNCTION NILL))))
+        (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS REGMARKOBJ))))
 
 
 
-(* |Developed| |under| |support| |from| nih |grant| rr-00785.)
+(* |Developed| |under| |support| |from| NIH |grant| RR-00785.)
 
 
 
 
 (* |Written| |by| |Frank| |Gilmurray| |and| |Sami| |Shaio.|)
 
-(defineq
+(DEFINEQ
 
 (add.endnote
   (lambda (stream window)                                    (* |fsg| "13-Jul-87 10:44")
@@ -192,7 +208,7 @@
                              text.font _ |GP.DefaultFont|))
                (windowprop window 'endnote.fonts)))))
 )
-(defineq
+(DEFINEQ
 
 (endnotep
   (lambda (imobj)                                            (* |ss:| "27-Jun-87 15:23")
@@ -269,20 +285,22 @@
           nil)))
 )
 
-(rpaqq endnote.notag.items ((|Edit Text| |Edit Text| "Edit the text associated with this EndNote.")
+(RPAQQ ENDNOTE.NOTAG.ITEMS ((|Edit Text| |Edit Text| "Edit the text associated with this EndNote.")
                             (|Define Tag| |Define Tag| "Define a TAG for this EndNote.")))
 
-(rpaqq endnote.tag.items ((|Edit Text| |Edit Text| "Edit the text associated with this EndNote.")
+(RPAQQ ENDNOTE.TAG.ITEMS ((|Edit Text| |Edit Text| "Edit the text associated with this EndNote.")
                           (|Change Tag| |Change Tag| "Change this EndNote's TAG.")
                           (|Delete Tag| |Delete Tag| "Delete this EndNote's TAG.")
                           (|Show Tag| |Show Tag| "Show this EndNote's TAG.")))
-(declare\: eval@compile
+(DECLARE\: EVAL@COMPILE DONTCOPY 
+(DECLARE\: EVAL@COMPILE
 
-(record endnotefonts (number.font title.font text.font))
+(RECORD ENDNOTEFONTS (NUMBER.FONT TITLE.FONT TEXT.FONT))
+)
 )
 (* * |Allow| |user| |to| |edit| |Endnote| |text| |in| |another| |TEdit| |window.|)
 
-(defineq
+(DEFINEQ
 
 (aux.tedit
   (lambda (imobj title stream)                               (* |ss:| "27-Jun-87 15:22")
@@ -327,9 +345,9 @@
                               nil)
                           (tedit.quit (textstream auxwindow)))))))
 )
-(* * |Delimit| |text| |between| |two| |markers| |known| |as| region markers.)
+(* * |Delimit| |text| |between| |two| |markers| |known| |as| REGION MARKERS.)
 
-(defineq
+(DEFINEQ
 
 (regmarkobj
   (lambda (use marking)                                      (* |fsg| "10-Jul-87 15:58")
@@ -404,19 +422,36 @@
                                                   (t "")))
                      t)))))
 )
-(declare\: eval@compile
 
-(record regmarkobj (region.use marking))
+(RPAQ? \\REGMARKOBJ.IMAGEFNS
+       (IMAGEFNSCREATE (FUNCTION REGMARK.DISPLAYFN)
+              (FUNCTION REGMARK.IMAGEBOXFN)
+              (FUNCTION REGMARK.PUTFN)
+              (FUNCTION REGMARK.GETFN)
+              (FUNCTION REGMARK.COPYFN)
+              (FUNCTION REGMARK.BUTTONEVENTINFN)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)))
+(DECLARE\: EVAL@COMPILE DONTCOPY 
+(DECLARE\: EVAL@COMPILE
+
+(RECORD REGMARKOBJ (REGION.USE MARKING))
 )
-(putprops tmax-endnote copyright ("Xerox Corporation" 1987))
-(declare\: dontcopy
-  (filemap (nil (1726 11353 (add.endnote 1736 . 2404) (insert.endnotes 2406 . 4609) (
-insert.endnotes.text 4611 . 6040) (delete.endnotes 6042 . 7033) (notesregionp 7035 . 7297) (
-set.endnote.style 7299 . 9972) (map.endnote.looks 9974 . 10741) (get.endnote.fonts 10743 . 11351)) (
-11354 15269 (endnotep 11364 . 11705) (note.putfn 11707 . 12359) (note.getfn 12361 . 12941) (
-note.buttoneventinfn 12943 . 13723) (note.whenselectedfn 13725 . 15267)) (15991 18395 (aux.tedit 16001
- . 16963) (aux.tedit.afterquitfn 16965 . 17408) (aux.tedit.titlemenufn 17410 . 18393)) (18480 21944 (
-regmarkobj 18490 . 18897) (regmarkobjp 18899 . 19093) (regmark.displayfn 19095 . 19341) (
-regmark.imageboxfn 19343 . 19694) (regmark.putfn 19696 . 20028) (regmark.getfn 20030 . 20329) (
-regmark.copyfn 20331 . 20869) (regmark.buttoneventinfn 20871 . 21942)))))
-stop
+)
+(PUTPROPS TMAX-ENDNOTE COPYRIGHT ("Xerox Corporation" 1987))
+(DECLARE\: DONTCOPY
+  (FILEMAP (NIL (2489 12116 (ADD.ENDNOTE 2499 . 3167) (INSERT.ENDNOTES 3169 . 5372) (
+INSERT.ENDNOTES.TEXT 5374 . 6803) (DELETE.ENDNOTES 6805 . 7796) (NOTESREGIONP 7798 . 8060) (
+SET.ENDNOTE.STYLE 8062 . 10735) (MAP.ENDNOTE.LOOKS 10737 . 11504) (GET.ENDNOTE.FONTS 11506 . 12114)) (
+12117 16032 (ENDNOTEP 12127 . 12468) (NOTE.PUTFN 12470 . 13122) (NOTE.GETFN 13124 . 13704) (
+NOTE.BUTTONEVENTINFN 13706 . 14486) (NOTE.WHENSELECTEDFN 14488 . 16030)) (16790 19194 (AUX.TEDIT 16800
+ . 17762) (AUX.TEDIT.AFTERQUITFN 17764 . 18207) (AUX.TEDIT.TITLEMENUFN 18209 . 19192)) (19279 22743 (
+REGMARKOBJ 19289 . 19696) (REGMARKOBJP 19698 . 19892) (REGMARK.DISPLAYFN 19894 . 20140) (
+REGMARK.IMAGEBOXFN 20142 . 20493) (REGMARK.PUTFN 20495 . 20827) (REGMARK.GETFN 20829 . 21128) (
+REGMARK.COPYFN 21130 . 21668) (REGMARK.BUTTONEVENTINFN 21670 . 22741)))))
+STOP
diff --git a/lispusers/TMAX/TMAX-ENDNOTE.LCOM b/lispusers/TMAX/TMAX-ENDNOTE.LCOM
new file mode 100644
index 00000000..03d7e25b
Binary files /dev/null and b/lispusers/TMAX/TMAX-ENDNOTE.LCOM differ
diff --git a/lispusers/TMAX-INDEX b/lispusers/TMAX/TMAX-INDEX
similarity index 100%
rename from lispusers/TMAX-INDEX
rename to lispusers/TMAX/TMAX-INDEX
diff --git a/lispusers/TMAX-INDEX.LCOM b/lispusers/TMAX/TMAX-INDEX.LCOM
similarity index 100%
rename from lispusers/TMAX-INDEX.LCOM
rename to lispusers/TMAX/TMAX-INDEX.LCOM
diff --git a/lispusers/TMAX-INTRO.TXT b/lispusers/TMAX/TMAX-INTRO.TXT
similarity index 100%
rename from lispusers/TMAX-INTRO.TXT
rename to lispusers/TMAX/TMAX-INTRO.TXT
diff --git a/lispusers/TMAX-NGRAPH b/lispusers/TMAX/TMAX-NGRAPH
similarity index 100%
rename from lispusers/TMAX-NGRAPH
rename to lispusers/TMAX/TMAX-NGRAPH
diff --git a/lispusers/TMAX-NGRAPH.LCOM b/lispusers/TMAX/TMAX-NGRAPH.LCOM
similarity index 100%
rename from lispusers/TMAX-NGRAPH.LCOM
rename to lispusers/TMAX/TMAX-NGRAPH.LCOM
diff --git a/lispusers/TMAX-NGROUP b/lispusers/TMAX/TMAX-NGROUP
similarity index 100%
rename from lispusers/TMAX-NGROUP
rename to lispusers/TMAX/TMAX-NGROUP
diff --git a/lispusers/TMAX-NGROUP.LCOM b/lispusers/TMAX/TMAX-NGROUP.LCOM
similarity index 100%
rename from lispusers/TMAX-NGROUP.LCOM
rename to lispusers/TMAX/TMAX-NGROUP.LCOM
diff --git a/lispusers/TMAX-NUMBER b/lispusers/TMAX/TMAX-NUMBER
similarity index 90%
rename from lispusers/TMAX-NUMBER
rename to lispusers/TMAX/TMAX-NUMBER
index 44c193a2..723ba6ad 100644
--- a/lispusers/TMAX-NUMBER
+++ b/lispusers/TMAX/TMAX-NUMBER
@@ -1,20 +1,22 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
-(FILECREATED " 6-May-2000 10:37:14" |{DSK}<project>medley3.5>lispusers>TMAX-NUMBER.;4| 32399  
 
-      |changes| |to:|  (FNS NUMBEROBJ.TEDIT-TO-TEX-FN NUMBEROBJ)
-                       (VARS TMAX-NUMBERCOMS)
+(FILECREATED "18-Mar-2022 07:06:06" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-NUMBER.;8| 33934  
 
-      |previous| |date:| "18-May-99 22:54:30" |{DSK}<project>medley3.5>lispusers>TMAX-NUMBER.;2|)
+      :CHANGES-TO (VARS TMAX-NUMBERCOMS)
+
+      :PREVIOUS-DATE "17-Mar-2022 23:33:32" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-NUMBER.;7|)
 
 
-; Copyright (c) 1987, 1999, 2000 by Xerox Corporation.  All rights reserved.
+; Copyright (c) 1987, 1999-2000 by Xerox Corporation.
 
 (PRETTYCOMPRINT TMAX-NUMBERCOMS)
 
 (RPAQQ TMAX-NUMBERCOMS
        ((* |Developed| |under| |support| |from| NIH |grant| RR-00785.)
         (* |Written| |by| |Frank| |Gilmurray| |and| |Sami| |Shaio.|)
-        (* * TMAX-NUMBERNIL |ImageObject| |functions|)
+        (* * TMAX-NUMBER |ImageObject| |functions|)
         (FNS NUMBEROBJ NUMBEROBJP NGROUPP NUMBER.DISPLAYFN NUMBER.PREPRINTFN NUMBER.IMAGEBOXFN 
              NUMBER.PUTFN NUMBER.GETFN NUMBER.COPYFN NUMBER.BUTTONEVENTINFN NUMBEROBJ.TEDIT-TO-TEX-FN
              )
@@ -24,7 +26,22 @@
         (* * |Variable| |and| |Record| |definitions|)
         (VARS NGROUP.GRAPH.MENU.ITEMS NGROUP.INSERTED.MENU.ITEMS NGROUP.INSERTED.NOTAG.ITEMS 
               NGROUP.INSERTED.TAG.ITEMS)
-        (RECORDS NGCOUNTER NGTEMPLATE NUMBEROBJ)))
+        (FILES (COMPILED SYSLOAD)
+               TMAX)
+        (INITVARS (\\NUMBEROBJ.IMAGEFNS (IMAGEFNSCREATE (FUNCTION NUMBER.DISPLAYFN)
+                                               (FUNCTION NUMBER.IMAGEBOXFN)
+                                               (FUNCTION NUMBER.PUTFN)
+                                               (FUNCTION NUMBER.GETFN)
+                                               (FUNCTION NUMBER.COPYFN)
+                                               (FUNCTION NUMBER.BUTTONEVENTINFN)
+                                               (FUNCTION NILL)
+                                               (FUNCTION NILL)
+                                               (FUNCTION NILL)
+                                               (FUNCTION XREF.WHENDELETEDFN)
+                                               (FUNCTION NILL)
+                                               (FUNCTION NILL)
+                                               (FUNCTION NUMBER.PREPRINTFN))))
+        (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS NGCOUNTER NGTEMPLATE NUMBEROBJ))))
 
 
 
@@ -35,7 +52,7 @@
 
 (* |Written| |by| |Frank| |Gilmurray| |and| |Sami| |Shaio.|)
 
-(* * TMAX-NUMBERNIL |ImageObject| |functions|)
+(* * TMAX-NUMBER |ImageObject| |functions|)
 
 (DEFINEQ
 
@@ -533,32 +550,52 @@
                "Show this NGroup's FORMAT.")))
 
 (RPAQQ NGROUP.INSERTED.NOTAG.ITEMS ((|Define Tag| (NGROUP.DEFINE.TAG REF.TYPE WINDOW NGROUP.OBJ)
-                                               "Define a TAG for this NGroup.")))
+                                           "Define a TAG for this NGroup.")))
 
 (RPAQQ NGROUP.INSERTED.TAG.ITEMS ((|Change Tag| (NGROUP.DEFINE.TAG REF.TYPE WINDOW NGROUP.OBJ)
-                                             "Change this NGroup's TAG.")
-                                      (|Delete Tag| (NUMBER.DELETE.TAG WINDOW NGROUP.OBJ)
-                                             "Delete this NGroup's TAG.")
-                                      (|Show Tag| (NGROUP.SHOW.TAG REF.TYPE WINDOW NGROUP.OBJ)
-                                             "Show this NGroup's TAG.")))
+                                         "Change this NGroup's TAG.")
+                                  (|Delete Tag| (NUMBER.DELETE.TAG WINDOW NGROUP.OBJ)
+                                         "Delete this NGroup's TAG.")
+                                  (|Show Tag| (NGROUP.SHOW.TAG REF.TYPE WINDOW NGROUP.OBJ)
+                                         "Show this NGroup's TAG.")))
+
+(FILESLOAD (COMPILED SYSLOAD)
+       TMAX)
+
+(RPAQ? \\NUMBEROBJ.IMAGEFNS
+       (IMAGEFNSCREATE (FUNCTION NUMBER.DISPLAYFN)
+              (FUNCTION NUMBER.IMAGEBOXFN)
+              (FUNCTION NUMBER.PUTFN)
+              (FUNCTION NUMBER.GETFN)
+              (FUNCTION NUMBER.COPYFN)
+              (FUNCTION NUMBER.BUTTONEVENTINFN)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION XREF.WHENDELETEDFN)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NUMBER.PREPRINTFN)))
+(DECLARE\: EVAL@COMPILE DONTCOPY 
 (DECLARE\: EVAL@COMPILE
 
 (RECORD NGCOUNTER (NCOUNT . ANCESTRY))
 
 (RECORD NGTEMPLATE (NG.CHARTYPE NG.TEXT-AFTER NG.START NG.ADDTOTOC NG.CURRENTVAL NG.MANUALINDEX 
-                              NG.TEXT-BEFORE))
+                          NG.TEXT-BEFORE))
 
-(RECORD NUMBEROBJ (REF.TYPE NUMSTRING USE NGROUP.MOTHER TEMPLATE UPDATED.OBJ TEXT.AFTER# 
-                             PAGE.NUMBER FONT TEXT.BEFORE# ABBREV-VAL))
+(RECORD NUMBEROBJ (REF.TYPE NUMSTRING USE NGROUP.MOTHER TEMPLATE UPDATED.OBJ TEXT.AFTER# PAGE.NUMBER
+                         FONT TEXT.BEFORE# ABBREV-VAL))
+)
 )
 (PUTPROPS TMAX-NUMBER COPYRIGHT ("Xerox Corporation" 1987 1999 2000))
 (DECLARE\: DONTCOPY
-  (FILEMAP (NIL (1599 17297 (NUMBEROBJ 1609 . 2715) (NUMBEROBJP 2717 . 3257) (NGROUPP 3259 . 3613) (
-NUMBER.DISPLAYFN 3615 . 6654) (NUMBER.PREPRINTFN 6656 . 7700) (NUMBER.IMAGEBOXFN 7702 . 10195) (
-NUMBER.PUTFN 10197 . 11281) (NUMBER.GETFN 11283 . 13419) (NUMBER.COPYFN 13421 . 15118) (
-NUMBER.BUTTONEVENTINFN 15120 . 17025) (NUMBEROBJ.TEDIT-TO-TEX-FN 17027 . 17295)) (17298 26469 (
-COPY.NGROUP.BRANCH 17308 . 18764) (DUMP.NGROUP.GRAPH 18766 . 19642) (NGROUP.BUTTONEVENTINFN 19644 . 
-20344) (NGROUP.DEFINE.TAG 20346 . 20949) (NUMBER.DELETE.TAG 20951 . 21210) (NGROUP.SHOW.TAG 21212 . 
-21534) (CHANGE.INSERTED.NGROUP.FORMAT 21536 . 23331) (CHANGE.NGROUP.FORMAT.#TEXT 23333 . 24919) (
-SHOW.INSERTED.NGROUP.FORMAT 24921 . 26467)))))
+  (FILEMAP (NIL (2558 18256 (NUMBEROBJ 2568 . 3674) (NUMBEROBJP 3676 . 4216) (NGROUPP 4218 . 4572) (
+NUMBER.DISPLAYFN 4574 . 7613) (NUMBER.PREPRINTFN 7615 . 8659) (NUMBER.IMAGEBOXFN 8661 . 11154) (
+NUMBER.PUTFN 11156 . 12240) (NUMBER.GETFN 12242 . 14378) (NUMBER.COPYFN 14380 . 16077) (
+NUMBER.BUTTONEVENTINFN 16079 . 17984) (NUMBEROBJ.TEDIT-TO-TEX-FN 17986 . 18254)) (18257 27428 (
+COPY.NGROUP.BRANCH 18267 . 19723) (DUMP.NGROUP.GRAPH 19725 . 20601) (NGROUP.BUTTONEVENTINFN 20603 . 
+21303) (NGROUP.DEFINE.TAG 21305 . 21908) (NUMBER.DELETE.TAG 21910 . 22169) (NGROUP.SHOW.TAG 22171 . 
+22493) (CHANGE.INSERTED.NGROUP.FORMAT 22495 . 24290) (CHANGE.NGROUP.FORMAT.#TEXT 24292 . 25878) (
+SHOW.INSERTED.NGROUP.FORMAT 25880 . 27426)))))
 STOP
diff --git a/lispusers/TMAX/TMAX-NUMBER.LCOM b/lispusers/TMAX/TMAX-NUMBER.LCOM
new file mode 100644
index 00000000..9c60dc79
Binary files /dev/null and b/lispusers/TMAX/TMAX-NUMBER.LCOM differ
diff --git a/lispusers/TMAX-XREF b/lispusers/TMAX/TMAX-XREF
similarity index 86%
rename from lispusers/TMAX-XREF
rename to lispusers/TMAX/TMAX-XREF
index e68a5f1f..e234f857 100644
--- a/lispusers/TMAX-XREF
+++ b/lispusers/TMAX/TMAX-XREF
@@ -1,26 +1,29 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
-(FILECREATED " 6-May-2000 14:26:45" |{DSK}<project>medley3.5>lispusers>TMAX-XREF.;3| 22168  
 
-      |changes| |to:|  (FNS XREF.TEDIT-TO-TEX-FN)
+(FILECREATED "18-Mar-2022 07:07:27" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-XREF.;5| 23662  
 
-      |previous| |date:| " 6-May-2000 10:40:07" |{DSK}<project>medley3.5>lispusers>TMAX-XREF.;2|)
+      :CHANGES-TO (VARS TMAX-XREFCOMS)
+
+      :PREVIOUS-DATE "17-Mar-2022 23:36:37" 
+|{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>TMAX-XREF.;4|)
 
 
-; Copyright (c) 1987, 1997, 2000 by Xerox Corporation.  All rights reserved.
+; Copyright (c) 1987, 1997, 2000 by Xerox Corporation.
 
 (PRETTYCOMPRINT TMAX-XREFCOMS)
 
 (RPAQQ TMAX-XREFCOMS
-       (                                                     (* \; 
-                                                 "Developed under support from NIH grant RR-00785.")
-                                                             (* \; 
-                                                       "Written by Frank Gilmurray and Sami Shaio.")
+       (                                                     (* \; 
+                                                   "Developed under support from NIH grant RR-00785.")
+                                                             (* \; 
+                                                         "Written by Frank Gilmurray and Sami Shaio.")
         
-        (* |;;| "An XREF is a general-purpose cross-referencing imageobject.  In order to create an instance of an XREF one simply calls the function XREF with a TAG that is supposed to link it with some imageobject that it is referencing.  In order to add to the class of imageobjects that can be referenced with XREF one uses the function XREF.ADD.DISPLAYFN with the type of the imageobject and a function that operates on it to return some string that XREF will then display in the document.")
+        (* |;;| "An XREF is a general-purpose cross-referencing imageobject.  In order to create an instance of an XREF one simply calls the function XREF with a TAG that is supposed to link it with some imageobject that it is referencing.  In order to add to the class of imageobjects that can be referenced with XREF one uses the function XREF.ADD.DISPLAYFN with the type of the imageobject and a function that operates on it to return some string that XREF will then display in the document.")
 
         
 
-(* |;;;| "TMAX-XREFNIL Image Object functions")
+(* |;;;| "TMAX-XREFNIL Image Object functions")
 
         (FNS XREF XREFP XREF.DISPLAYFN XREF.IMAGEBOXFN XREF.PUTFN XREF.GETFN XREF.COPYFN 
              XREF.BUTTONEVENTINFN XREF.WHENDELETEDFN XREF.TEDIT-TO-TEX-FN)
@@ -29,15 +32,30 @@
              TSP.GETCODEVAL TSP.PUTCODE)
         
 
-(* |;;;| "Functions for adding and retrieving the method for a gven imageobject.")
+(* |;;;| "Functions for adding and retrieving the method for a gven imageobject.")
 
         (FNS XREF.ADD.DISPLAYFN XREF.GET.DISPLAYFN)
         
 
-(* |;;;| "Examples of some XREF display methods.")
+(* |;;;| "Examples of some XREF display methods.")
 
         (FNS NGROUP.XREF.DISPLAYFN NGROUP.XREF.DISPLAY.TEXT NOTE.XREF.DISPLAYFN)
-        (UGLYVARS XREF.DISPLAY.METHODS)))
+        (INITVARS (\\XREFOBJ.IMAGEFNS (IMAGEFNSCREATE (FUNCTION XREF.DISPLAYFN)
+                                             (FUNCTION XREF.IMAGEBOXFN)
+                                             (FUNCTION XREF.PUTFN)
+                                             (FUNCTION XREF.GETFN)
+                                             (FUNCTION XREF.COPYFN)
+                                             (FUNCTION XREF.BUTTONEVENTINFN)
+                                             (FUNCTION NILL)
+                                             (FUNCTION NILL)
+                                             (FUNCTION NILL)
+                                             (FUNCTION NILL)
+                                             (FUNCTION NILL)
+                                             (FUNCTION NILL)
+                                             (FUNCTION XREF.GET.DISPLAY.TEXT))))
+        (UGLYVARS XREF.DISPLAY.METHODS)
+        (FILES (COMPILED SYSLOAD)
+               TMAX)))
 
 
 
@@ -437,19 +455,37 @@
               (t (concat "<" numstring "/" reference.by ">"))))))
 )
 
+(RPAQ? \\XREFOBJ.IMAGEFNS
+       (IMAGEFNSCREATE (FUNCTION XREF.DISPLAYFN)
+              (FUNCTION XREF.IMAGEBOXFN)
+              (FUNCTION XREF.PUTFN)
+              (FUNCTION XREF.GETFN)
+              (FUNCTION XREF.COPYFN)
+              (FUNCTION XREF.BUTTONEVENTINFN)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION NILL)
+              (FUNCTION XREF.GET.DISPLAY.TEXT)))
+
 (READVARS-FROM-STRINGS '(XREF.DISPLAY.METHODS)
-       "({H(24 ERROR) 2 NOTE.XREF.DISPLAYFN NOTE NGROUP.XREF.DISPLAYFN NGROUP })
+       "({H(24 ERROR) 2 NGROUP.XREF.DISPLAYFN NGROUP NOTE.XREF.DISPLAYFN NOTE })
 ")
+
+(FILESLOAD (COMPILED SYSLOAD)
+       TMAX)
 (PUTPROPS TMAX-XREF COPYRIGHT ("Xerox Corporation" 1987 1997 2000))
 (DECLARE\: DONTCOPY
-  (FILEMAP (NIL (2764 10100 (XREF 2774 . 3341) (XREFP 3343 . 3730) (XREF.DISPLAYFN 3732 . 4166) (
-XREF.IMAGEBOXFN 4168 . 4820) (XREF.PUTFN 4822 . 5068) (XREF.GETFN 5070 . 5544) (XREF.COPYFN 5546 . 
-6156) (XREF.BUTTONEVENTINFN 6158 . 9150) (XREF.WHENDELETEDFN 9152 . 9649) (XREF.TEDIT-TO-TEX-FN 9651
- . 10098)) (10101 12085 (XREF.GET.DISPLAY.TEXT 10111 . 11395) (XREF.GET.TOOBJ 11397 . 11934) (
-TSPOBJ.GETTYPE 11936 . 12083)) (12086 18460 (UPDATE.XREFS 12096 . 14479) (INSERT.REF 14481 . 14893) (
-GET.REF 14895 . 15950) (GET.REFERENCE.BY 15952 . 16939) (TSP.LIST.REFS 16941 . 17393) (TSP.GET.INCODE 
-17395 . 18049) (TSP.GETCODEVAL 18051 . 18273) (TSP.PUTCODE 18275 . 18458)) (18552 19523 (
-XREF.ADD.DISPLAYFN 18562 . 19076) (XREF.GET.DISPLAYFN 19078 . 19521)) (19583 21945 (
-NGROUP.XREF.DISPLAYFN 19593 . 20553) (NGROUP.XREF.DISPLAY.TEXT 20555 . 21191) (NOTE.XREF.DISPLAYFN 
-21193 . 21943)))))
+  (FILEMAP (NIL (3709 11045 (XREF 3719 . 4286) (XREFP 4288 . 4675) (XREF.DISPLAYFN 4677 . 5111) (
+XREF.IMAGEBOXFN 5113 . 5765) (XREF.PUTFN 5767 . 6013) (XREF.GETFN 6015 . 6489) (XREF.COPYFN 6491 . 
+7101) (XREF.BUTTONEVENTINFN 7103 . 10095) (XREF.WHENDELETEDFN 10097 . 10594) (XREF.TEDIT-TO-TEX-FN 
+10596 . 11043)) (11046 13030 (XREF.GET.DISPLAY.TEXT 11056 . 12340) (XREF.GET.TOOBJ 12342 . 12879) (
+TSPOBJ.GETTYPE 12881 . 13028)) (13031 19405 (UPDATE.XREFS 13041 . 15424) (INSERT.REF 15426 . 15838) (
+GET.REF 15840 . 16895) (GET.REFERENCE.BY 16897 . 17884) (TSP.LIST.REFS 17886 . 18338) (TSP.GET.INCODE 
+18340 . 18994) (TSP.GETCODEVAL 18996 . 19218) (TSP.PUTCODE 19220 . 19403)) (19497 20468 (
+XREF.ADD.DISPLAYFN 19507 . 20021) (XREF.GET.DISPLAYFN 20023 . 20466)) (20528 22890 (
+NGROUP.XREF.DISPLAYFN 20538 . 21498) (NGROUP.XREF.DISPLAY.TEXT 21500 . 22136) (NOTE.XREF.DISPLAYFN 
+22138 . 22888)))))
 STOP
diff --git a/lispusers/TMAX/TMAX-XREF.LCOM b/lispusers/TMAX/TMAX-XREF.LCOM
new file mode 100644
index 00000000..4f707a56
Binary files /dev/null and b/lispusers/TMAX/TMAX-XREF.LCOM differ
diff --git a/lispusers/TMAX.LCOM b/lispusers/TMAX/TMAX.LCOM
similarity index 84%
rename from lispusers/TMAX.LCOM
rename to lispusers/TMAX/TMAX.LCOM
index 4c796b24..65364f60 100644
Binary files a/lispusers/TMAX.LCOM and b/lispusers/TMAX/TMAX.LCOM differ
diff --git a/lispusers/TMAX.TEDIT b/lispusers/TMAX/TMAX.TEDIT
similarity index 100%
rename from lispusers/TMAX.TEDIT
rename to lispusers/TMAX/TMAX.TEDIT
diff --git a/lispusers/TMAX.TOC b/lispusers/TMAX/TMAX.TOC
similarity index 100%
rename from lispusers/TMAX.TOC
rename to lispusers/TMAX/TMAX.TOC
diff --git a/sources/MACHINEINDEPENDENT b/sources/MACHINEINDEPENDENT
index 78fba0f9..bd1846bc 100644
--- a/sources/MACHINEINDEPENDENT
+++ b/sources/MACHINEINDEPENDENT
@@ -1,10 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "17-Feb-2022 23:20:01" {DSK}<home>larry>medley>sources>MACHINEINDEPENDENT.;2 113592 
+(FILECREATED "17-Mar-2022 12:05:22" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>MACHINEINDEPENDENT.;24 113260 
 
       :CHANGES-TO (FNS FINDFILE-WITH-EXTENSIONS)
 
-      :PREVIOUS-DATE " 5-Aug-2021 21:01:33" {DSK}<home>larry>medley>sources>MACHINEINDEPENDENT.;1)
+      :PREVIOUS-DATE "15-Mar-2022 11:50:25" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>MACHINEINDEPENDENT.;23)
 
 
 (* ; "
@@ -286,174 +288,177 @@ with the terms of said license.
 
 (DOFILESLOAD
   [LAMBDA (FILES)
-    (DECLARE (USEDFREE LDFLG))                       (* ; "Edited  4-May-88 14:23 by bvm")
-                                                             (* ; "does the work of FILESLOAD")
+    (DECLARE (USEDFREE LDFLG))                               (* ; "Edited 15-Mar-2022 00:48 by rmk")
+                                                             (* ; "Edited  4-May-88 14:23 by bvm")
+                                                             (* ; "does the work of FILESLOAD")
     (for FILE inside FILES bind DIRS LOADOPTIONSFLG FORCEDEXT? NOERRORFLG WORD FULL
-                                         (FN _ 'LOAD?)
-                                         (EXT _ :COMPILED)
+                                (FN _ 'LOAD?)
+                                (EXT _ :COMPILED)
        first [COND
-                    ((BOUNDP 'LDFLG)
+                ((BOUNDP 'LDFLG)
 
-                     (* ;; "Under a load;  give priority to directory of currently loading file. ")
+                 (* ;; "Under a load;  give priority to directory of currently loading file. ")
 
-                     (LET ((INPUTNAME (FULLNAME *STANDARD-INPUT*)))
-                          (if (AND (NEQ INPUTNAME *STANDARD-INPUT*)
-                                       (NEQ INPUTNAME T))
-                              then                       (* ; 
-                                      "If reading from terminal or nameless stream, don't do this.")
-                                    (SETQ DIRS (CONS (PACKFILENAME.STRING 'VERSION NIL 'NAME NIL
-                                                            'EXTENSION NIL 'BODY INPUTNAME)
-                                                     (CONS T DIRECTORIES)))
-                                    (SETQ LOADOPTIONSFLG LDFLG]
+                 (LET ((INPUTNAME (FULLNAME *STANDARD-INPUT*)))
+                      (if (AND (NEQ INPUTNAME *STANDARD-INPUT*)
+                               (NEQ INPUTNAME T))
+                          then                               (* ; 
+                                        "If reading from terminal or nameless stream, don't do this.")
+                               (SETQ DIRS (CONS (PACKFILENAME.STRING 'VERSION NIL 'NAME NIL
+                                                       'EXTENSION NIL 'BODY INPUTNAME)
+                                                (CONS T DIRECTORIES)))
+                               (SETQ LOADOPTIONSFLG LDFLG]
        join
        (COND
           [(OR (LITATOM FILE)
-               (STRINGP FILE))                               (* ; "A file to do something with")
+               (STRINGP FILE))                               (* ; "A file to do something with")
            (PROG NIL
                  (COND
                     ((AND (EQ FN 'LOAD?)
                           (GETPROP (ROOTFILENAME FILE)
-                                 'FILEDATES))                (* ; "Already loaded")
+                                 'FILEDATES))                (* ; "Already loaded")
                      (RETURN)))
              LP  (COND
                     [(SETQ FULL (SELECTQ EXT
-                                    (NIL                     (* ; "No extension to guide us")
-                                         (FINDFILE FILE T DIRS))
-                                    (:COMPILED               (* ; 
-                                    "Look for some sort of compiled file, or failing that a source")
+                                    (NIL                     (* ; "No extension to guide us")
+                                         (FINDFILE-WITH-EXTENSIONS FILE DIRS))
+                                    (:COMPILED               (* ; 
+                                      "Look for some sort of compiled file, or failing that a source")
                                                (OR (FINDFILE-WITH-EXTENSIONS FILE DIRS 
                                                           *COMPILED-EXTENSIONS*)
                                                    (AND (NOT FORCEDEXT?)
-                                                        (FINDFILE FILE T DIRS))))
-                                    (PROGN                   (* ; 
-                                                           "Look for explicitly supplied extension")
-                                           (FINDFILE (PACKFILENAME.STRING 'BODY FILE 'EXTENSION EXT)
-                                                  T DIRS]
+                                                        (FINDFILE-WITH-EXTENSIONS FILE DIRS))))
+                                    (PROGN                   (* ; 
+                      "Look for explicitly supplied extension, decoded from a previous list element.")
+                                           (FINDFILE-WITH-EXTENSIONS (PACKFILENAME.STRING
+                                                                      'BODY FILE 'EXTENSION EXT)
+                                                  DIRS]
                     (NOERRORFLG (RETURN))
                     ((AND (SETQ FILE (CL:CERROR "Forget about loading ~A" 
                                             "File ~A not found~@[ on~{ ~A~}~]" FILE DIRS))
                           (OR (LITATOM FILE)
-                              (STRINGP FILE)))               (* ; "User RETURNed a new file name")
+                              (STRINGP FILE)))               (* ; "User RETURNed a new file name")
                      (GO LP))
-                    (T                                       (* ; 
-                                                "if proceed from ERROR, blow off loading this file")
+                    (T                                       (* ; 
+                                                  "if proceed from ERROR, blow off loading this file")
                        (RETURN)))
                  (RETURN (LIST (SELECTQ FN
-                                   (CHECKIMPORTS             (* ; 
-                                               "LOADOPTIONSFLG has a different meaning for imports")
+                                   (CHECKIMPORTS             (* ; 
+                                                 "LOADOPTIONSFLG has a different meaning for imports")
                                                  (CHECKIMPORTS FULL T)
                                                  FULL)
-                                   (LOAD?                    (* ; 
-                                                       "already weeded out the ones with filedates")
+                                   (LOAD?                    (* ; 
+                                                         "already weeded out the ones with filedates")
                                           (LOAD FULL LOADOPTIONSFLG))
                                    (CL:FUNCALL FN FULL LOADOPTIONSFLG]
           (T (while (LISTP FILE)
                 do (SELECTQ (CAR FILE)
-                           (LOADCOMP (SETQQ FN LOADCOMP?)
-                                     (SETQ LOADOPTIONSFLG NIL)
-                                     (SETQ EXT NIL))
-                           (LOADFROM (SETQQ FN LOADFROM)
-                                     (SETQ EXT NIL))
-                           (FROM (pop FILE)
-                                 [SETQ DIRS (MKLIST (COND
-                                                           ((OR (EQ (SETQ WORD (CAR FILE))
-                                                                    'VALUEOF)
-                                                                (COND
-                                                                   ((AND (EQ WORD 'VALUE)
-                                                                         (EQ (CADR FILE)
-                                                                             'OF))
-                                                                    (pop FILE)
-                                                                    T)))
+                       (LOADCOMP (SETQQ FN LOADCOMP?)
+                                 (SETQ LOADOPTIONSFLG NIL)
+                                 (SETQ EXT NIL))
+                       (LOADFROM (SETQQ FN LOADFROM)
+                                 (SETQ EXT NIL))
+                       (FROM (pop FILE)
+                             [SETQ DIRS (MKLIST (COND
+                                                   ((OR (EQ (SETQ WORD (CAR FILE))
+                                                            'VALUEOF)
+                                                        (COND
+                                                           ((AND (EQ WORD 'VALUE)
+                                                                 (EQ (CADR FILE)
+                                                                     'OF))
                                                             (pop FILE)
-                                                            (EVAL (CAR FILE)))
-                                                           ((AND (SELCHARQ (CHCON1 WORD)
-                                                                      (({ <) 
-                                                                           NIL)
-                                                                      T)
-                                                                 [BOUNDP (SETQ WORD
-                                                                          (PACK* WORD 'DIRECTORIES]
-                                                                 (SETQ WORD (EVALV WORD)))
-                                                             (* ; 
-                   "KLUDGE: Turns, e.g., (FROM LISPUSERS) into (FROM VALUEOF LISPUSERSDIRECTORIES)")
-                                                            WORD)
-                                                           (T (CAR FILE])
-                           (COMPILED (SETQ FORCEDEXT? T)
-                                     (SETQ EXT :COMPILED))
-                           (LOAD (SETQQ FN LOAD?))
-                           ((EXTENSION EXT) 
-                                (SETQ FILE (LISTP (CDR FILE)))
-                                (SETQ EXT (CAR FILE)))
-                           ((SOURCE SYMBOLIC) 
-                                (SETQ EXT NIL))
-                           (IMPORT (SETQQ FN CHECKIMPORTS)
-                                   (SETQ EXT NIL))
-                           (NOERROR (SETQ NOERRORFLG T))
-                           (COND
-                              ((FMEMB (CAR FILE)
-                                      LOADOPTIONS)
-                               (SETQ LOADOPTIONSFLG (CAR FILE)))
-                              (T                             (* ; "invalid option in FILESLOAD")
-                                 NIL)))
-                      (pop FILE))
+                                                            T)))
+                                                    (pop FILE)
+                                                    (EVAL (CAR FILE)))
+                                                   ((AND (SELCHARQ (CHCON1 WORD)
+                                                              (({ <) 
+                                                                   NIL)
+                                                              T)
+                                                         [BOUNDP (SETQ WORD (PACK* WORD 'DIRECTORIES]
+                                                         (SETQ WORD (EVALV WORD)))
+                                                             (* ; 
+                     "KLUDGE: Turns, e.g., (FROM LISPUSERS) into (FROM VALUEOF LISPUSERSDIRECTORIES)")
+                                                    WORD)
+                                                   (T (CAR FILE])
+                       (COMPILED (SETQ FORCEDEXT? T)
+                                 (SETQ EXT :COMPILED))
+                       (LOAD (SETQQ FN LOAD?))
+                       ((EXTENSION EXT) 
+                            (SETQ FILE (LISTP (CDR FILE)))
+                            (SETQ EXT (CAR FILE)))
+                       ((SOURCE SYMBOLIC) 
+                            (SETQ EXT NIL))
+                       (IMPORT (SETQQ FN CHECKIMPORTS)
+                               (SETQ EXT NIL))
+                       (NOERROR (SETQ NOERRORFLG T))
+                       (COND
+                          ((FMEMB (CAR FILE)
+                                  LOADOPTIONS)
+                           (SETQ LOADOPTIONSFLG (CAR FILE)))
+                          (T                                 (* ; "invalid option in FILESLOAD")
+                             NIL)))
+                   (pop FILE))
              NIL])
 
 (FINDFILE-WITH-EXTENSIONS
-  [LAMBDA (FILE DIRLST EXTENSIONS)                         (* ; "Edited 17-Feb-2022 23:15 by larry")
-                                                             (* ; "Edited  8-Dec-86 17:57 by bvm")
+  [LAMBDA (FILE DIRLST EXTENSIONS)
 
-(* ;;; "Search for FILE on the directories contained in DIRLST, where NIL and T refer to the login and connected dirs, respectively.  On each directory, prefer files having extension found in EXTENSIONS in the indicated order.  If FILE already has an extension, EXTENSIONS is ignored; if FILE already has a host/dir, DIRLST is ignored.")
+    (* ;; "Edited 17-Mar-2022 12:05 by rmk: NIL in EXTENSIONS matches no-extension")
 
-    (if FILE
-        then
-        (PROG ((FIELDS (UNPACKFILENAME.STRING FILE))
-               NM DIR&FIELDS HASDIRECTORY HASEXTENSION VAL)
-              (for TAIL on FIELDS by (CDDR TAIL)
-                 do (SELECTQ (CAR TAIL)
-                        (EXTENSION (SETQ HASEXTENSION T))
-                        ((HOST DEVICE DIRECTORY) 
-                             (SETQ HASDIRECTORY T))
-                        (NAME (SETQ NM (CADR TAIL))
-                              [if (SETQ VAL (STRPOS "-" NM))
-                                  then (SETQ NM (SUBSTRING NM 1 (IMINUS VAL 1])
-                        NIL))
-              [if HASDIRECTORY
-                  then 
-                       (* ;; "Don't search dirs, just look where it says")
+    (* ;; "Edited 17-Feb-2022 23:15 by larry")
 
-                       (if HASEXTENSION
-                           then (SETQ VAL (INFILEP FILE))
-                         else (for EXT in EXTENSIONS
-                                 when [SETQ VAL (INFILEP (PACKFILENAME.STRING
-                                                          `(EXTENSION ,EXT ,@FIELDS]
-                                 do (GO RET)))
-                else
-                (for DIR inside (OR DIRLST (if DIRECTORIES
-                                               then (CONS T (REMOVE T DIRECTORIES))
-                                             else T))
-                   do
-                   [SETQ DIR&FIELDS (SELECTQ DIR
-                                        (NIL                 (* ; "Login dir")
-                                             `(DIRECTORY ,(DIRECTORYNAME NIL)
-                                                     ,@FIELDS))
-                                        (T                   (* ; "Connected dir")
-                                           FIELDS)
-                                        `(DIRECTORY ,DIR ,@FIELDS]
-                   (SETQ VAL
-                    (if HASEXTENSION
-                        then (if (SETQ VAL (INFILEP (PACKFILENAME.STRING DIR&FIELDS)))
-                                 then (GO RET))
-                      else
-                      (for EXT in EXTENSIONS
-                         when [SETQ VAL
-                               (OR [INFILEP (PACKFILENAME.STRING `(EXTENSION ,EXT ,@DIR&FIELDS]
-                                   (AND NM DIR (NEQ DIR T)
-                                        (NULL DIRLST)
-                                        (INFILEP (PACKFILENAME.STRING
-                                                  `(DIRECTORY ,(CONCAT DIR ">" NM)
-                                                          EXTENSION
-                                                          ,EXT
-                                                          ,@FIELDS] do (GO RET]
-          RET (RETURN VAL])
+    (* ;; "Edited  8-Dec-86 17:57 by bvm")
+
+    (* ;; "Search for FILE on the directories contained in DIRLST (or DIRECTORIES), where NIL and T refer to the login and connected dirs, respectively.")
+
+(* ;;; "On each directory, prefer files having extension found in EXTENSIONS in the indicated order.")
+
+(* ;;; "If FILE already has an extension, EXTENSIONS is ignored.")
+
+(* ;;; "If FILE already has a host/dir, DIRLST is ignored, only FILE's directory is considered.")
+
+(* ;;; "For a file FOO or FOO-FIE, then for each directory DIR in DIRLST, DIRLST is interpreted also as including DIR>FOO. ")
+
+    (CL:WHEN FILE
+        (LET ((FIELDS (UNPACKFILENAME.STRING FILE))
+              NM VAL HPOS HASDIRECTORY)
+             (FOR TAIL ON FIELDS BY (CDDR TAIL) DO (SELECTQ (CAR TAIL)
+                                                       (EXTENSION (SETQ EXTENSIONS (CADR TAIL)))
+                                                       ((DIRECTORY HOST DEVICE RELATIVEDIRECTORY 
+                                                               SUBDIRECTORY) 
+                                                            (SETQ HASDIRECTORY T))
+                                                       (NAME (SETQ NM (CADR TAIL)))
+                                                       NIL))
+             (CL:UNLESS EXTENSIONS
+                 (SETQ EXTENSIONS (CONS NIL)))
+             [IF HASDIRECTORY
+                 THEN (SETQ DIRLST (PACKFILENAME.STRING 'NAME NIL 'EXTENSION NIL 'VERSION NIL
+                                          'BODY FILE))
+               ELSEIF DIRLST
+               ELSE 
+                    (* ;; "Default to DIRECTORIES but promote T to the beginning.")
+
+                    (SETQ DIRLST (CONS T (REMOVE T DIRECTORIES]
+             (CL:WHEN (SETQ HPOS (STRPOS "-" NM))
+                 (SETQ NM (SUBSTRING NM 1 (SUB1 HPOS))))
+             [find DIR inside DIRLST
+                suchthat (CL:WHEN (MEMB DIR '(T NIL))        (* ; "Flesh out T and NIL")
+                             (SETQ DIR (DIRECTORYNAME DIR))) 
+
+                      (* ;; 
+    "The stuff about NM is so that a file FOO-FUM will match FOO>FOO-FUM and FOO will match FOO>FOO.")
+
+                      (find EXT inside EXTENSIONS
+                         suchthat (SETQ VAL
+                                   (OR [INFILEP (PACKFILENAME.STRING `(DIRECTORY ,DIR EXTENSION
+                                                                             ,EXT
+                                                                             ,@FIELDS]
+                                       (INFILEP (PACKFILENAME.STRING
+                                                 `(DIRECTORY ,(CONCAT DIR ">" NM)
+                                                         EXTENSION
+                                                         ,EXT
+                                                         ,@FIELDS]
+             VAL))])
 
 (READ-FILECREATED
   [LAMBDA (STREAM)                                      (* ; "Edited 19-Sep-2020 20:39 by rmk:")
@@ -2383,23 +2388,23 @@ This has little hope of working any more.")
 (PUTPROPS MACHINEINDEPENDENT COPYRIGHT ("Venue & Xerox Corporation" T 1983 1984 1985 1986 1987 1988 
 1989 1990 1991 2021 2022))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (12807 26116 (LOAD? 12817 . 14668) (FILESLOAD 14670 . 14959) (DOFILESLOAD 14961 . 22209)
- (FINDFILE-WITH-EXTENSIONS 22211 . 25672) (READ-FILECREATED 25674 . 26114)) (26233 31554 (DMPHASH 
-26243 . 27837) (HASHOVERFLOW 27839 . 31552)) (32310 63647 (BKBUFS 32320 . 33439) (CHANGENAME 33441 . 
-33702) (CHNGNM 33704 . 35552) (CLBUFS 35554 . 36827) (DEFINE 36829 . 37553) (FNS.PUTDEF 37555 . 40970)
- (EQMEMB 40972 . 41154) (EQUALN 41156 . 41985) (FNCHECK 41987 . 43994) (FNTYP1 43996 . 44093) (LCSKIP 
-44095 . 44939) (MAPRINT 44941 . 45887) (MKLIST 45889 . 46039) (NAMEFIELD 46041 . 47566) (NLIST 47568
- . 47903) (PRINTBELLS 47905 . 48031) (PROMPTCHAR 48033 . 49923) (RAISEP 49925 . 50186) (READFILE 50188
- . 52532) (READLINE 52534 . 57974) (REMPROPLIST 57976 . 58864) (RESETBUFS 58866 . 59316) (TAB 59318 . 
-59914) (UNSAVED1 59916 . 61021) (WRITEFILE 61023 . 62765) (CLOSE-AND-MAYBE-DELETE 62767 . 63111) (
-UNSAFE.TO.MODIFY 63113 . 63645)) (65971 68915 (FILEDATE 65981 . 68913)) (69145 92884 (FILEMAP 69155 . 
-69625) (\PARSE-FILE-HEADER 69627 . 73442) (GET-ENVIRONMENT-AND-FILEMAP 73444 . 75671) (
-LOOKUP-ENVIRONMENT-AND-FILEMAP 75673 . 77864) (GET-FILEMAP-FROM-FILECREATED 77866 . 78690) (
-\FILEMAP-HASHOVERFLOW 78692 . 83356) (FLUSHFILEMAPS 83358 . 83981) (LISPSOURCEFILEP 83983 . 85162) (
-GETFILEMAP 85164 . 85583) (PUTFILEMAP 85585 . 87776) (UPDATEFILEMAP 87778 . 92882)) (93550 97136 (
-LVLPRINT 93560 . 93733) (LVLPRIN1 93735 . 93917) (LVLPRIN2 93919 . 94151) (LVLPRIN 94153 . 95167) (
-LVLPRIN0 95169 . 97134)) (97170 102087 (FLUSHRIGHT 97180 . 97995) (PRINTPARA 97997 . 99095) (
-PRINTPARA1 99097 . 102085)) (102123 104408 (SUBLIS 102133 . 102741) (SUBPAIR 102743 . 103971) (DSUBLIS
- 103973 . 104406)) (104431 105031 (CONSTANTOK 104441 . 105029)) (106784 107489 (NLAMBDA.ARGS 106794 . 
-107487)))))
+  (FILEMAP (NIL (12853 25784 (LOAD? 12863 . 14714) (FILESLOAD 14716 . 15005) (DOFILESLOAD 15007 . 22139)
+ (FINDFILE-WITH-EXTENSIONS 22141 . 25340) (READ-FILECREATED 25342 . 25782)) (25901 31222 (DMPHASH 
+25911 . 27505) (HASHOVERFLOW 27507 . 31220)) (31978 63315 (BKBUFS 31988 . 33107) (CHANGENAME 33109 . 
+33370) (CHNGNM 33372 . 35220) (CLBUFS 35222 . 36495) (DEFINE 36497 . 37221) (FNS.PUTDEF 37223 . 40638)
+ (EQMEMB 40640 . 40822) (EQUALN 40824 . 41653) (FNCHECK 41655 . 43662) (FNTYP1 43664 . 43761) (LCSKIP 
+43763 . 44607) (MAPRINT 44609 . 45555) (MKLIST 45557 . 45707) (NAMEFIELD 45709 . 47234) (NLIST 47236
+ . 47571) (PRINTBELLS 47573 . 47699) (PROMPTCHAR 47701 . 49591) (RAISEP 49593 . 49854) (READFILE 49856
+ . 52200) (READLINE 52202 . 57642) (REMPROPLIST 57644 . 58532) (RESETBUFS 58534 . 58984) (TAB 58986 . 
+59582) (UNSAVED1 59584 . 60689) (WRITEFILE 60691 . 62433) (CLOSE-AND-MAYBE-DELETE 62435 . 62779) (
+UNSAFE.TO.MODIFY 62781 . 63313)) (65639 68583 (FILEDATE 65649 . 68581)) (68813 92552 (FILEMAP 68823 . 
+69293) (\PARSE-FILE-HEADER 69295 . 73110) (GET-ENVIRONMENT-AND-FILEMAP 73112 . 75339) (
+LOOKUP-ENVIRONMENT-AND-FILEMAP 75341 . 77532) (GET-FILEMAP-FROM-FILECREATED 77534 . 78358) (
+\FILEMAP-HASHOVERFLOW 78360 . 83024) (FLUSHFILEMAPS 83026 . 83649) (LISPSOURCEFILEP 83651 . 84830) (
+GETFILEMAP 84832 . 85251) (PUTFILEMAP 85253 . 87444) (UPDATEFILEMAP 87446 . 92550)) (93218 96804 (
+LVLPRINT 93228 . 93401) (LVLPRIN1 93403 . 93585) (LVLPRIN2 93587 . 93819) (LVLPRIN 93821 . 94835) (
+LVLPRIN0 94837 . 96802)) (96838 101755 (FLUSHRIGHT 96848 . 97663) (PRINTPARA 97665 . 98763) (
+PRINTPARA1 98765 . 101753)) (101791 104076 (SUBLIS 101801 . 102409) (SUBPAIR 102411 . 103639) (DSUBLIS
+ 103641 . 104074)) (104099 104699 (CONSTANTOK 104109 . 104697)) (106452 107157 (NLAMBDA.ARGS 106462 . 
+107155)))))
 STOP
diff --git a/sources/MACHINEINDEPENDENT.LCOM b/sources/MACHINEINDEPENDENT.LCOM
index aad7b87c..26e05ee4 100644
Binary files a/sources/MACHINEINDEPENDENT.LCOM and b/sources/MACHINEINDEPENDENT.LCOM differ
diff --git a/sources/PRINTFN b/sources/PRINTFN
index 832ff71b..1f6366f4 100644
--- a/sources/PRINTFN
+++ b/sources/PRINTFN
@@ -1,11 +1,11 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 2-Dec-2021 13:28:13" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>PRINTFN.;31 13158  
+(FILECREATED "15-Mar-2022 00:20:04" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>PRINTFN.;33 13501  
 
-      changes to%:  (FNS PFCOPYBYTES)
+      :CHANGES-TO (FNS FINDFNDEF)
 
-      previous date%: "17-Oct-2021 18:00:43" 
-{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>PRINTFN.;29)
+      :PREVIOUS-DATE "12-Mar-2022 12:52:42" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>PRINTFN.;32)
 
 
 (* ; "
@@ -127,21 +127,24 @@ Copyright (c) 1986-1987, 1990, 1999, 2018, 2021 by Venue & Xerox Corporation.
         (TERPRI DSTFIL))])
 
 (FINDFNDEF
-  [LAMBDA (FN FROMFILE)                                  (* bvm%: "27-Aug-86 16:27")
+  [LAMBDA (FN FROMFILE)
 
-         (* * "Locates FNS definition of FN on FROMFILE.  If found, returns a list (file start end type); if file not found, returns symbol FILE.NOT.FOUND; if file found but not fn, returns full name of file that was found")
+    (* ;; "Edited 15-Mar-2022 00:18 by rmk: Changed FINDFILE to FINDFILE-WITH-EXTENSIONS")
+                                                             (* bvm%: "27-Aug-86 16:27")
+
+(* ;;; "Locates FNS definition of FN on FROMFILE.  If found, returns a list (file start end type); if file not found, returns symbol FILE.NOT.FOUND; if file found but not fn, returns full name of file that was found")
+
+         (* * "Locates FNS definition of FN on FROMFILE.  If found, returns a list (file start end type); if file not found, returns symbol FILE.NOT.FOUND; if file found but not fn, returns full name of file that was found")
 
     (LET (FULL MAP VALUE)
          (COND
-            ((NOT (SETQ FULL (FINDFILE FROMFILE T)))
+            ((NOT (SETQ FULL (FINDFILE-WITH-EXTENSIONS FROMFILE)))
              'FILE.NOT.FOUND)
             [(COND
                 ((SETQ MAP (OR (GETFILEMAP FULL)
                                (LOADFILEMAP FULL)))
 
-         (* First clause is quick check when the file already has a map.
-       LOADFILEMAP will find file map, rebuild if necessary and rewrite it on file if 
-       updatemapflg is T.)
+                 (* ;; "First clause is quick check when the file already has a map.  LOADFILEMAP will find file map, rebuild if necessary and rewrite it on file if updatemapflg is T.")
 
                  (AND (for GROUP in (CDR MAP) thereis (SETQ VALUE (FASSOC FN GROUP)))
                       (LIST FULL (CADR VALUE)
@@ -277,6 +280,6 @@ Copyright (c) 1986-1987, 1990, 1999, 2018, 2021 by Venue & Xerox Corporation.
 )
 (PUTPROPS PRINTFN COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990 1999 2018 2021))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1107 11292 (PF 1117 . 3812) (PF* 3814 . 4108) (PRINTFN 4110 . 4680) (PRINTFNDEF 4682 . 
-5865) (FINDFNDEF 5867 . 6891) (PFCOPYBYTES 6893 . 11042) (DISPLAYP 11044 . 11290)))))
+  (FILEMAP (NIL (1102 11635 (PF 1112 . 3807) (PF* 3809 . 4103) (PRINTFN 4105 . 4675) (PRINTFNDEF 4677 . 
+5860) (FINDFNDEF 5862 . 7234) (PFCOPYBYTES 7236 . 11385) (DISPLAYP 11387 . 11633)))))
 STOP
diff --git a/sources/PRINTFN.LCOM b/sources/PRINTFN.LCOM
index 670be99e..40135ae7 100644
Binary files a/sources/PRINTFN.LCOM and b/sources/PRINTFN.LCOM differ
diff --git a/sources/SPELLFILE b/sources/SPELLFILE
index b646d4f0..7d30c9cb 100644
--- a/sources/SPELLFILE
+++ b/sources/SPELLFILE
@@ -1,13 +1,15 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
-(FILECREATED "28-Apr-92 15:38:21" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>SPELLFILE.;4| 16123  
 
-      changes to%:  (FNS FINDFILE SPELLFILE SPELLFILE.SPELL SPELLFILE1)
+(FILECREATED "17-Mar-2022 12:13:30" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SPELLFILE.;5 16467  
 
-      previous date%: "27-Nov-90 14:57:57" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>SPELLFILE.;3|)
+      :CHANGES-TO (FNS SPELLFILE FINDFILE)
+
+      :PREVIOUS-DATE "16-Mar-2022 20:02:22" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>SPELLFILE.;2)
 
 
 (* ; "
-Copyright (c) 1986, 1990, 1992 by Venue & Xerox Corporation.  All rights reserved.
+Copyright (c) 1986, 1990, 1992 by Venue & Xerox Corporation.
 ")
 
 (PRETTYCOMPRINT SPELLFILECOMS)
@@ -29,7 +31,7 @@ Copyright (c) 1986, 1990, 1992 by Venue & Xerox Corporation.  All rights reserve
 (DEFINEQ
 
 (FINDFILE
-  [LAMBDA (FILE NSFLG DIRLST)                            (* ; "Edited 14-Mar-91 21:54 by bvm")
+  [LAMBDA (FILE NSFLG DIRLST)                                (* ; "Edited 14-Mar-91 21:54 by bvm")
 
     (* ;; "If file has an explicit directory on it and that file exists, don't fool around with the directory packing in SPELLFILE, simply return.  ")
 
@@ -40,151 +42,159 @@ Copyright (c) 1986, 1990, 1992 by Venue & Xerox Corporation.  All rights reserve
        (T (SPELLFILE FILE T NSFLG DIRLST])
 
 (SPELLFILE
-  [LAMBDA (FILE NOPRINTFLG NSFLG DIRLST)                 (* ; "Edited 27-Nov-90 14:13 by nm")
+  [LAMBDA (FILE NOPRINTFLG NSFLG DIRLST)
+
+    (* ;; "Edited 17-Mar-2022 12:13 by rmk: added FINDFILE-WITH-EXTENSIONS at the top, for FILE-NOT-FOUND and FINDFILE")
+
+    (* ;; "Edited 27-Nov-90 14:13 by nm")
+
     (DECLARE (SPECVARS NAME EXTENSION VERSION SPELLVAL DIRHOSTS HOST)
            (GLOBALVARS \FILEDEVICENAMES))
-    (PROG (SPELLVAL VAL DIRHOSTS HOST DEVICE DIRECTORY RELATIVEDIRECTORY SUBDIRECTORY NAME EXTENSION
-                 VERSION FILEDATES (FIELDS (UNPACKFILENAME.STRING FILE))
-                 (DIRS (OR DIRLST DIRECTORIES))
-                 (APPFLG 'MUST-APPROVE)
-                 (NSFLG (OR NSFLG NOSPELLFLG (NULL DWIMFLG)))
-                 (ROOTNAME FILE))
-          (OR FILE (RETURN))
-      FLDLP
-          (COND
-             (FIELDS (SELECTQ (CAR FIELDS)
-                         (NAME (SETQ NAME (CADR FIELDS)))
-                         (VERSION (SETQ VERSION (CADR FIELDS)))
-                         (EXTENSION (SETQ EXTENSION (CADR FIELDS)))
-                         (DIRECTORY (SETQ DIRECTORY (CADR FIELDS)))
-                         (RELATIVEDIRECTORY 
-                              (SETQ RELATIVEDIRECTORY (CADR FIELDS)))
-                         (SUBDIRECTORY (SETQ SUBDIRECTORY (CADR FIELDS)))
-                         (HOST (SETQ HOST (CADR FIELDS)))
-                         (DEVICE 
-                                 (* ;; 
-                               "Pseudo-devices FOO: can be used to denote a list of directories")
 
-                                 (OR [AND (NULL DEVICE)
-                                          (NULL DIRECTORY)
-                                          (SETQ DIRS (GETPROP (SETQ DEVICE (CADR FIELDS))
-                                                            'DIRECTORIES]
-                                     (RETURN)))
-                         (RETURN))
-                    (SETQ FIELDS (CDDR FIELDS))
-                    (GO FLDLP)))
-          [AND HOST (COND
-                       ((HOSTNAMEP HOST))
-                       ([AND (NOT NSFLG)
-                             (SETQ HOST (FIXSPELL HOST NIL \FILEDEVICENAMES 'NO-MESSAGE]
-                        (AND (SETQ VAL (INFILEP (PACKFILENAME.STRING 'HOST HOST 'BODY FILE)))
-                             (GO RET)))
-                       (T                                    (* ; 
-                                          "It is pointless to go on if we don't have a valid host.")
-                          (RETURN NIL]
-          [COND
-             ((OR HOST DEVICE DIRECTORY RELATIVEDIRECTORY SUBDIRECTORY VERSION)
+    (* ;; "This does the FOO to FOO>FOO correction, with only directory scanning and no other transformations.")
 
-              (* ;; "ROOTNAME is what fixspell gets called on.  important that extra characters get stripped out so that spelling corrector metric is applied to what is really being corrected, otherwise, e.g.  with directory supplied, any two short names will match")
-
-              (SETQ ROOTNAME (MKATOM (PACKFILENAME 'NAME NAME 'EXTENSION EXTENSION]
-          [COND
-             ([AND (NEQ ROOTNAME FILE)
-                   (NULL DIRLST)
-                   (SETQ FILEDATES (GETPROP ROOTNAME 'FILEDATES))
-                   (SETQ SPELLVAL (OR (INFILEP ROOTNAME)
-                                      (AND VERSION (OR DIRECTORY HOST)
-                                           (INFILEP (PACKFILENAME.STRING 'DIRECTORY DIRECTORY
-                                                           'RELATIVEDIRECTORY RELATIVEDIRECTORY
-                                                           'SUBDIRECTORY SUBDIRECTORY 'HOST HOST
-                                                           'NAME NAME 'EXTENSION EXTENSION]
+    (OR (FINDFILE-WITH-EXTENSIONS FILE DIRLST)
+        (PROG (SPELLVAL VAL DIRHOSTS HOST DEVICE DIRECTORY RELATIVEDIRECTORY SUBDIRECTORY NAME 
+                     EXTENSION VERSION FILEDATES (FIELDS (UNPACKFILENAME.STRING FILE))
+                     (DIRS (OR DIRLST DIRECTORIES))
+                     (APPFLG 'MUST-APPROVE)
+                     (NSFLG (OR NSFLG NOSPELLFLG (NULL DWIMFLG)))
+                     (ROOTNAME FILE)
+                     (NAMESUBDIR))
+              (OR FILE (RETURN))
+          FLDLP
               (COND
-                 ([for X in FILEDATES thereis (AND (OR (EQ (CDR X)
-                                                                       SPELLVAL)
-                                                                   (EQ (CDR X)
-                                                                       FILE))
-                                                               (STREQUAL (CAR X)
-                                                                      (FILEDATE SPELLVAL]
+                 (FIELDS (SELECTQ (CAR FIELDS)
+                             (NAME (SETQ NAME (CADR FIELDS)))
+                             (VERSION (SETQ VERSION (CADR FIELDS)))
+                             (EXTENSION (SETQ EXTENSION (CADR FIELDS)))
+                             (DIRECTORY (SETQ DIRECTORY (CADR FIELDS)))
+                             (RELATIVEDIRECTORY 
+                                  (SETQ RELATIVEDIRECTORY (CADR FIELDS)))
+                             (SUBDIRECTORY (SETQ SUBDIRECTORY (CADR FIELDS)))
+                             (HOST (SETQ HOST (CADR FIELDS)))
+                             (DEVICE 
+                                     (* ;; 
+                                    "Pseudo-devices FOO: can be used to denote a list of directories")
 
-                  (* ;; "attacks problem where sombody wants a specific file, e.g.  makefile wants the source, the file is around, but with a different verson number, e.g.  was ftped from maxc, and user didnt loadfrom symbolic but instead just started editing with compiled file having been loaded.  This is a rare case;  users should LOADFROM! Also, since we don't know where this fully-qualified name came from, we must ask for correction.")
+                                     (OR [AND (NULL DEVICE)
+                                              (NULL DIRECTORY)
+                                              (SETQ DIRS (GETPROP (SETQ DEVICE (CADR FIELDS))
+                                                                'DIRECTORIES]
+                                         (RETURN)))
+                             (RETURN))
+                        (SETQ FIELDS (CDDR FIELDS))
+                        (GO FLDLP)))
+              [AND HOST (COND
+                           ((HOSTNAMEP HOST))
+                           ([AND (NOT NSFLG)
+                                 (SETQ HOST (FIXSPELL HOST NIL \FILEDEVICENAMES 'NO-MESSAGE]
+                            (AND (SETQ VAL (INFILEP (PACKFILENAME.STRING 'HOST HOST 'BODY FILE)))
+                                 (GO RET)))
+                           (T                                (* ; 
+                                            "It is pointless to go on if we don't have a valid host.")
+                              (RETURN NIL]
+              [COND
+                 ((OR HOST DEVICE DIRECTORY RELATIVEDIRECTORY SUBDIRECTORY VERSION)
 
-                  (SETQ VAL SPELLVAL)                        (* ; 
-"works by looking to see if latest verson of rootname in fact has same filedate as requested file.")
-                  (GO RET]
-          [COND
-             [DIRECTORY (COND
-                           ((DIRECTORYNAMEP DIRECTORY HOST)  (* ; 
-                                                           "User supplied directory is valid")
-                            (GO SPELLNAME)))
+                  (* ;; "ROOTNAME is what fixspell gets called on.  important that extra characters get stripped out so that spelling corrector metric is applied to what is really being corrected, otherwise, e.g.  with directory supplied, any two short names will match")
 
-                    (* ;; "Try to spelling correct directory with hostname stripped off for spelling metric.  If HOST, then only consider directories on that host.  Otherwise, keep a list of the hosts associated with the host-free directories.")
+                  (SETQ ROOTNAME (MKATOM (PACKFILENAME 'NAME NAME 'EXTENSION EXTENSION]
+              [COND
+                 ([AND (NEQ ROOTNAME FILE)
+                       (NULL DIRLST)
+                       (SETQ FILEDATES (GETPROP ROOTNAME 'FILEDATES))
+                       (SETQ SPELLVAL (OR (INFILEP ROOTNAME)
+                                          (AND VERSION (OR DIRECTORY HOST)
+                                               (INFILEP (PACKFILENAME.STRING 'DIRECTORY DIRECTORY
+                                                               'RELATIVEDIRECTORY RELATIVEDIRECTORY
+                                                               'SUBDIRECTORY SUBDIRECTORY
+                                                               'HOST HOST 'NAME NAME 'EXTENSION 
+                                                               EXTENSION]
+                  (COND
+                     ([for X in FILEDATES thereis (AND (OR (EQ (CDR X)
+                                                               SPELLVAL)
+                                                           (EQ (CDR X)
+                                                               FILE))
+                                                       (STREQUAL (CAR X)
+                                                              (FILEDATE SPELLVAL]
 
-                    (COND
-                       ([AND (NOT NSFLG)
-                             (SETQ DIRS (SPELLFILE.MATCHINGDIRS DIRS HOST))
-                             (SETQ VAL (FIXSPELL DIRECTORY NIL DIRS 'NO-MESSAGE NIL
-                                              (FUNCTION (LAMBDA (DIR)
+                      (* ;; "attacks problem where sombody wants a specific file, e.g.  makefile wants the source, the file is around, but with a different verson number, e.g.  was ftped from maxc, and user didnt loadfrom symbolic but instead just started editing with compiled file having been loaded.  This is a rare case;  users should LOADFROM! Also, since we don't know where this fully-qualified name came from, we must ask for correction.")
+
+                      (SETQ VAL SPELLVAL)                    (* ; 
+  "works by looking to see if latest verson of rootname in fact has same filedate as requested file.")
+                      (GO RET]
+              [COND
+                 [DIRECTORY (COND
+                               ((DIRECTORYNAMEP DIRECTORY HOST)
+                                                             (* ; "User supplied directory is valid")
+                                (GO SPELLNAME)))
+
+                        (* ;; "Try to spelling correct directory with hostname stripped off for spelling metric.  If HOST, then only consider directories on that host.  Otherwise, keep a list of the hosts associated with the host-free directories.")
+
+                        (COND
+                           ([AND (NOT NSFLG)
+                                 (SETQ DIRS (SPELLFILE.MATCHINGDIRS DIRS HOST))
+                                 (SETQ VAL (FIXSPELL DIRECTORY NIL DIRS 'NO-MESSAGE NIL
+                                                  (FUNCTION (LAMBDA (DIR)
                                                              (* ; 
-                                            "Check file only for directories that are close enough")
-                                                          (AND (SETQ DIR (SPELLFILEDIR DIR))
-                                                               (RETFROM 'FIXSPELL DIR]
-                        (GO RET))
-                       (T (RETURN]
-             (T 
-                (* ;; "Here if directory wasn't specified in the filename.  Search only directories on DIRS which match HOST, if specified.")
+                                              "Check file only for directories that are close enough")
+                                                              (AND (SETQ DIR (SPELLFILEDIR DIR))
+                                                                   (RETFROM 'FIXSPELL DIR]
+                            (GO RET))
+                           (T (RETURN]
+                 ((FINDFILE-WITH-EXTENSIONS))
+                 (T 
+                    (* ;; "Here if directory wasn't specified in the filename.  Search only directories on DIRS which match HOST, if specified.")
 
-                (for DIR in DIRS when [PROGN (SELECTQ DIR
-                                                             ((NIL T) 
-                                                                  (SETQ DIR (DIRECTORYNAME DIR T)))
-                                                             NIL)
-                                                         (AND [OR (NULL HOST)
-                                                                  (STREQUAL HOST (LISTGET
-                                                                                  (
+                    (for DIR in DIRS when [PROGN (SELECTQ DIR
+                                                     ((NIL T) 
+                                                          (SETQ DIR (DIRECTORYNAME DIR T)))
+                                                     NIL)
+                                                 (AND [OR (NULL HOST)
+                                                          (STREQUAL HOST (LISTGET (
                                                                                 UNPACKFILENAME.STRING
                                                                                    DIR)
-                                                                                  'HOST]
-                                                              (SETQ VAL (INFILEP (PACKFILENAME.STRING
-                                                                                  'DIRECTORY DIR
-                                                                                  'RELATIVEDIRECTORY
-                                                                                  RELATIVEDIRECTORY
-                                                                                  'SUBDIRECTORY 
-                                                                                  SUBDIRECTORY
-                                                                                  'NAME NAME
-                                                                                  'EXTENSION 
-                                                                                  EXTENSION
-                                                                                  'VERSION VERSION]
-                   do [SETQ APPFLG (COND
+                                                                                'HOST]
+                                                      (SETQ VAL (INFILEP (PACKFILENAME.STRING
+                                                                          'DIRECTORY DIR 
+                                                                          'RELATIVEDIRECTORY 
+                                                                          RELATIVEDIRECTORY
+                                                                          'SUBDIRECTORY SUBDIRECTORY
+                                                                          'NAME NAME 'EXTENSION 
+                                                                          EXTENSION 'VERSION VERSION]
+                       do [SETQ APPFLG (COND
                                           (NOPRINTFLG 'NO-MESSAGE)
                                           (T 'NEEDNOTAPPROVE]
-                         (GO RET]
-          (COND
-             ([AND (NULL DIRLST)
-                   [LISTP (SETQ VAL (GETPROP FILE 'FILEDATES]
-                   (FMEMB [CDR (LISTP (CAR (LISTP (GETPROP FILE 'FILE]
-                          '(LOADFNS T))
-                   (LITATOM (CDAR VAL))
-                   (SETQ VAL (INFILEP (PACKFILENAME.STRING 'VERSION NIL 'BODY (CDAR VAL]
-              [SETQ APPFLG (COND
-                              (NOPRINTFLG 'NO-MESSAGE)
-                              (T 'NEEDNOTAPPROVE]
-              (GO RET)))
-      SPELLNAME
-          (COND
-             ([OR NSFLG (NOT (SETQ VAL (SPELLFILE.SPELL HOST DIRECTORY NAME EXTENSION VERSION 
-                                              ROOTNAME RELATIVEDIRECTORY SUBDIRECTORY]
-              (RETURN)))
+                          (GO RET]
+              (COND
+                 ([AND (NULL DIRLST)
+                       [LISTP (SETQ VAL (GETPROP FILE 'FILEDATES]
+                       (FMEMB [CDR (LISTP (CAR (LISTP (GETPROP FILE 'FILE]
+                              '(LOADFNS T))
+                       (LITATOM (CDAR VAL))
+                       (SETQ VAL (INFILEP (PACKFILENAME.STRING 'VERSION NIL 'BODY (CDAR VAL]
+                  [SETQ APPFLG (COND
+                                  (NOPRINTFLG 'NO-MESSAGE)
+                                  (T 'NEEDNOTAPPROVE]
+                  (GO RET)))
+          SPELLNAME
+              (COND
+                 ([OR NSFLG (NOT (SETQ VAL (SPELLFILE.SPELL HOST DIRECTORY NAME EXTENSION VERSION 
+                                                  ROOTNAME RELATIVEDIRECTORY SUBDIRECTORY]
+                  (RETURN)))
 
-     (* ;; "SPELLFILE1 and hence FIXSPELL return name without host/directory, since matching against ROOTNAME;  hence, the packfilename below")
+         (* ;; "SPELLFILE1 and hence FIXSPELL return name without host/directory, since matching against ROOTNAME;  hence, the packfilename below")
 
-          [COND
-             ((NEQ FILE ROOTNAME)
-              (SETQ VAL (MKATOM (PACKFILENAME 'BODY VAL 'HOST HOST 'DIRECTORY DIRECTORY 
-                                       'RELATIVEDIRECTORY RELATIVEDIRECTORY 'SUBDIRECTORY 
-                                       SUBDIRECTORY 'VERSION VERSION]
-      RET (RETURN (AND (OR (EQ APPFLG 'NO-MESSAGE)
-                           (FIXSPELL1 FILE VAL (EQ APPFLG 'MUST-APPROVE)
-                                  NIL APPFLG))
-                       VAL])
+              [COND
+                 ((NEQ FILE ROOTNAME)
+                  (SETQ VAL (MKATOM (PACKFILENAME 'BODY VAL 'HOST HOST 'DIRECTORY DIRECTORY
+                                           'RELATIVEDIRECTORY RELATIVEDIRECTORY 'SUBDIRECTORY 
+                                           SUBDIRECTORY 'VERSION VERSION]
+          RET (RETURN (AND (OR (EQ APPFLG 'NO-MESSAGE)
+                               (FIXSPELL1 FILE VAL (EQ APPFLG 'MUST-APPROVE)
+                                      NIL APPFLG))
+                           VAL])
 
 (SPELLFILE.MATCHINGDIRS
 (LAMBDA (DIRS HOST) (* bvm%: "26-DEC-81 17:01") (COND (HOST (for DIR DHOST in DIRS when (EQ HOST (LISTGET (SETQ DIR (OR (LISTP DIR) (UNPACKFILENAME (SELECTQ DIR ((NIL T) (DIRECTORYNAME DIR T)) DIR)))) (QUOTE HOST))) collect (LISTGET DIR (QUOTE DIRECTORY)))) (T (for DIR UDIR DHOST in DIRS unless (PROG1 (MEMB (SETQ DIR (LISTGET (SETQ UDIR (OR (LISTP DIR) (UNPACKFILENAME (SELECTQ DIR ((NIL T) (DIRECTORYNAME DIR T)) DIR)))) (QUOTE DIRECTORY))) $$VAL) (AND (SETQ DHOST (LISTGET UDIR (QUOTE HOST))) (NCONC1 (OR (FASSOC DIR DIRHOSTS) (CAR (push DIRHOSTS (CONS DIR)))) DHOST))) collect DIR))))
@@ -257,13 +267,13 @@ Copyright (c) 1986, 1990, 1992 by Venue & Xerox Corporation.  All rights reserve
 (DECLARE%: DONTEVAL@LOAD DOCOPY 
 
 (ADDTOVAR ERRORTYPELST (23 (SPELLFILE (CADR ERRORMESS)
-                                      NIL NOFILESPELLFLG)))
+                                  NIL NOFILESPELLFLG)))
 )
 
 (ADDTOVAR DIRECTORIES )
 (PUTPROPS SPELLFILE COPYRIGHT ("Venue & Xerox Corporation" 1986 1990 1992))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (993 15750 (FINDFILE 1003 . 1452) (SPELLFILE 1454 . 10927) (SPELLFILE.MATCHINGDIRS 10929
- . 11548) (SPELLFILE.SPELL 11550 . 12964) (SPELLFILE.SPELL1 12966 . 13735) (SPELLFILE1 13737 . 15125) 
-(SPELLFILEDIR 15127 . 15748)))))
+  (FILEMAP (NIL (983 16098 (FINDFILE 993 . 1446) (SPELLFILE 1448 . 11275) (SPELLFILE.MATCHINGDIRS 11277
+ . 11896) (SPELLFILE.SPELL 11898 . 13312) (SPELLFILE.SPELL1 13314 . 14083) (SPELLFILE1 14085 . 15473) 
+(SPELLFILEDIR 15475 . 16096)))))
 STOP
diff --git a/sources/SPELLFILE.LCOM b/sources/SPELLFILE.LCOM
index 4f95120d..259ce5c1 100644
Binary files a/sources/SPELLFILE.LCOM and b/sources/SPELLFILE.LCOM differ
diff --git a/sources/WINDOWOBJ b/sources/WINDOWOBJ
index 5bc8a14c..17277f0e 100644
--- a/sources/WINDOWOBJ
+++ b/sources/WINDOWOBJ
@@ -1,11 +1,11 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "20-Dec-2021 23:47:45" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;5 27781  
+(FILECREATED "17-Mar-2022 22:48:26" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;7 27963  
 
-      :CHANGES-TO (FNS COPYINSERT)
+      :CHANGES-TO (FNS READIMAGEOBJ)
 
-      :PREVIOUS-DATE "18-Dec-2021 20:09:33" 
-{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;3)
+      :PREVIOUS-DATE "20-Dec-2021 23:47:45" 
+{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>WINDOWOBJ.;5)
 
 
 (* ; "
@@ -313,55 +313,51 @@ Copyright (c) 1986-1987, 1990-1991, 1993 by Venue & Xerox Corporation.
                                                               of FROM])
 
 (READIMAGEOBJ
-  [LAMBDA (STREAM GETFN NOERROR DATANBYTES)              (* rrb "18-Mar-86 11:35")
+  [LAMBDA (STREAM GETFN NOERROR DATANBYTES)
+
+    (* ;; "Edited 17-Mar-2022 22:47 by rmk: Added WHEREIS as a last resort.")
+                                                             (* rrb "18-Mar-86 11:35")
     (DECLARE (SPECVARS UNDERREADIMAGEOBJ))
 
     (* ;; "Reads an IMAGEOBJ, using GETFN.  Verifies that the GETFN is legitimate")
 
     (* ;; "the variable UNDERREADIMAGEOBJ is used in HVBAKREAD to determine if it should do a validity check on the function which is read from the file.")
 
-    (LET* ((ENTRY (ASSOC GETFN IMAGEOBJGETFNS))
-           (SUPPORTFILE (LISTGET (CDR ENTRY)
-                               'FILE))
-           (UNDERREADIMAGEOBJ T))
-          [COND
-             ((OR (NOT GETFN)
-                  (NOT (GETD GETFN))
-                  (NOT ENTRY))
+    (* ;; "rmk:  I'm not sure that it makes sense for GETFN to be NIL, as 86 code allowed.  Presumably an image object without a GETFN should never have been written.")
 
-              (* ;; "This function wasn't specified in the IMAGEOBJTYPES list, or isn't defined.  Try loading the support file.")
+    (LET (SUPPORTFILE (UNDERREADIMAGEOBJ T))
+         (DECLARE (SPECVARS UNDERREADIMAGEOBJ))
 
-              (COND
-                 ((AND SUPPORTFILE (MOUSECONFIRM (CONCAT "Trying to read an IMAGEOBJ with GETFN " 
-                                                        GETFN ". Shall I load the support file, " 
-                                                        SUPPORTFILE "?")
-                                          NIL NIL NIL))      (* ; 
-                                                  "Ask if the user wants to load the support file.")
-                  (DOFILESLOAD (LIST SUPPORTFILE))           (* ; "LOAD the file")
-                  ]
-          (COND
-             [(OR (NOT GETFN)
-                  (NOT (GETD GETFN))
-                  (NOT (ASSOC GETFN IMAGEOBJGETFNS)))        (* ; 
-                   "Still no support for this kind of IMAGEOBJ.  Encapsulate it in something safe.")
-              (COND
-                 (NOERROR                                    (* ; 
-                                             "The caller doesn't want errors if there's a failure.")
-                        NIL)
-                 (T (LET* [(OBJ (IMAGEOBJCREATE NIL (ENCAPSULATEDIMAGEFNS GETFN]
-                                                             (* ; "Build an ENCAPSULATED imageobj.")
-                          (IMAGEOBJPROP OBJ 'FILE (FULLNAME STREAM)
-                                 STREAM)                     (* ; 
-                           "Remember which file it came from so that it could be written back out.")
-                          (IMAGEOBJPROP OBJ 'FILEPTR (GETFILEPTR STREAM))
-                          (IMAGEOBJPROP OBJ 'OBJSIZE DATANBYTES)
+         (* ;; "Typically,the file containing the GETFN has already been loaded.  If not, it could be the case that the GETFN and its file were pushed on the list for future reference (now), but the file wasn't loaded then. We need to download it.  Or if not there or not there with a file, and we can find the file  containing the GETFN in the WHEREIS database, load that file.")
+
+         (* ;; "If we find the file with the GETFN but that file doesn't also contain the IMAGEFNS variable, we're screwed.  That's why we apply the GETFN under an NLSETQ")
+
+         (CL:WHEN (AND GETFN (NOT (GETD GETFN))
+                       [SETQ SUPPORTFILE (OR (LISTGET (CDR (ASSOC GETFN IMAGEOBJGETFNS))
+                                                    'FILE)
+                                             (CAR (WHEREIS GETFN 'FNS T))
+                                             (CAR (WHEREIS GETFN 'FUNCTIONS T]
+                       (MOUSECONFIRM (CONCAT "Trying to read an IMAGEOBJ with GETFN " GETFN 
+                                            ". Shall I load the support file, " SUPPORTFILE "?")
+                              NIL NIL NIL))
+             (DOFILESLOAD (LIST SUPPORTFILE)))
+         (COND
+            [(AND GETFN (GETD GETFN)
+                  (CAR (NLSETQ (APPLY* GETFN STREAM]
+            (NOERROR NIL)
+            (T                                               (* ; 
+                     "Still no support for this kind of IMAGEOBJ.  Encapsulate it in something safe.")
+               (LET [(OBJ (IMAGEOBJCREATE NIL (ENCAPSULATEDIMAGEFNS GETFN]
+                    (IMAGEOBJPROP OBJ 'FILE (FULLNAME STREAM)
+                           STREAM)                           (* ; 
+                             "Remember which file it came from so that it could be written back out.")
+                    (IMAGEOBJPROP OBJ 'FILEPTR (GETFILEPTR STREAM))
                                                              (* ; "And where on the file")
-                          (IMAGEOBJPROP OBJ 'UNKNOWNGETFN GETFN)
-                          (AND DATANBYTES (SETFILEPTR STREAM (PLUS (GETFILEPTR STREAM)
-                                                                   DATANBYTES)))
-                                                             (* ; "And the name of its GETFN")
-                          OBJ]
-             (T (APPLY* GETFN STREAM])
+                    (IMAGEOBJPROP OBJ 'OBJSIZE DATANBYTES)
+                    (IMAGEOBJPROP OBJ 'UNKNOWNGETFN GETFN)   (* ; "And the name of its GETFN")
+                    (AND DATANBYTES (SETFILEPTR STREAM (PLUS (GETFILEPTR STREAM)
+                                                             DATANBYTES)))
+                    OBJ])
 
 (WRITEIMAGEOBJ
   [LAMBDA (IMAGEOBJ STREAM)                              (* jds "19-Feb-85 09:36")
@@ -531,11 +527,11 @@ Either delete this image object or load its support files." IMAGEOBJ)
 )
 (PUTPROPS WINDOWOBJ COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1990 1991 1993))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (4895 20996 (COPYINSERT 4905 . 6432) (IMAGEBOX 6434 . 6614) (IMAGEFNSCREATE 6616 . 7811)
- (IMAGEFNSP 7813 . 8054) (IMAGEOBJCREATE 8056 . 8601) (IMAGEOBJP 8603 . 8844) (IMAGEOBJPROP 8846 . 
-14738) (\IMAGEUSERPROP 14740 . 15334) (HPRINT.IMAGEOBJ 15336 . 15925) (COPYIMAGEOBJ 15927 . 16670) (
-READIMAGEOBJ 16672 . 19642) (WRITEIMAGEOBJ 19644 . 20994)) (21210 27417 (
-ENCAPSULATEDOBJ.BUTTONEVENTINFN 21220 . 22356) (ENCAPSULATEDOBJ.PUTFN 22358 . 23473) (
-ENCAPSULATEDOBJ.DISPLAYFN 23475 . 25088) (ENCAPSULATEDOBJ.IMAGEBOXFN 25090 . 25978) (
-ENCAPSULATEDIMAGEFNS 25980 . 27415)))))
+  (FILEMAP (NIL (4897 21178 (COPYINSERT 4907 . 6434) (IMAGEBOX 6436 . 6616) (IMAGEFNSCREATE 6618 . 7813)
+ (IMAGEFNSP 7815 . 8056) (IMAGEOBJCREATE 8058 . 8603) (IMAGEOBJP 8605 . 8846) (IMAGEOBJPROP 8848 . 
+14740) (\IMAGEUSERPROP 14742 . 15336) (HPRINT.IMAGEOBJ 15338 . 15927) (COPYIMAGEOBJ 15929 . 16672) (
+READIMAGEOBJ 16674 . 19824) (WRITEIMAGEOBJ 19826 . 21176)) (21392 27599 (
+ENCAPSULATEDOBJ.BUTTONEVENTINFN 21402 . 22538) (ENCAPSULATEDOBJ.PUTFN 22540 . 23655) (
+ENCAPSULATEDOBJ.DISPLAYFN 23657 . 25270) (ENCAPSULATEDOBJ.IMAGEBOXFN 25272 . 26160) (
+ENCAPSULATEDIMAGEFNS 26162 . 27597)))))
 STOP
diff --git a/sources/WINDOWOBJ.LCOM b/sources/WINDOWOBJ.LCOM
index 353cf8d8..c92a5b26 100644
Binary files a/sources/WINDOWOBJ.LCOM and b/sources/WINDOWOBJ.LCOM differ
