1
0
mirror of synced 2026-05-08 08:42:37 +00:00

Compare commits

...

31 Commits

Author SHA1 Message Date
rmkaplan
d0d9b2329a Cleanup the piece datatype, address a few issues 2026-05-07 20:57:58 -07:00
Matt Heffron
4de89a6e94 Fix library>DATABASEFNS DUMPDB to use get the FILEDATES correctly (#2593)
DUMPDB fixed to use ROOTFILENAME vs. NAMEFIELD (U-CASE vs. actual) to retrieve and dump the source file's FILEDATES, so the .DATABASE can be loaded.
2026-05-07 12:33:11 -07:00
rmkaplan
ceccadacef Minor fix in UNICODE-FORMATS (#2596) 2026-05-07 12:32:48 -07:00
rmkaplan
6159c64b84 man [filename] just opens the corresponding documentation file (#2572)
* man [filename] just opens the corresponding documentation file
* When a particular ENTRY is provided and found in the file, scroll its first occurrence to the top
2026-05-06 11:55:34 -07:00
rmkaplan
eb6ee87170 COMPAREDIRECTORIES implements the ** all-subdirectories convention of .gitignore (#2583)
* COMPAREDIRECTORIES implements the ** all-subdirectories convention of .gitignore
* Can specify exclusions/ignores in gwc command line, after hyphen
2026-05-06 11:54:13 -07:00
rmkaplan
c16e3b4a55 Move UNIXY commands to UNIXUTILS, delete UNIXYCD (#2587)
* Move  UNIXY commands to UNIXUTILS, delete UNIXYCD

* Delete UNIXYCD
2026-04-30 23:04:26 -07:00
rmkaplan
285e35f2ea MCCS now includes XCCS external format, separate XCCS file now in Obsolete (#2590) 2026-04-30 22:55:46 -07:00
rmkaplan
4e761298ea This was well-formed, but had a bogus slug character showing as a black box (#2584)
Fix typo
2026-04-29 11:59:27 -07:00
Matt Heffron
cbea9a7c9d HCFILES added filtering and logging details (#2567)
* Add reporting of filtering "Why?"
Add reporting of the actual error Condition on files that FAIL.
Change extraction of the "hcfiles-fails.txt" to a perl program since the Condition reporting sometimes is multiple lines.

* Change running of the getFails.pl that extracts FAIL information.
Also check if perl is installed, and report it if not into the fails file.
2026-04-29 11:45:47 -07:00
Frank Halasz
47dd8edf60 Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename (#2580)
* Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename

* Remove PRINT debugging code from ShellOpen

* Fix bug introduced into SLASHIT whereby which it would go into an infinite loop if a filename had two or more spaces in it.
2026-04-27 14:08:14 -07:00
rmkaplan
1d2292aa62 Fixing \DO.PARAMS.AT.OPEN take two (#2581) 2026-04-27 12:16:26 -07:00
Larry Masinter
4499b4d914 Address the \DO.PARAMS.AT.OPEN typos/bugs (#2574)
Resolves #2568
2026-04-26 20:41:49 -07:00
Larry Masinter
0317fbd882 Fix for Issue #2504 (partial): In GRAPHER when a DISPLAYLINKFN is specified but not defined uses the default DRAWLINK (#2564)
In GRAPHER when a DISPLAYLINKFN is specified but not defined, uses the
default DRAWLINK function instead and promptprints a message to that
effect.
2026-04-25 13:01:10 -07:00
Matt Heffron
b0c6136bd6 Fixes issues causing crashing during loadups building. 2026-04-21 22:14:05 -07:00
Matt Heffron
d922212de1 Merge branch 'master' into mth68--Fix_DO.PARAMS.AT.OPEN_typos 2026-04-21 22:12:38 -07:00
Matt Heffron
96c609e5f0 Address the concerns stated in Issue #2568 2026-04-20 15:27:43 -07:00
rmkaplan
728a278dc0 Previous version was smashed (#2569) 2026-04-18 16:00:43 -07:00
Matt Heffron
2814618b9a Add preliminary files with mappings from XCCS to Unihan set of Unicode. (#2559)
* Add preliminary files with mappings from XCCS to Unihan set of Unicode.
These were generated with scripting from the data in the unihan folder of the Unicode Data Base.
That info claims to know the mapping from Unicode(unihan) to "Xerox" coding (2 bytes in octal).
These were not validated at all for correctness/completeness.

* Added char set number line comment to top of each file
2026-04-17 11:22:22 -07:00
rmkaplan
af194bdaf7 UNIX-FILE-NAME wasn't dealing properly with {DSK} versions (#2554)
UNIX-FILE-NAME wasn't dealing properly with {DSK} version 1, and making sure that other versions had a dot
2026-04-15 12:57:31 -07:00
rmkaplan
e73aef6dcc Fix copy/delete for {UNIX} directories (#2553) 2026-04-15 12:57:01 -07:00
rmkaplan
61a05ac2b5 The GITFNS prc menu respects the project (#2544) 2026-04-15 12:56:26 -07:00
Larry Masinter
b611af518a READ symbols in undefined packages so they PRINT correctly (#2561)
As discussed in the 4/13/2026 LispCore meeting:
This allows you to READ symbols in undefined packages such that they
will print as expected.
2026-04-15 10:45:16 -07:00
Frank Halasz
fb0af3c05f Fix GRAPHER so that when a DISPLAYLINKFN is specified but the specifed function is not defined, it uses the default DRAWLINK function instead and promptprints a notice. 2026-04-14 22:36:09 -07:00
Herb Jellinek
93b09dec66 My last-minute change from QUOTE to FUNCTION inadvertently invoked
CL:FUNCTION instead, and RETFROM doesn't want a function object.
Updated to use IL:FUNCTION.
2026-04-14 12:16:13 -07:00
Herb Jellinek
8f3d5c26b5 As discussed in the 4/13/2026 LispCore meeting:
This is a new package that allows you to READ symbols in undefined packages
such that they will print as if there had not been an error.
2026-04-13 14:21:07 -07:00
rmkaplan
5790bce3db Add DISPLAY sanity check to EDITFONT (#2545) 2026-04-10 23:42:01 -07:00
rmkaplan
43f3118544 Rmk172 clean unicode mapping directory (#2552)
* Remove stale files, add README, correct XCCS-164 JIS

* Remake UNICODE-FORMATS to be sure it reflects current files

---------

Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2026-04-10 12:55:06 -07:00
rmkaplan
8eb02d2504 Add deleted/* (from GITFNS) to .gitignore (#2556)
* Add deleted/* (from GITFNS) to .gitignore

* OK, I changed it to **
2026-04-07 14:15:46 -07:00
Nick Briggs
573d87aca3 Updates \ETHEREVENTFN to relocate exit when the ethernet is unvailable. (#2418)
* Updates \ETHEREVENTFN to remove early exit when the ethernet is unvailable.

In the case that the ethernet is unavailable the \ETHEREVENTFN should
still call \SETETHERFLAGS, \SETLOCALNSNUMBERS, and \FLUSHNDBS, or
a newly started image will retain information from the system on which
it was built (such as ethernet MAC address in the NS address).  This
will also ensure that the NS address is not set to 0, instead initializing
with a fake  address based on the system serial number (calls \SERIALNUMBER).

* When no ethernet \FIND.LOCALPUPHOSTNUMBER should immediately return NIL

If there is NO ethernet it is better to avoid a delay waiting for a
PUP lookup response that will never come, and there is no value in
asking for the user to enter a PUP host number that will not be used.

* Updates \SETETHERFLAGS to avoid setting \10MBFLG when no ethernet

* Avoids making copy of \10MBLOCALNDB as \MAIKO.10MB.NDB for \MAIKO.ETHER-INTERRUPT

* RESTART.ETHER at end of loadup-lisp to ensure network structures are set up.

* Removes OCTALSTRING from PUP - now in APRINT

* Prevents \LOOKUPPORT waiting for an ethernet timeout if PUP has already been detected as unavailable
2026-04-02 11:15:23 -07:00
Matt Heffron
13eb940538 Fixes a typo in internal/loadups/man-page/loadup.1.md & derived files. (#2542)
Resolves #2536
2026-03-15 19:05:23 -07:00
Matt Heffron
3dc2bba019 Fixes a typo in internal/loadups/man-page/loadup.1.md & derived files. 2026-03-14 21:17:15 -07:00
143 changed files with 12695 additions and 16005 deletions

3
.gitignore vendored
View File

@@ -43,6 +43,9 @@ loadups/gitinfo
*.sysout
*.SYSOUT
# GITFNS deleted subdirectory
deleted/**
#compiled code -- leave in for now
# *.lcom

View File

@@ -1,27 +1,29 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "28-Jan-2026 11:03:17" {DSK}<Users>larry>il>medley>internal>MEDLEY-UTILS.;3 26880
(FILECREATED "16-Apr-2026 22:42:51" {DSK}<home>matt>Interlisp>medley>internal>MEDLEY-UTILS.;2 30564
:EDIT-BY "lmm"
:EDIT-BY "mth"
:CHANGES-TO (FNS MAKE-INDEX-HTMLS GATHER-INFO MAKE-FULLER-DB MEDLEY-FIX-LINKS MEDLEY-FIX-DATES
MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH MAKE-WHEREIS-LOOPS HCFILES RECOMPILE-ONE
RECMPL COMPILE-SETUP REMAKEFILES)
:CHANGES-TO (FNS HCFILES MAKE-EXPORTS-ALL MAKE-INDEX-HTMLS)
(FUNCTIONS REPORT-AND-GO)
(VARS MEDLEY-UTILSCOMS HC-SKIP-EXTENSIONS)
(ADVICE TEDIT.PROMPTPRINT)
:PREVIOUS-DATE "28-Jan-2026 10:46:02" {DSK}<Users>larry>il>medley>internal>MEDLEY-UTILS.;1)
:PREVIOUS-DATE "16-Apr-2026 22:27:40" {DSK}<home>matt>Interlisp>medley>internal>MEDLEY-UTILS.;1
)
(PRETTYCOMPRINT MEDLEY-UTILSCOMS)
(RPAQQ MEDLEY-UTILSCOMS
[(FNS GATHER-INFO MAKE-FULLER-DB MEDLEY-FIX-LINKS MEDLEY-FIX-DATES)
(VARS MEDLEY-FIX-DIRS OKSOURCES OKLIBRARY OKLISPUSERS OKINTERNAL)
(VARS HC-SKIP-EXTENSIONS MEDLEY-FIX-DIRS OKSOURCES OKLIBRARY OKLISPUSERS OKINTERNAL)
(FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH MAKE-WHEREIS-LOOPS)
(FNS HCFILES MAKE-INDEX-HTMLS)
(PROP FILETYPE MEDLEY-UTILS)
(ADVISE TEDIT.PROMPTPRINT)
(FNS RECOMPILE-ONE RECMPL COMPILE-SETUP REMAKEFILES)
(FUNCTIONS REPORT-AND-GO)
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
(NLAML)
(LAMA])
@@ -140,6 +142,12 @@
(for X in (OR DIRS MEDLEY-FIX-DIRS) join (FIX-DIRECTORY-DATES (MEDLEYDIR (PRINT X T])
)
(RPAQQ HC-SKIP-EXTENSIONS
(PDF SKIP HTML LCOM DFASL SH SYSOUT DRIBBLE IMPTR DISPLAYFONT WD WIDTHS MEDLEYDISPLAYFONT
PSCFONT ALL DATABASE 1 MD GZ PRESS IP BITMAP EL ELC XFORMS BUGREPORTS SUITE LISTING AWK
DINFOGRAPH HASHFILE BLTCHAR DOC DOCPOINTERS STATUS NOTEFILE ICO ISS BMP PNG PS1
VENUESYSOUT ACE FMC HKB LGC CMD COMMAND HTM SVG XML EXE))
(RPAQQ MEDLEY-FIX-DIRS ("sources" "library" "lispusers" "internal" "greetfiles" "doctools"))
(RPAQQ OKSOURCES (RENAMEFNS VMEM READSYS CASH-FILE HASH-FILE MEDLEYDIR MAKEINIT))
@@ -162,15 +170,18 @@
(DEFINEQ
(MAKE-EXPORTS-ALL
[LAMBDA (OUTFILE) (* ; "Edited 3-Aug-2023 18:34 by frank")
[LAMBDA (OUTFILE) (* ; "Edited 15-Apr-2026 16:42 by mth")
(* ; "Edited 3-Aug-2023 18:34 by frank")
(* ; "Edited 9-Mar-2021 16:11 by larry")
(* "Edited May 3, 2018 by Ron Kaplan--relative to MEDLEYDIR/lispcore/. Don't know why it does the CORE/RENAME")
(*
 "Edited Aug 17 94 by Sybalsky -- point it to /king/export/lispcore as the truth directory.")
(*
 "Edited July 5, 1990 by Sybalsky -- point it to Pele as the truth directory.")
(*
 "Edited September 29, 1986 by van Melle")
(* ;; "Edited May 3, 2018 by Ron Kaplan--relative to MEDLEYDIR/lispcore/. Don't know why it does the CORE/RENAME")
(* ;; "Edited Aug 17 94 by Sybalsky -- point it to /king/export/lispcore as the truth directory.")
(* ;; "Edited July 5, 1990 by Sybalsky -- point it to Pele as the truth directory.")
(* ;; "Edited September 29, 1986 by van Melle")
(CNDIR (MEDLEYDIR "sources"))
(LOAD 'FILESETS)
(GATHEREXPORTS EXPORTFILES (OR OUTFILE "exports.all"])
@@ -204,7 +215,8 @@
(DEFINEQ
(HCFILES
[LAMBDA (BASE REDO SUBSETS) (* ; "Edited 30-Jun-2024 08:27 by lmm")
[LAMBDA (BASE REDO SUBSETS) (* ; "Edited 16-Apr-2026 22:42 by mth")
(* ; "Edited 30-Jun-2024 08:27 by lmm")
(* ; "Edited 23-Apr-2024 23:15 by lmm")
(* ; "Edited 22-Apr-2024 13:22 by lmm")
(* ; "Edited 5-Feb-2024 12:16 by lmm")
@@ -213,74 +225,116 @@
(* ;;;; "BASE is the root directory. Doesn't replace PDF files except when REDO")
(* ;;; " SUBSETS is some combinsyion og (:YRDY :HYML :PRETTY and INDEX")
(* ;;; " SUBSETS is some combination of (:YRDY :HYML :PRETTY and INDEX")
(LET
[[DIRLIST (LIST (OR BASE (PSEUDOFILENAME (MEDLEYDIR]
(PHASES (OR SUBSETS '(TEDIT PRETTY INDEX HRULE]
(FILESLOAD PDFSTREAM SKETCH)
(FONTSET 'STANDARD)
(while DIRLIST
do
(SETQ BASE (pop DIRLIST))
(for SRCPATH in (DIRECTORY (CONCAT BASE "*.*;"))
do (PROG* [(SRC (UNPACKFILENAME SRCPATH))
[EXT (U-CASE (LISTGET SRC 'EXTENSION]
(DIR (LISTGET SRC 'DIRECTORY))
FRDY LDGP DEST (NOV (PACKFILENAME `(VERSION NIL ,@SRC]
(CL:FORMAT T "Starting on ~a :~%%" SRCPATH)
(CL:WHEN (DIRECTORYNAMEP SRCPATH)
(LET* ([DIRLIST (LIST (OR BASE (PSEUDOFILENAME (MEDLEYDIR]
[PHASES (OR SUBSETS '(TEDIT PRETTY INDEX HRULE]
(DOTEDIT (MEMB 'TEDIT PHASES))
(DOPRETTY (MEMB 'PRETTY PHASES)))
(FILESLOAD PDFSTREAM SKETCH)
(FONTSET 'STANDARD)
(while DIRLIST
do (SETQ BASE (pop DIRLIST))
(* ;; "any directory names, push them off and do them in another phase")
(* ;; "Breadth-first processing")
(CL:UNLESS (OR (STRPOS ">." NOV)
(INFILEP (CONCAT NOV ".skip")))
(SETQ DIRLIST (NCONC1 DIRLIST SRCPATH)))
(RETURN))
(CL:WHEN
(MEMB EXT
'(PDF SKIP HTML LCOM DFASL SH SYSOUT DRIBBLE IMPTR DISPLAYFONT ALL
DATABASE))
(for SRCPATH in (DIRECTORY (CONCAT BASE "*.*;"))
do (PROG* ((SRC (UNPACKFILENAME SRCPATH))
[EXT (U-CASE (LISTGET SRC 'EXTENSION]
(DIR (LISTGET SRC 'DIRECTORY))
[NAME (U-CASE (LISTGET SRC 'NAME]
[NOV (PACKFILENAME.STRING `(VERSION NIL ,@SRC]
LSFP DEST)
(CL:WHEN (DIRECTORYNAMEP SRCPATH)
(* ;; "ignore any of these extensions")
(* ;;
 "any directory names, push them off and do them in another phase")
(RETURN))
(if [NOT (OR (STRPOS "<." NOV)
(CL:SEARCH "<LOADUPS>" NOV :TEST #'CL:CHAR-EQUAL)
(STRPOS ">." NOV)
(INFILEP (CONCAT NOV ".skip"]
then (SETQ DIRLIST (NCONC1 DIRLIST SRCPATH))
(CL:FORMAT T "~&Deferring to later ~a~%%" SRCPATH)
else (CL:FORMAT T "~&Skipping ~a~%%" SRCPATH))
(RETURN))
(* ;;
 " doesnt (yet) implement / to - translattion. .readme should show up as -.readme.")
(* ;; "Fixup files that start with . and have no other extension")
(SETQ DEST (CONCAT NOV ".pdf"))
(CL:WHEN (AND (NOT REDO)
(INFILEP DEST))
(CL:FORMAT T "~a already there~%%" DEST)
(RETURN))
(CL:WHEN (INFILEP (CONCAT DEST ".skip"))
(PRINTOUT T "Explicit .skip " DEST T)
(RETURN))
(if (MEMB 'TEDIT PHASES)
then (CL:WHEN [OR (MEMB EXT '(TEDIT TED SKETCH BRAVO))
(CAR (NLSETQ (TEDIT.FORMATTEDFILEP SRCPATH]
(if (EQ REDO 'TEST)
then (CL:FORMAT T "Testing open ~a..." SRCPATH)
(CLOSEF? (OPENTEXTSTREAM SRCPATH))
else (OR [NLSETQ (CL:WITH-OPEN-STREAM (S (OPENTEXTSTREAM SRCPATH)
)
(TEDIT.FORMAT.HARDCOPY S DEST T NIL NIL
NIL 'PDF]
(PRINT 'FAIL T)))
(CL:FORMAT T "DONE")))
(CL:WHEN (AND (MEMB 'PRETTY PHASES)
(MEMB EXT '(NIL IL))
[SETQ LSFP (CAR (NLSETQ (LISPSOURCEFILEP SRCPATH]
(NEQ LSFP *COMMON-LISP-READ-ENVIRONMENT*))
(PRINTOUT T "PDF printing " " to " DEST "...")
(OR (NLSETQ (CL:WITH-OPEN-STREAM (STR (OPEN-PDF-STREAM DEST))
(PRETTYFILEINDEX SRCPATH NIL STR)))
(PRINT 'FAIL T))
(PRINTOUT T "DONE" T))])
(CL:WHEN (AND (NULL EXT)
(EQ (CHCON1 NAME)
(CHARCODE %.)))
(SETQ EXT (SUBATOM NAME 2)))
(CL:WHEN (MEMB EXT HC-SKIP-EXTENSIONS)
(* ;; "ignore any of these extensions")
(CL:FORMAT T "~&Ignoring (on extension): ~a~%%" SRCPATH)
(RETURN))
(* ;;
 " doesn't (yet) implement / to - translation. .readme should show up as -.readme.")
(SETQ DEST (CONCAT NOV ".pdf"))
(CL:WHEN (AND (NOT REDO)
(INFILEP DEST))
(CL:FORMAT T "~a is already there~%%" DEST)
(RETURN))
(CL:WHEN (INFILEP (CONCAT DEST ".skip"))
(CL:FORMAT T "Explicit .skip ~a~%%" DEST)
(RETURN))
(CL:FORMAT T "~&Starting on ~a:~%%" SRCPATH)
(CL:WHEN [AND DOTEDIT (OR (MEMB EXT '(TEDIT TED SKETCH BRAVO))
(CAR (REPORT-AND-GO (TEDIT.FORMATTEDFILEP
SRCPATH)
(CL:FORMAT NIL
"~~%%~S TEDIT.FORMATTEDFILEP of ~A -- Condition: ~~A"
'FAIL SRCPATH]
(if (EQ REDO 'TEST)
then (CL:FORMAT T "Testing open ~a..." SRCPATH)
(CLOSEF? (OPENTEXTSTREAM SRCPATH))
else (REPORT-AND-GO (CL:WITH-OPEN-STREAM (S (OPENTEXTSTREAM
SRCPATH))
(TEDIT.FORMAT.HARDCOPY S DEST T NIL NIL
NIL 'PDF))
(CL:FORMAT NIL
"~~%%~S TEDIT.FORMAT.HARDCOPY of ~A -- Condition: ~~A"
'FAIL SRCPATH)))
(PRIN3 " DONE" T)
(TERPRI T)
(RETURN))
(CL:WHEN (AND DOPRETTY (OR (NULL EXT)
(EQ EXT 'IL))
[SETQ LSFP (CAR (REPORT-AND-GO (LISPSOURCEFILEP SRCPATH)
(CL:FORMAT NIL
"~~%%~S LISPSOURCEFILEP of ~A -- Condition: ~~A"
'FAIL SRCPATH]
(NEQ LSFP *COMMON-LISP-READ-ENVIRONMENT*))
(* ;; "Why the check for NEQ *COMMON-LISP-READ-ENVIRONMENT* ??")
(PRIN3 "PDF printing " T)
(PRIN3 SRCPATH T)
(PRIN3 " to " T)
(PRIN3 DEST T)
(PRIN3 " ..." T)
(REPORT-AND-GO (CL:WITH-OPEN-STREAM (STR (OPEN-PDF-STREAM DEST))
(PRETTYFILEINDEX SRCPATH NIL STR))
(CL:FORMAT NIL
"~~%%~S PRETTYFILEINDEX of ~A -- Condition: ~~A"
'FAIL SRCPATH))
(PRIN3 " DONE" T)
(TERPRI T)
(RETURN))
(* ;; "Everything else")
(PRIN3 "No processing." T)
(TERPRI T])
(MAKE-INDEX-HTMLS
[LAMBDA (BASE TOP LEVEL ROOT.NAME) (* ; "Edited 28-Jan-2026 11:01 by lmm")
[LAMBDA (BASE TOP LEVEL ROOT.NAME) (* ; "Edited 15-Apr-2026 16:33 by mth")
(* ; "Edited 28-Jan-2026 11:01 by lmm")
(* ; "Edited 27-Jan-2026 10:50 by lmm")
(* ; "Edited 23-Jan-2026 11:59 by lmm")
(* ; "Edited 29-Apr-2024 14:18 by lmm")
@@ -339,8 +393,8 @@
then 2
else 1))
-2)))
(CL:UNLESS (OR (MEMB SHORTNAME '(.git))
(MEMB SHORTNAME '(.GIT))
(CL:UNLESS (OR (EQ SHORTNAME '.git)
(EQ SHORTNAME '.GIT)
[AND (STRPOS ".git" (L-CASE FULLNAME))
(NOT (STRPOS ".github" (L-CASE FULLNAME]
(INFILEP (CONCAT FULLNAME ".skip")))
@@ -372,7 +426,8 @@
(PUTPROPS MEDLEY-UTILS FILETYPE :COMPILE-FILE)
[XCL:REINSTALL-ADVICE 'TEDIT.PROMPTPRINT :BEFORE '((:LAST (PRIN1 MSG T)))
[XCL:REINSTALL-ADVICE 'TEDIT.PROMPTPRINT :BEFORE '[(:LAST (PROGN (PRIN3 " " T)
(PRIN3 MSG T]
:AFTER
'((:LAST (AND (STRPOS "GETFN" MSG)
(HELP MSG]
@@ -463,6 +518,15 @@
(SETQ DIFF (COMPARESOURCES X DESTFILE NIL))
(TERPRI])
)
(DEFMACRO REPORT-AND-GO (FORM REPORT-FORMAT) (* ; "Edited 16-Apr-2026 16:02 by mth")
`[CL:MULTIPLE-VALUE-BIND (FORM-RESULT ERROR-CONDITION)
(IGNORE-ERRORS (CL:VALUES ,FORM)) (* ; "Only the first value")
(COND
(ERROR-CONDITION (PRIN3 (CL:FORMAT NIL ,REPORT-FORMAT ERROR-CONDITION)
T)
NIL)
(T (LIST FORM-RESULT])
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
(ADDTOVAR NLAMA )
@@ -472,9 +536,10 @@
(ADDTOVAR LAMA )
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1312 8246 (GATHER-INFO 1322 . 6704) (MAKE-FULLER-DB 6706 . 7615) (MEDLEY-FIX-LINKS 7617
. 8010) (MEDLEY-FIX-DATES 8012 . 8244)) (9425 12213 (MAKE-EXPORTS-ALL 9435 . 10494) (
MAKE-WHEREIS-HASH 10496 . 11685) (MAKE-WHEREIS-LOOPS 11687 . 12211)) (12214 21862 (HCFILES 12224 .
16487) (MAKE-INDEX-HTMLS 16489 . 21860)) (22112 26724 (RECOMPILE-ONE 22122 . 24019) (RECMPL 24021 .
24624) (COMPILE-SETUP 24626 . 25250) (REMAKEFILES 25252 . 26722)))))
(FILEMAP (NIL (1289 8223 (GATHER-INFO 1299 . 6681) (MAKE-FULLER-DB 6683 . 7592) (MEDLEY-FIX-LINKS 7594
. 7987) (MEDLEY-FIX-DATES 7989 . 8221)) (9795 12371 (MAKE-EXPORTS-ALL 9805 . 10652) (
MAKE-WHEREIS-HASH 10654 . 11843) (MAKE-WHEREIS-LOOPS 11845 . 12369)) (12372 24990 (HCFILES 12382 .
19514) (MAKE-INDEX-HTMLS 19516 . 24988)) (25324 29936 (RECOMPILE-ONE 25334 . 27231) (RECMPL 27233 .
27836) (COMPILE-SETUP 27838 . 28462) (REMAKEFILES 28464 . 29934)) (29938 30408 (REPORT-AND-GO 29938 .
30408)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "14-Feb-2026 00:42:39" {WMEDLEY}<internal>loadups>LOADUP-FULL.;38 5967
(FILECREATED "28-Apr-2026 10:01:06" {WMEDLEY}<internal>loadups>LOADUP-FULL.;47 5896
:EDIT-BY rmk
:CHANGES-TO (FNS LOADUP-FULL)
:PREVIOUS-DATE "13-Feb-2026 00:47:52" {WMEDLEY}<internal>loadups>LOADUP-FULL.;37)
:PREVIOUS-DATE "16-Apr-2026 09:37:27" {WMEDLEY}<internal>loadups>LOADUP-FULL.;46)
(PRETTYCOMPRINT LOADUP-FULLCOMS)
@@ -16,7 +16,8 @@
(DEFINEQ
(LOADFULLFONTS
[LAMBDA NIL (* ; "Edited 20-Sep-2025 14:17 by rmk")
[LAMBDA NIL (* ; "Edited 16-Apr-2026 09:37 by rmk")
(* ; "Edited 20-Sep-2025 14:17 by rmk")
(* ; "Edited 2-Sep-2025 20:06 by rmk")
(* ; "Edited 13-Jul-2025 11:40 by rmk")
(* ; "Edited 30-Jun-2025 00:04 by rmk")
@@ -27,11 +28,8 @@
(* ;; " Don't do Interpress. Do character set 0 and the symbol character sets 41Q, 42Q, 356Q, 357Q and extended and accented Latin 43Q and 361Q")
(PRINTOUT T "Loading FULL fonts..." T)
(PRINTOUT T T "Loading FULL fonts..." T)
(SETQ *POSTSCRIPT-FILE-TYPE* 'TEXT)
(* ;; "Previous code reset the coercion variables to NIL, which would have resulted in glyph-incomplete charsets. With Medley-formatted fonts, the completions have already been installed in the files and there is no need to deal with those variables.")
(for FAMILY in '(CLASSIC MODERN TERMINAL)
do (PRINTOUT T " Loading " FAMILY " ")
[for SIZE in '(8 10 12)
@@ -47,7 +45,8 @@
(PRINTOUT T "FULL fonts loaded" T])
(LOADUP-FULL
[LAMBDA (DRIBBLEFILE) (* ; "Edited 14-Feb-2026 00:42 by rmk")
[LAMBDA (DRIBBLEFILE) (* ; "Edited 28-Apr-2026 10:00 by rmk")
(* ; "Edited 14-Feb-2026 00:42 by rmk")
(* ; "Edited 5-Feb-2026 10:26 by rmk")
(* ; "Edited 28-Dec-2025 12:06 by rmk")
(* ; "Edited 1-Sep-2025 11:59 by rmk")
@@ -86,8 +85,7 @@
(LOADUP '(CHAT INTERPRESS TEDIT HRULE TEDIT-CHAT READNUMBER EDITBITMAP FILEBROWSER THINFILES
GRAPHER SPY WHERE-IS COPYFILES MSANALYZE MSPARSE MASTERSCOPE UNIXPRINT HELPSYS
DINFO CLIPBOARD MODERNIZE WHEELSCROLL PRETTYFILEINDEX WHO-LINE UNIXCOMM UNIXCHAT
UNIXYCD))
DINFO CLIPBOARD MODERNIZE WHEELSCROLL PRETTYFILEINDEX WHO-LINE UNIXCOMM UNIXCHAT))
(LOADFULLFONTS)
(COND
((WINDOWP *WHO-LINE*)
@@ -103,5 +101,5 @@
(FIXMETA)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (456 5929 (LOADFULLFONTS 466 . 2601) (LOADUP-FULL 2603 . 5679) (FIXMETA 5681 . 5927)))))
(FILEMAP (NIL (456 5858 (LOADFULLFONTS 466 . 2449) (LOADUP-FULL 2451 . 5608) (FIXMETA 5610 . 5856)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "22-Feb-2026 14:15:31" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;27| 7420
(FILECREATED "26-Mar-2026 18:38:22" 
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;14| 7604
:EDIT-BY |rmk|
:EDIT-BY "briggs"
:CHANGES-TO (FNS LOADUP-LISP)
:PREVIOUS-DATE "22-Feb-2026 09:49:23" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;26|)
:PREVIOUS-DATE "22-Feb-2026 14:15:31"
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;13|)
(PRETTYCOMPRINT LOADUP-LISPCOMS)
@@ -19,7 +21,8 @@
(DEFINEQ
(LOADUP-LISP
(LAMBDA (DRIBBLEFILE) (* \; "Edited 22-Feb-2026 14:15 by rmk")
(LAMBDA (DRIBBLEFILE) (* \; "Edited 26-Mar-2026 18:38 by briggs")
(* \; "Edited 22-Feb-2026 14:15 by rmk")
(* \; "Edited 28-Jan-2026 14:30 by lmm")
(* \; "Edited 27-Dec-2025 15:02 by rmk")
(* \; "Edited 16-Oct-2025 16:55 by rmk")
@@ -135,6 +138,7 @@
(LOADUP '(PUP 10MBDRIVER LEAF LLETHER DPUPFTP LOCALFILE DSKDISPLAY COURIER LLNS TRSERVER SPP
NSPRINT AUTHENTICATION BSP CLEARINGHOUSE NSFILING MAIKOETHER))
(RESTART.ETHER)
(DRIBBLE)
(SETQ MAKESYSNAME :MEDLEY)))
)
@@ -147,5 +151,5 @@
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
)
(DECLARE\: DONTCOPY
(FILEMAP (NIL (640 7214 (LOADUP-LISP 650 . 7212)))))
(FILEMAP (NIL (695 7398 (LOADUP-LISP 705 . 7396)))))
STOP

Binary file not shown.

View File

@@ -111,7 +111,7 @@ output directory called \f[I]gitinfo\f[R] which contains the git commit,
git branch and git status information for the directory at the time the
loadup is run.
.PP
Only one instance (per <MEDLEIDIR>) of loadup can be run at a time.
Only one instance (per <MEDLEYDIR>) of loadup can be run at a time.
There is lock file to prevent simultaneous loadups in the work directory
(named \f[B]\f[BI]lock\f[B]\f[R]) that can be manually removed.
The lock can also be automatically overridden (see the --override flag

View File

@@ -52,7 +52,7 @@ Loadup does all of its work in a work directory (\<MEDLEYDIR>/loadups/build). T
If \<MEDLEYDIR> is a git directory, then a file is created in the loadups output directory called *gitinfo* which contains the git commit, git branch and git status information for the directory at the time the loadup is run.
Only one instance (per \<MEDLEIDIR>) of loadup can be run at a time. There is lock file to prevent simultaneous loadups in the work directory (named ***lock***) that can be manually removed. The lock can also be automatically overridden (see the \-\-override flag below). Alternatively, if a lock is encountered at run time, the user will be asked to choose whether to override or simply exit the loadup.
Only one instance (per \<MEDLEYDIR>) of loadup can be run at a time. There is lock file to prevent simultaneous loadups in the work directory (named ***lock***) that can be manually removed. The lock can also be automatically overridden (see the \-\-override flag below). Alternatively, if a lock is encountered at run time, the user will be asked to choose whether to override or simply exit the loadup.
Note: **MEDLEYDIR** is an environment variable set by the loadup script. It is set to the top level directory of the Medley installation that contains the specific loadup script that
is invoked after all symbolic links are resolved. In the standard global installation this will

View File

@@ -83,7 +83,7 @@ the work directory after the loadup completes.</p>
the loadups output directory called <em>gitinfo</em> which contains the
git commit, git branch and git status information for the directory at
the time the loadup is run.</p>
<p>Only one instance (per &lt;MEDLEIDIR&gt;) of loadup can be run at a
<p>Only one instance (per &lt;MEDLEYDIR&gt;) of loadup can be run at a
time. There is lock file to prevent simultaneous loadups in the work
directory (named <strong><em>lock</em></strong>) that can be manually
removed. The lock can also be automatically overridden (see the

View File

@@ -1,16 +1,17 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "20-Feb-2024 23:45:56" {DSK}<mnt>e>Interlisp>medley>library>DATABASEFNS.;4 18445
(FILECREATED " 2-May-2026 17:38:46" {DSK}<home>matt>Interlisp>medley>library>DATABASEFNS.;4 18684
:EDIT-BY "mth"
:CHANGES-TO (FNS DUMPDB)
:PREVIOUS-DATE "19-Feb-2024 16:29:44" {DSK}<mnt>e>Interlisp>medley>library>DATABASEFNS.;1)
:PREVIOUS-DATE "29-Apr-2026 17:43:56" {DSK}<home>matt>Interlisp>medley>library>DATABASEFNS.;2
)
(* ; "
Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation.
Copyright (c) 1986, 1990-1993, 2024, 2026 by Xerox Corporation.
")
(PRETTYCOMPRINT DATABASEFNSCOMS)
@@ -164,7 +165,9 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation.
(DEFINEQ
(DUMPDB
[LAMBDA (FILE PROPFLG) (* ; "Edited 20-Feb-2024 23:45 by mth")
[LAMBDA (FILE PROPFLG) (* ; "Edited 2-May-2026 17:32 by mth")
(* ; "Edited 29-Apr-2026 17:42 by mth")
(* ; "Edited 20-Feb-2024 23:45 by mth")
(* ; "Edited 7-Feb-2024 18:26 by mth")
(* ; "Edited 27-Oct-2021 10:51 by larry")
(* ; "Edited 24-Oct-2021 16:24 by rmk:")
@@ -180,7 +183,7 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation.
(LET ((SAVEDCOPYRIGHTFLG COPYRIGHTFLG)
(SAVEDDEFAULTCOPYRIGHTOWNER DEFAULTCOPYRIGHTOWNER))
(CL:UNWIND-PROTECT
(PROG (DBFILE DBFN DBROOTFN FLCPR (FL (NAMEFIELD FILE))
(PROG (DBFILE DBFN DBROOTFN FLCPR (FL (ROOTFILENAME FILE))
(FNS (FILEFNSLST FILE)))
(SETQ DBFN (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION NIL 'BODY FILE))
(SETQ DBROOTFN (ROOTFILENAME DBFN))
@@ -230,7 +233,7 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation.
(PRETTYDEF NIL DBFN
`((P (PROGN (PRIN1 "Use LOADDB to load database files!" T)
(ERROR!)))
(E [PRINT (CAR (GETPROP ',FILE 'FILEDATES]
(E [PRINT (CAR (GETPROP ',FL 'FILEDATES]
(DUMPDATABASE ',FNS]
[COND
(PROPFLG (PRINT (FULLNAME DBFILE)
@@ -375,9 +378,9 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation.
(RESETSAVE DWIMIFYCOMPFLG T)
)
(PUTPROPS DATABASEFNS COPYRIGHT ("Xerox Corporation" 1986 1990 1991 1992 1993 2024))
(PUTPROPS DATABASEFNS COPYRIGHT ("Xerox Corporation" 1986 1990 1991 1992 1993 2024 2026))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1768 6793 (DBFILE 1778 . 3423) (DBFILE1 3425 . 4935) (DBFILE2 4937 . 6159) (LOAD 6161
. 6391) (LOADFROM 6393 . 6581) (MAKEFILE 6583 . 6791)) (6849 17838 (DUMPDB 6859 . 11873) (LOADDB
11875 . 16750) (MAKEDB 16752 . 17836)))))
(FILEMAP (NIL (1783 6808 (DBFILE 1793 . 3438) (DBFILE1 3440 . 4950) (DBFILE2 4952 . 6174) (LOAD 6176
. 6406) (LOADFROM 6408 . 6596) (MAKEFILE 6598 . 6806)) (6864 18072 (DUMPDB 6874 . 12107) (LOADDB
12109 . 16984) (MAKEDB 16986 . 18070)))))
STOP

Binary file not shown.

View File

@@ -1,21 +1,18 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Mar-2021 20:40:30" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>GRAPHER.;5 214171
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
changes to%: (VARS GRAPHERCOMS)
(FILECREATED "14-Apr-2026 22:19:19" {DSK}<home>frank>il>medley>library>GRAPHER.;3 215302
previous date%: "14-May-2018 10:24:38"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>GRAPHER.;4)
:EDIT-BY "FGH"
:CHANGES-TO (FNS DISPLAYLINK/RL DISPLAYLINK/LR DISPLAYLINK/BT DISPLAYLINK/TB)
:PREVIOUS-DATE "14-Mar-2021 20:40:30" {DSK}<home>frank>il>medley>library>GRAPHER.;1)
(* ; "
Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT GRAPHERCOMS)
(RPAQQ GRAPHERCOMS
[(COMS (* ; "Graph Editing")
[(COMS (* ; "Graph Editing")
(FNS ADD/AND/DISPLAY/LINK APPLYTOSELECTEDNODE CALL.MOVENODEFN CHANGE.NODEFONT.SIZE
DEFAULT.ADDNODEFN DELETE/AND/DISPLAY/LINK DISPLAY/NAME DISPLAYGRAPH DISPLAYLINK
DISPLAYLINK/BT DISPLAYLINK/LR DISPLAYLINK/RL DISPLAYLINK/TB DISPLAYNODE
@@ -38,18 +35,18 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
(CL:WHEN (GETD 'MODERNWINDOW.SETUP)
(MODERNWINDOW.SETUP 'APPLYTOSELECTEDNODE))]
(* ;; "Support for EDITSUBGRAPH and EDITREGION")
(* ;; "Support for EDITSUBGRAPH and EDITREGION")
(FNS EDITMOVEREGION EDITMOVESUBTREE NOT.TRACKCURSOR RECURSIVE.COLLECTDESCENDENTS
MOVEDESCENDENTS COLLECT.CHILD.NODES CREATE.NEW.NODEPOSITION
GETBOXPOSITION.FROMINITIALREGION COLLECTDESCENDENTS))
(COMS (* ;
 "functions for finding larger and smaller fonts")
(COMS (* ;
 "functions for finding larger and smaller fonts")
(FNS NEXTSIZEFONT DECREASING.FONT.LIST SCALE.FONT)
[DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (DECREASING.FONT.LIST (DECREASING.FONT.LIST]
(GLOBALVARS DECREASING.FONT.LIST))
(* ;
 "functions for LAYOUTGRAPH And LAYOUTLATTICE")
(* ;
 "functions for LAYOUTGRAPH And LAYOUTLATTICE")
(FNS BRH/LAYOUT BRH/LAYOUT/DAUGHTERS BRH/OFFSET BRHC/INTERTREE/SPACE BRHC/LAYOUT
BRHC/LAYOUT/DAUGHTERS BRHC/LAYOUT/TERMINAL BRHC/OFFSET BRHL/LAYOUT BRHL/LAYOUT/DAUGHTERS
BRHL/MOVE/RIGHT BROWSE/LAYOUT/HORIZ BROWSE/LAYOUT/HORIZ/COMPACTLY BROWSE/LAYOUT/LATTICE
@@ -95,7 +92,7 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
(LOCALVARS . T)
(RECORDS GRAPHNODE GRAPH)
(DECLARE%: DONTCOPY (MACROS HALF))
(COMS (* ; "Grapher image objects")
(COMS (* ; "Grapher image objects")
(FNS GRAPHERIMAGEFNS)
(FNS GRAPHERCOPYBUTTONEVENTFN GRAPHOBJ.FINDGRAPH)
(FNS ALIGNMENTNODE GRAPHOBJ.CHECKALIGN)
@@ -303,96 +300,112 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
NIL])
(DISPLAYLINK/BT
[LAMBDA (TRANS GNB GNT WIDTH OPERATION STREAM PARAMS)
[LAMBDA (TRANS GNB GNT WIDTH OPERATION STREAM PARAMS) (* ; "Edited 14-Apr-2026 22:08 by FGH")
(* ; "Edited 29-Apr-94 13:59 by sybalsky")
(* draws a line from the bottom edge of GNB to the top edge of GNT translated
 by TRANS)
(* draws a line from the bottom edge of GNB to the top edge of GNT translated by
 TRANS)
(APPLY* (OR (LISTGET PARAMS 'DRAWLINKFN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNB)))
(IPLUS (fetch YCOORD of TRANS)
(SUB1 (GN/BOTTOM GNB)))
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNT)))
(IPLUS (fetch YCOORD of TRANS)
(ADD1 (GN/TOP GNT)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(LET* [(FN (LISTGET PARAMS 'DRAWLINKFN))
(DFN (AND FN (GETD FN]
(if (AND FN (NOT DFN))
then (PROMPTPRINT (CONCAT "DISPLAYLINK: DRAWLINKFN " FN " NOT FOUND")))
(APPLY* (OR (AND DFN FN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNB)))
(IPLUS (fetch YCOORD of TRANS)
(SUB1 (GN/BOTTOM GNB)))
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNT)))
(IPLUS (fetch YCOORD of TRANS)
(ADD1 (GN/TOP GNT)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(DISPLAYLINK/LR
[LAMBDA (TRANS GNL GNR WIDTH OPERATION STREAM PARAMS)
[LAMBDA (TRANS GNL GNR WIDTH OPERATION STREAM PARAMS) (* ; "Edited 14-Apr-2026 22:09 by FGH")
(* ; "Edited 29-Apr-94 13:59 by sybalsky")
(* draws a line from the left edge of GNL to the right edge of GNR, translated
 by TRANS)
(* draws a line from the left edge of GNL to the right edge of GNR, translated by
 TRANS)
(APPLY* (OR (LISTGET PARAMS 'DRAWLINKFN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(SUB1 (GN/LEFT GNL)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNL)))
(IPLUS (fetch XCOORD of TRANS)
(ADD1 (GN/RIGHT GNR)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNR)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(LET* [(FN (LISTGET PARAMS 'DRAWLINKFN))
(DFN (AND FN (GETD FN]
(if (AND FN (NOT DFN))
then (PROMPTPRINT (CONCAT "DISPLAYLINK: DRAWLINKFN " FN " NOT FOUND")))
(APPLY* (OR (AND DFN FN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(SUB1 (GN/LEFT GNL)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNL)))
(IPLUS (fetch XCOORD of TRANS)
(ADD1 (GN/RIGHT GNR)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNR)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(DISPLAYLINK/RL
[LAMBDA (TRANS GNR GNL WIDTH OPERATION STREAM PARAMS)
[LAMBDA (TRANS GNR GNL WIDTH OPERATION STREAM PARAMS) (* ; "Edited 14-Apr-2026 22:09 by FGH")
(* ; "Edited 29-Apr-94 13:59 by sybalsky")
(* draws a line from the right edge of GNR, to the left edge of GNL translated
 by TRANS)
(* draws a line from the right edge of GNR, to the left edge of GNL translated by
 TRANS)
(APPLY* (OR (LISTGET PARAMS 'DRAWLINKFN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(ADD1 (GN/RIGHT GNR)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNR)))
(IPLUS (fetch XCOORD of TRANS)
(SUB1 (GN/LEFT GNL)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNL)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(LET* [(FN (LISTGET PARAMS 'DRAWLINKFN))
(DFN (AND FN (GETD FN]
(if (AND FN (NOT DFN))
then (PROMPTPRINT (CONCAT "DISPLAYLINK: DRAWLINKFN " FN " NOT FOUND")))
(APPLY* (OR (AND DFN FN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(ADD1 (GN/RIGHT GNR)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNR)))
(IPLUS (fetch XCOORD of TRANS)
(SUB1 (GN/LEFT GNL)))
(IPLUS (fetch YCOORD of TRANS)
(fetch YCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNL)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(DISPLAYLINK/TB
[LAMBDA (TRANS GNT GNB WIDTH OPERATION STREAM PARAMS)
[LAMBDA (TRANS GNT GNB WIDTH OPERATION STREAM PARAMS) (* ; "Edited 14-Apr-2026 22:09 by FGH")
(* ; "Edited 29-Apr-94 13:59 by sybalsky")
(* draws a line from the top edge of GNT to the bottom edge of GNR, translated
 by TRANS)
(* draws a line from the top edge of GNT to the bottom edge of GNR, translated by
 TRANS)
(APPLY* (OR (LISTGET PARAMS 'DRAWLINKFN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNT)))
(IPLUS (fetch YCOORD of TRANS)
(ADD1 (GN/TOP GNT)))
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNB)))
(IPLUS (fetch YCOORD of TRANS)
(SUB1 (GN/BOTTOM GNB)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(LET* [(FN (LISTGET PARAMS 'DRAWLINKFN))
(DFN (AND FN (GETD FN]
(if (AND FN (NOT DFN))
then (PROMPTPRINT (CONCAT "DISPLAYLINK: DRAWLINKFN " FN " NOT FOUND")))
(APPLY* (OR (AND DFN FN)
'DRAWLINE)
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNT)))
(IPLUS (fetch YCOORD of TRANS)
(ADD1 (GN/TOP GNT)))
(IPLUS (fetch XCOORD of TRANS)
(fetch XCOORD of (fetch (GRAPHNODE NODEPOSITION) of GNB)))
(IPLUS (fetch YCOORD of TRANS)
(SUB1 (GN/BOTTOM GNB)))
(OR (LISTGET PARAMS 'LINEWIDTH)
WIDTH 1)
OPERATION STREAM (LISTGET PARAMS 'COLOR)
(LISTGET PARAMS 'DASHING)
PARAMS])
(DISPLAYNODE
[LAMBDA (NODE TRANS STREAM G TOSONLY) (* kvl "10-Aug-84 19:08")
@@ -2014,7 +2027,7 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
of N])
)
(* Was MODERNIZE loaded before?)
(* Was MODERNIZE loaded before?)
(CL:WHEN (GETD 'MODERNWINDOW.SETUP)
(MODERNWINDOW.SETUP 'APPLYTOSELECTEDNODE))
@@ -3075,7 +3088,7 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
(RPAQQ GRAPH/HARDCOPY/FORMAT (MODE PORTRAIT PAGENUMBERS T TRANS NIL))
(RPAQ? DEFAULT.GRAPH.WINDOWSIZE (LIST (TIMES SCREENWIDTH 0.7)
(TIMES SCREENHEIGHT 0.4)))
(TIMES SCREENHEIGHT 0.4)))
(RPAQ? EDITGRAPHMENUCOMMANDS
'((Move% Node 'MOVENODE "Moves a single node in the graph." (SUBITEMS (|Move Single Node|
@@ -3113,19 +3126,19 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(RECORD GRAPHNODE (NODEID NODEPOSITION NODELABELBITMAP NIL NODELABELSHADE NODEWIDTH NODEHEIGHT
TONODES FROMNODES NODEFONT NODELABEL NODEBORDER)
NODEBORDER _ DEFAULT.GRAPH.NODEBORDER NODELABELSHADE _
DEFAULT.GRAPH.NODELABELSHADE NODEFONT _ DEFAULT.GRAPH.NODEFONT)
TONODES FROMNODES NODEFONT NODELABEL NODEBORDER)
NODEBORDER _ DEFAULT.GRAPH.NODEBORDER NODELABELSHADE _ DEFAULT.GRAPH.NODELABELSHADE
NODEFONT _ DEFAULT.GRAPH.NODEFONT)
(RECORD GRAPH (GRAPHNODES SIDESFLG DIRECTEDFLG GRAPH.MOVENODEFN GRAPH.ADDNODEFN
GRAPH.DELETENODEFN GRAPH.ADDLINKFN GRAPH.DELETELINKFN GRAPH.FONTCHANGEFN
GRAPH.INVERTBORDERFN GRAPH.INVERTLABELFN GRAPH.CHANGELABELFN . GRAPH.PROPS))
(RECORD GRAPH (GRAPHNODES SIDESFLG DIRECTEDFLG GRAPH.MOVENODEFN GRAPH.ADDNODEFN GRAPH.DELETENODEFN
GRAPH.ADDLINKFN GRAPH.DELETELINKFN GRAPH.FONTCHANGEFN GRAPH.INVERTBORDERFN
GRAPH.INVERTLABELFN GRAPH.CHANGELABELFN . GRAPH.PROPS))
)
(DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE
(PUTPROPS HALF MACRO ((X)
(LRSH X 1)))
(LRSH X 1)))
)
)
@@ -3789,61 +3802,59 @@ Copyright (c) 1983-1994, 2018, 2021 by Venue & Xerox Corporation.
)
(ADDTOVAR IMAGEOBJGETFNS (GRAPHOBJ.GETFN))
(PUTPROPS GRAPHER COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 1991
1992 1993 1994 2018 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (7195 111244 (ADD/AND/DISPLAY/LINK 7205 . 7907) (APPLYTOSELECTEDNODE 7909 . 8397) (
CALL.MOVENODEFN 8399 . 8748) (CHANGE.NODEFONT.SIZE 8750 . 10062) (DEFAULT.ADDNODEFN 10064 . 10862) (
DELETE/AND/DISPLAY/LINK 10864 . 12431) (DISPLAY/NAME 12433 . 12604) (DISPLAYGRAPH 12606 . 14977) (
DISPLAYLINK 14979 . 17532) (DISPLAYLINK/BT 17534 . 18556) (DISPLAYLINK/LR 18558 . 19581) (
DISPLAYLINK/RL 19583 . 20606) (DISPLAYLINK/TB 20608 . 21631) (DISPLAYNODE 21633 . 21981) (
ERASE/GRAPHNODE 21983 . 23090) (DISPLAYNODE 23092 . 23440) (DISPLAYNODELINKS 23442 . 24586) (
DRAW/GRAPHNODE/BORDER 24588 . 25507) (DRAWAREABOX 25509 . 26710) (EDITADDLINK 26712 . 27110) (
EDITADDNODE 27112 . 29201) (EDITAPPLYTOLINK 29203 . 31282) (EDITCHANGEFONT 31284 . 32456) (
EDITCHANGELABEL 32458 . 33999) (EDITDELETELINK 34001 . 34407) (EDITDELETENODE 34409 . 37110) (
EDITGRAPH 37112 . 37179) (EDITGRAPH1 37181 . 37939) (EDITGRAPH2 37941 . 39672) (EDITMOVENODE 39674 .
41251) (EDITTOGGLEBORDER 41253 . 42549) (EDITTOGGLELABEL 42551 . 43848) (FILL/GRAPHNODE/LABEL 43850 .
44678) (FIX/SCALE 44680 . 45236) (FLIPNODE 45238 . 45842) (FONTNAMELIST 45844 . 46063) (FROMLINKS
46065 . 46235) (GETNODEFROMID 46237 . 47256) (GN/BOTTOM 47258 . 47534) (GN/LEFT 47536 . 47809) (
GN/RIGHT 47811 . 48202) (GN/TOP 48204 . 48628) (GRAPHADDLINK 48630 . 49189) (GRAPHADDNODE 49191 .
49980) (GRAPHBUTTONEVENTFN 49982 . 52162) (GRAPHCHANGELABEL 52164 . 52607) (GRAPHDELETELINK 52609 .
53917) (GRAPHDELETENODE 53919 . 54451) (GRAPHEDITCOMMANDFN 54453 . 55837) (GRAPHEDITEVENTFN 55839 .
56550) (GRAPHER/CENTERPRINTINAREA 56552 . 57316) (GRAPHERPROP 57318 . 57862) (GRAPHNODE/BORDER/WIDTH
57864 . 58385) (GRAPHREGION 58387 . 59556) (HARDCOPYGRAPH 59558 . 66940) (INTERSECT/REGIONP/LBWH 66942
. 68218) (INVERTED/GRAPHNODE/BORDER 68220 . 68804) (INVERTED/SHADE/FOR/GRAPHER 68806 . 69438) (
LAYOUT/POSITION 69440 . 69619) (LINKPARAMETERS 69621 . 70073) (MAX/RIGHT 70075 . 70277) (MAX/TOP 70279
. 70477) (MEASUREGRAPHNODE 70479 . 70928) (MEMBTONODES 70930 . 71455) (MIN/BOTTOM 71457 . 71838) (
MIN/LEFT 71840 . 72215) (MOVENODE 72217 . 73460) (NODECREATE 73462 . 74242) (NODELST/AS/MENU 74244 .
75844) (NODEREGION 75846 . 76306) (PRINTDISPLAYNODE 76308 . 81366) (PROMPTINWINDOW 81368 . 84177) (
READ/NODE 84179 . 85293) (REDISPLAYGRAPH 85295 . 85737) (REMOVETONODES 85739 . 86260) (
RESET/NODE/BORDER 86262 . 88049) (RESET/NODE/LABELSHADE 88051 . 89566) (SCALE/GRAPH 89568 . 95854) (
SCALE/GRAPHNODE/BORDER 95856 . 96551) (SCALE/TONODES 96553 . 97434) (SET/LABEL/SIZE 97436 . 100382) (
SET/LAYOUT/POSITION 100384 . 100869) (SHOWGRAPH 100871 . 102670) (SIZE/GRAPH/WINDOW 102672 . 106156) (
TOGGLE/DIRECTEDFLG 106158 . 106788) (TOGGLE/SIDESFLG 106790 . 107278) (TOLINKS 107280 . 107446) (
TRACKCURSOR 107448 . 108855) (TRACKNODE 108857 . 109493) (TRANSGRAPH 109495 . 111242)) (111485 128102
(EDITMOVEREGION 111495 . 115298) (EDITMOVESUBTREE 115300 . 117077) (NOT.TRACKCURSOR 117079 . 120057) (
RECURSIVE.COLLECTDESCENDENTS 120059 . 121547) (MOVEDESCENDENTS 121549 . 123611) (COLLECT.CHILD.NODES
123613 . 124729) (CREATE.NEW.NODEPOSITION 124731 . 125271) (GETBOXPOSITION.FROMINITIALREGION 125273 .
126745) (COLLECTDESCENDENTS 126747 . 128100)) (128166 130455 (NEXTSIZEFONT 128176 . 129366) (
DECREASING.FONT.LIST 129368 . 129694) (SCALE.FONT 129696 . 130453)) (130679 169831 (BRH/LAYOUT 130689
. 132433) (BRH/LAYOUT/DAUGHTERS 132435 . 133381) (BRH/OFFSET 133383 . 134061) (BRHC/INTERTREE/SPACE
134063 . 135381) (BRHC/LAYOUT 135383 . 137239) (BRHC/LAYOUT/DAUGHTERS 137241 . 140195) (
BRHC/LAYOUT/TERMINAL 140197 . 140878) (BRHC/OFFSET 140880 . 141776) (BRHL/LAYOUT 141778 . 144002) (
BRHL/LAYOUT/DAUGHTERS 144004 . 145762) (BRHL/MOVE/RIGHT 145764 . 146907) (BROWSE/LAYOUT/HORIZ 146909
. 147633) (BROWSE/LAYOUT/HORIZ/COMPACTLY 147635 . 150441) (BROWSE/LAYOUT/LATTICE 150443 . 151299) (
BRV/OFFSET 151301 . 152164) (EXTEND/TRANSITION/CHAIN 152166 . 153437) (FOREST/BREAK/CYCLES 153439 .
154369) (INIT/NODES/FOR/LAYOUT 154371 . 155866) (INTERPRET/MARK/FORMAT 155868 . 157135) (
LATTICE/BREAK/CYCLES 157137 . 157841) (LAYOUTFOREST 157843 . 158544) (LAYOUTGRAPH 158546 . 162013) (
LAYOUTLATTICE 162015 . 163468) (LAYOUTSEXPR 163470 . 164541) (LAYOUTSEXPR1 164543 . 165245) (
MARK/GRAPH/NODE 165247 . 165977) (NEW/INSTANCE/OF/GRAPHNODE 165979 . 167348) (RAISE/TRANSITION/CHAIN
167350 . 167751) (REFLECT/GRAPH/DIAGONALLY 167753 . 168482) (REFLECT/GRAPH/HORIZONTALLY 168484 .
169010) (REFLECT/GRAPH/VERTICALLY 169012 . 169536) (SWITCH/NODE/HEIGHT/WIDTH 169538 . 169829)) (173177
174528 (GRAPHERIMAGEFNS 173187 . 174526)) (174529 176257 (GRAPHERCOPYBUTTONEVENTFN 174539 . 175518) (
GRAPHOBJ.FINDGRAPH 175520 . 176255)) (176258 178878 (ALIGNMENTNODE 176268 . 177690) (
GRAPHOBJ.CHECKALIGN 177692 . 178876)) (178879 194729 (GRAPHEROBJ 178889 . 180635) (
GRAPHOBJ.BUTTONEVENTINFN 180637 . 182064) (GRAPHOBJ.COPYBUTTONEVENTFN 182066 . 182503) (
GRAPHOBJ.COPYFN 182505 . 183429) (GRAPHOBJ.DISPLAYFN 183431 . 186246) (GRAPHOBJ.GETALIGN 186248 .
186987) (GRAPHOBJ.GETFN 186989 . 188494) (GRAPHOBJ.IMAGEBOXFN 188496 . 192512) (GRAPHOBJ.PUTALIGN
192514 . 193344) (GRAPHOBJ.PUTFN 193346 . 194727)) (194730 213882 (COPYGRAPH 194740 . 196288) (
DUMPGRAPH 196290 . 206546) (READGRAPH 206548 . 213880)))))
(FILEMAP (NIL (7149 112538 (ADD/AND/DISPLAY/LINK 7159 . 7861) (APPLYTOSELECTEDNODE 7863 . 8351) (
CALL.MOVENODEFN 8353 . 8702) (CHANGE.NODEFONT.SIZE 8704 . 10016) (DEFAULT.ADDNODEFN 10018 . 10816) (
DELETE/AND/DISPLAY/LINK 10818 . 12385) (DISPLAY/NAME 12387 . 12558) (DISPLAYGRAPH 12560 . 14931) (
DISPLAYLINK 14933 . 17486) (DISPLAYLINK/BT 17488 . 18845) (DISPLAYLINK/LR 18847 . 20205) (
DISPLAYLINK/RL 20207 . 21565) (DISPLAYLINK/TB 21567 . 22925) (DISPLAYNODE 22927 . 23275) (
ERASE/GRAPHNODE 23277 . 24384) (DISPLAYNODE 24386 . 24734) (DISPLAYNODELINKS 24736 . 25880) (
DRAW/GRAPHNODE/BORDER 25882 . 26801) (DRAWAREABOX 26803 . 28004) (EDITADDLINK 28006 . 28404) (
EDITADDNODE 28406 . 30495) (EDITAPPLYTOLINK 30497 . 32576) (EDITCHANGEFONT 32578 . 33750) (
EDITCHANGELABEL 33752 . 35293) (EDITDELETELINK 35295 . 35701) (EDITDELETENODE 35703 . 38404) (
EDITGRAPH 38406 . 38473) (EDITGRAPH1 38475 . 39233) (EDITGRAPH2 39235 . 40966) (EDITMOVENODE 40968 .
42545) (EDITTOGGLEBORDER 42547 . 43843) (EDITTOGGLELABEL 43845 . 45142) (FILL/GRAPHNODE/LABEL 45144 .
45972) (FIX/SCALE 45974 . 46530) (FLIPNODE 46532 . 47136) (FONTNAMELIST 47138 . 47357) (FROMLINKS
47359 . 47529) (GETNODEFROMID 47531 . 48550) (GN/BOTTOM 48552 . 48828) (GN/LEFT 48830 . 49103) (
GN/RIGHT 49105 . 49496) (GN/TOP 49498 . 49922) (GRAPHADDLINK 49924 . 50483) (GRAPHADDNODE 50485 .
51274) (GRAPHBUTTONEVENTFN 51276 . 53456) (GRAPHCHANGELABEL 53458 . 53901) (GRAPHDELETELINK 53903 .
55211) (GRAPHDELETENODE 55213 . 55745) (GRAPHEDITCOMMANDFN 55747 . 57131) (GRAPHEDITEVENTFN 57133 .
57844) (GRAPHER/CENTERPRINTINAREA 57846 . 58610) (GRAPHERPROP 58612 . 59156) (GRAPHNODE/BORDER/WIDTH
59158 . 59679) (GRAPHREGION 59681 . 60850) (HARDCOPYGRAPH 60852 . 68234) (INTERSECT/REGIONP/LBWH 68236
. 69512) (INVERTED/GRAPHNODE/BORDER 69514 . 70098) (INVERTED/SHADE/FOR/GRAPHER 70100 . 70732) (
LAYOUT/POSITION 70734 . 70913) (LINKPARAMETERS 70915 . 71367) (MAX/RIGHT 71369 . 71571) (MAX/TOP 71573
. 71771) (MEASUREGRAPHNODE 71773 . 72222) (MEMBTONODES 72224 . 72749) (MIN/BOTTOM 72751 . 73132) (
MIN/LEFT 73134 . 73509) (MOVENODE 73511 . 74754) (NODECREATE 74756 . 75536) (NODELST/AS/MENU 75538 .
77138) (NODEREGION 77140 . 77600) (PRINTDISPLAYNODE 77602 . 82660) (PROMPTINWINDOW 82662 . 85471) (
READ/NODE 85473 . 86587) (REDISPLAYGRAPH 86589 . 87031) (REMOVETONODES 87033 . 87554) (
RESET/NODE/BORDER 87556 . 89343) (RESET/NODE/LABELSHADE 89345 . 90860) (SCALE/GRAPH 90862 . 97148) (
SCALE/GRAPHNODE/BORDER 97150 . 97845) (SCALE/TONODES 97847 . 98728) (SET/LABEL/SIZE 98730 . 101676) (
SET/LAYOUT/POSITION 101678 . 102163) (SHOWGRAPH 102165 . 103964) (SIZE/GRAPH/WINDOW 103966 . 107450) (
TOGGLE/DIRECTEDFLG 107452 . 108082) (TOGGLE/SIDESFLG 108084 . 108572) (TOLINKS 108574 . 108740) (
TRACKCURSOR 108742 . 110149) (TRACKNODE 110151 . 110787) (TRANSGRAPH 110789 . 112536)) (112779 129396
(EDITMOVEREGION 112789 . 116592) (EDITMOVESUBTREE 116594 . 118371) (NOT.TRACKCURSOR 118373 . 121351) (
RECURSIVE.COLLECTDESCENDENTS 121353 . 122841) (MOVEDESCENDENTS 122843 . 124905) (COLLECT.CHILD.NODES
124907 . 126023) (CREATE.NEW.NODEPOSITION 126025 . 126565) (GETBOXPOSITION.FROMINITIALREGION 126567 .
128039) (COLLECTDESCENDENTS 128041 . 129394)) (129460 131749 (NEXTSIZEFONT 129470 . 130660) (
DECREASING.FONT.LIST 130662 . 130988) (SCALE.FONT 130990 . 131747)) (131973 171125 (BRH/LAYOUT 131983
. 133727) (BRH/LAYOUT/DAUGHTERS 133729 . 134675) (BRH/OFFSET 134677 . 135355) (BRHC/INTERTREE/SPACE
135357 . 136675) (BRHC/LAYOUT 136677 . 138533) (BRHC/LAYOUT/DAUGHTERS 138535 . 141489) (
BRHC/LAYOUT/TERMINAL 141491 . 142172) (BRHC/OFFSET 142174 . 143070) (BRHL/LAYOUT 143072 . 145296) (
BRHL/LAYOUT/DAUGHTERS 145298 . 147056) (BRHL/MOVE/RIGHT 147058 . 148201) (BROWSE/LAYOUT/HORIZ 148203
. 148927) (BROWSE/LAYOUT/HORIZ/COMPACTLY 148929 . 151735) (BROWSE/LAYOUT/LATTICE 151737 . 152593) (
BRV/OFFSET 152595 . 153458) (EXTEND/TRANSITION/CHAIN 153460 . 154731) (FOREST/BREAK/CYCLES 154733 .
155663) (INIT/NODES/FOR/LAYOUT 155665 . 157160) (INTERPRET/MARK/FORMAT 157162 . 158429) (
LATTICE/BREAK/CYCLES 158431 . 159135) (LAYOUTFOREST 159137 . 159838) (LAYOUTGRAPH 159840 . 163307) (
LAYOUTLATTICE 163309 . 164762) (LAYOUTSEXPR 164764 . 165835) (LAYOUTSEXPR1 165837 . 166539) (
MARK/GRAPH/NODE 166541 . 167271) (NEW/INSTANCE/OF/GRAPHNODE 167273 . 168642) (RAISE/TRANSITION/CHAIN
168644 . 169045) (REFLECT/GRAPH/DIAGONALLY 169047 . 169776) (REFLECT/GRAPH/HORIZONTALLY 169778 .
170304) (REFLECT/GRAPH/VERTICALLY 170306 . 170830) (SWITCH/NODE/HEIGHT/WIDTH 170832 . 171123)) (174438
175789 (GRAPHERIMAGEFNS 174448 . 175787)) (175790 177518 (GRAPHERCOPYBUTTONEVENTFN 175800 . 176779) (
GRAPHOBJ.FINDGRAPH 176781 . 177516)) (177519 180139 (ALIGNMENTNODE 177529 . 178951) (
GRAPHOBJ.CHECKALIGN 178953 . 180137)) (180140 195990 (GRAPHEROBJ 180150 . 181896) (
GRAPHOBJ.BUTTONEVENTINFN 181898 . 183325) (GRAPHOBJ.COPYBUTTONEVENTFN 183327 . 183764) (
GRAPHOBJ.COPYFN 183766 . 184690) (GRAPHOBJ.DISPLAYFN 184692 . 187507) (GRAPHOBJ.GETALIGN 187509 .
188248) (GRAPHOBJ.GETFN 188250 . 189755) (GRAPHOBJ.IMAGEBOXFN 189757 . 193773) (GRAPHOBJ.PUTALIGN
193775 . 194605) (GRAPHOBJ.PUTFN 194607 . 195988)) (195991 215143 (COPYGRAPH 196001 . 197549) (
DUMPGRAPH 197551 . 207807) (READGRAPH 207809 . 215141)))))
STOP

Binary file not shown.

View File

@@ -1,15 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT UTF-8)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8)
(FILECREATED "22-Feb-2026 10:44:33" {WMEDLEY}<library>UNICODE-TABLES.;20 44960
(FILECREATED "31-Mar-2026 09:01:05" {WMEDLEY}<library>UNICODE-TABLES.;22 44782
:EDIT-BY rmk
:CHANGES-TO (FNS ALL-UNICODE-MAPPINGS GET-MCCS-UNICODE-MAPPING INVERT-UNICODE-MAPPING
MAKE-UNICODE-TRANSLATION-TABLES MERGE-UNICODE-TRANSLATION-TABLES
READ-UNICODE-MAPPING-FILENAMES)
(VARS UNICODE-TABLESCOMS)
:CHANGES-TO (VARS XCCS-CHARSETS)
:PREVIOUS-DATE "22-Feb-2026 09:15:20" {WMEDLEY}<library>UNICODE-TABLES.;16)
:PREVIOUS-DATE "22-Feb-2026 10:44:33" {WMEDLEY}<library>UNICODE-TABLES.;20)
(PRETTYCOMPRINT UNICODE-TABLESCOMS)
@@ -78,8 +75,9 @@
(RUNIC-GOTHIC "51")
(MORE-CYRILLIC "52")
(UNKNOWN1 "56")
(DECORATED-RULES "56")
(UNKNOWN2 "57")
(JIS "60-166")
(VERTICAL-JAPANESE "57")
(ARABIC "340")
(HEBREW "341")
(IPA "342")
@@ -101,9 +99,10 @@
(ACCENTED-GREEK2 "364")
(MORE-ARABIC "365")
(GRAPHIC-VARIANTS "375")
(JAPANESE HIRAGANA KATAKANA JIS)
(DEFAULT LATIN ACCENTED-LATIN1 EXTENDED-LATIN SYMBOLS1 SYMBOLS2 FORMS JAPANESE-SYMBOLS1
JAPANESE-SYMBOLS2)
(JAPANESE HIRAGANA KATAKANA JIS)))
(JIS "60-166")))
(DEFINEQ
(READ-UNICODE-MAPPING-FILENAMES
@@ -793,12 +792,12 @@
UNICODE-EXPORTS)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4107 12829 (READ-UNICODE-MAPPING-FILENAMES 4117 . 8586) (READ-UNICODE-MAPPING 8588 .
12827)) (12896 19704 (MAKE-UNICODE-TRANSLATION-TABLES 12906 . 15666) (GET-MCCS-UNICODE-MAPPING 15668
. 16688) (INVERT-UNICODE-MAPPING 16690 . 18483) (XCCSTOMCCS-MAPPING 18485 . 19702)) (19705 26328 (
ALL-UNICODE-MAPPINGS 19715 . 24991) (XCCSJAPANESECHARSETS 24993 . 26326)) (26373 37135 (
WRITE-UNICODE-MAPPING 26383 . 30127) (WRITE-UNICODE-INCLUDED 30129 . 34441) (
WRITE-UNICODE-MAPPING-HEADER 34443 . 35691) (WRITE-UNICODE-MAPPING-FILENAME 35693 . 37133)) (37136
37812 (XCCS-UTF8-AFTER-OPEN 37146 . 37810)) (40337 42426 (UTF8HEXSTRING 40347 . 42424)) (42453 44495 (
SHOWCHARS 42463 . 44493)))))
(FILEMAP (NIL (3929 12651 (READ-UNICODE-MAPPING-FILENAMES 3939 . 8408) (READ-UNICODE-MAPPING 8410 .
12649)) (12718 19526 (MAKE-UNICODE-TRANSLATION-TABLES 12728 . 15488) (GET-MCCS-UNICODE-MAPPING 15490
. 16510) (INVERT-UNICODE-MAPPING 16512 . 18305) (XCCSTOMCCS-MAPPING 18307 . 19524)) (19527 26150 (
ALL-UNICODE-MAPPINGS 19537 . 24813) (XCCSJAPANESECHARSETS 24815 . 26148)) (26195 36957 (
WRITE-UNICODE-MAPPING 26205 . 29949) (WRITE-UNICODE-INCLUDED 29951 . 34263) (
WRITE-UNICODE-MAPPING-HEADER 34265 . 35513) (WRITE-UNICODE-MAPPING-FILENAME 35515 . 36955)) (36958
37634 (XCCS-UTF8-AFTER-OPEN 36968 . 37632)) (40159 42248 (UTF8HEXSTRING 40169 . 42246)) (42275 44317 (
SHOWCHARS 42285 . 44315)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "19-Jan-2026 14:09:03" {WMEDLEY}<library>UNIXUTILS.;55 20711
(FILECREATED "28-Apr-2026 09:59:13" {WMEDLEY}<library>UNIXUTILS.;61 22079
:EDIT-BY rmk
:CHANGES-TO (FNS UNIX-FILE-NAME)
:CHANGES-TO (VARS UNIXUTILSCOMS)
:PREVIOUS-DATE "17-Jan-2026 23:16:17" {WMEDLEY}<library>UNIXUTILS.;54)
:PREVIOUS-DATE "27-Apr-2026 11:10:07" {MEDLEY}<library>UNIXUTILS.;60)
(PRETTYCOMPRINT UNIXUTILSCOMS)
@@ -23,6 +23,7 @@
(ShellOpener NIL RESET)))
(FNS ShellBrowser ShellBrowse ShellOpener ShellOpen PROCESS-COMMAND SLASHIT UNIX-FILE-NAME
UNIX-TMP-FILE-NAME)
(COMMANDS "cd" cdm "ls" "pwd")
(PROPS (UNIXUTILS FILETYPE))))
(DECLARE%: EVAL@COMPILE DONTCOPY
@@ -148,7 +149,8 @@
"true"])
(ShellOpen
[LAMBDA (FilenameOrURL) (* ; "Edited 28-Dec-2025 18:26 by rmk")
[LAMBDA (FilenameOrURL) (* ; "Edited 27-Apr-2026 11:08 by FGH")
(* ; "Edited 28-Dec-2025 18:26 by rmk")
(* ; "Edited 10-Sep-2025 15:29 by rmk")
(* ; "Edited 4-May-2025 11:14 by rmk")
@@ -210,7 +212,8 @@
'NAME NEWNAME 'EXTENSION EXTENSION))
(TARGETFILE.UNIX (SLASHIT (PACKFILENAME.STRING 'HOST NIL 'DIRECTORY
TMPDIR 'NAME NEWNAME 'EXTENSION
EXTENSION)))
EXTENSION)
NIL NIL NIL T))
(UNIXFILE NIL))
(DECLARE (SPECVARS UNIXFILE))
(if (OR VERSION.SPECIFIED (NOT UNVERSIONED.EXISTS))
@@ -245,7 +248,8 @@
0))) DO (BLOCK) FINALLY (RETURN CODE])
(SLASHIT
[LAMBDA (X LCASEDIRS NOHOST KEEPDOT) (* ; "Edited 17-Jan-2026 23:15 by rmk")
[LAMBDA (X LCASEDIRS NOHOST KEEPDOT NO.QUOTE.SPACE) (* ; "Edited 27-Apr-2026 11:00 by FGH")
(* ; "Edited 17-Jan-2026 23:15 by rmk")
(* ; "Edited 4-Nov-2025 10:10 by rmk")
(* ; "Edited 22-Oct-2025 13:05 by rmk")
(* ; "Edited 25-Sep-2025 09:57 by rmk")
@@ -258,7 +262,10 @@
(* ;; "This is a first approximation to a utility that converts a filename X on a host whose files physically reside in the local Unix file system into the strings that shell commands can use to reference that file. For now, this just involves replacing directory brackets with /, removing the host, perhaps lower-casing the directory, and perhaps removing a final dot. It probably should be extended to deal with version number translation, for now it just keeps the ; version. ")
(LET [LASTDIRPOS SLASHED (DIRPOS (ADD1 (OR (STRPOS "}" X)
0]
0)))
(REPLACE.SPACE (if NO.QUOTE.SPACE
then (CONS (CHARCODE SPACE))
else (CHARCODE (\ SPACE]
[SETQ SLASHED (CONCATCODES (for I C from DIRPOS while (SETQ C (NTHCHARCODE X I))
join (SELCHARQ C
((< >)
@@ -266,7 +273,7 @@
(CONS (CHARCODE /)))
(/ (SETQ LASTDIRPOS I)
(CONS C))
(SPACE (APPEND (CHARCODE (\ SPACE))))
(SPACE (APPEND REPLACE.SPACE))
(CONS C]
(CL:WHEN (AND LCASEDIRS LASTDIRPOS)
(SETQ LASTDIRPOS (ADD1 (IDIFFERENCE LASTDIRPOS DIRPOS)))
@@ -287,7 +294,9 @@
SLASHED])
(UNIX-FILE-NAME
[LAMBDA (FILE ACCESS COPY EXTENSION) (* ; "Edited 19-Jan-2026 14:05 by rmk")
[LAMBDA (FILE ACCESS COPY EXTENSION) (* ; "Edited 31-Mar-2026 00:13 by rmk")
(* ; "Edited 29-Mar-2026 00:26 by rmk")
(* ; "Edited 19-Jan-2026 14:05 by rmk")
(* ; "Edited 17-Jan-2026 22:32 by rmk")
(* ; "Edited 11-Jan-2026 23:54 by rmk")
(* ; "Edited 27-Dec-2025 21:24 by rmk")
@@ -317,8 +326,13 @@
FILE))
(DSK [LET ((VERSION (FILENAMEFIELD FILE 'VERSION))
(UNAME (PACKFILENAME 'VERSION NIL 'BODY FILE)))
(CL:UNLESS (EQ VERSION 1)
(CONCAT UNAME (CONCAT "~" VERSION "~")))])
(CL:IF (EQ VERSION 1)
UNAME
(CONCAT UNAME (CONCAT (CL:IF (EQ (CHARCODE %.)
(NTHCHARCODE UNAME -1))
""
".")
"~" VERSION "~")))])
(LET (UNAME)
(* ;; "Catch the streams as well as other devices (CORE, servers)")
@@ -358,10 +372,20 @@
unless (INFILEP UNAME) do (RETURN (SLASHIT (CLOSEF (OPENSTREAM UNAME 'OUTPUT 'NEW])
)
(DEFCOMMAND "cd" (DIR) (/CNDIR DIR))
(DEFCOMMAND cdm (SUBDIR) (/CNDIR (CL:IF SUBDIR
(CONCAT '{MEDLEY}/ SUBDIR)
'{MEDLEY})))
(DEFCOMMAND "ls" (FIRST . REST) (DODIR (CONS FIRST REST)))
(DEFCOMMAND "pwd" NIL (DIRECTORYNAME T))
(PUTPROPS UNIXUTILS FILETYPE CL:COMPILE-FILE)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1170 1543 (ShellCommand 1170 . 1543)) (1545 1942 (ShellWhich 1545 . 1942)) (2052 20633
(ShellBrowser 2062 . 3834) (ShellBrowse 3836 . 4521) (ShellOpener 4523 . 6211) (ShellOpen 6213 . 11982
) (PROCESS-COMMAND 11984 . 12597) (SLASHIT 12599 . 15623) (UNIX-FILE-NAME 15625 . 18952) (
UNIX-TMP-FILE-NAME 18954 . 20631)))))
(FILEMAP (NIL (1208 1581 (ShellCommand 1208 . 1581)) (1583 1980 (ShellWhich 1583 . 1980)) (2090 21695
(ShellBrowser 2100 . 3872) (ShellBrowse 3874 . 4559) (ShellOpener 4561 . 6249) (ShellOpen 6251 . 12198
) (PROCESS-COMMAND 12200 . 12813) (SLASHIT 12815 . 16127) (UNIX-FILE-NAME 16129 . 20014) (
UNIX-TMP-FILE-NAME 20016 . 21693)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED " 2-Mar-2026 18:32:06" {WMEDLEY}<library>tedit>TEDIT.;853 146506
(FILECREATED "10-Mar-2026 18:07:31" {WMEDLEY}<library>tedit>TEDIT.;855 146853
:EDIT-BY rmk
:CHANGES-TO (VARS TEDITCOMS)
:CHANGES-TO (FNS TDRIBBLE)
:PREVIOUS-DATE " 4-Feb-2026 16:02:02" {WMEDLEY}<library>tedit>TEDIT.;852)
:PREVIOUS-DATE " 2-Mar-2026 18:32:06" {WMEDLEY}<library>tedit>TEDIT.;853)
(PRETTYCOMPRINT TEDITCOMS)
@@ -743,17 +743,21 @@
(DEFINEQ
(TDRIBBLE
[LAMBDA NIL (* ; "Edited 31-Mar-2025 12:03 by rmk")
[LAMBDA (TITLE WINDOW) (* ; "Edited 10-Mar-2026 17:39 by rmk")
(* ; "Edited 31-Mar-2025 12:03 by rmk")
(* ; "Edited 16-Mar-2025 21:47 by rmk")
(* ; "Edited 27-Nov-2024 23:20 by rmk")
(* ; "Edited 17-Nov-2024 14:10 by rmk")
(* ; "Edited 15-Nov-2024 21:13 by rmk")
(* ; "Edited 22-Oct-2024 21:23 by rmk")
(LET [(TSTREAM (OPENTEXTSTREAM NIL NIL NIL NIL `(HISTORY OFF FONT DEFAULTFONT]
(LET [(TSTREAM (OPENTEXTSTREAM NIL NIL NIL NIL `(TITLE ,(CONCAT (OR TITLE "Tedit Dribble")
" "
(DATE))
HISTORY OFF FONT DEFAULTFONT]
[WHENCLOSE TSTREAM 'BEFORE
(FUNCTION (LAMBDA (TSTREAM)
[TEDIT TSTREAM 'Dribble NIL
`(TITLE ,(CONCAT "Tedit Dribble " (DATE))
`(TITLE ,(TEXTPROP TSTREAM 'TITLE)
LEAVETTY T APPEND QUIET PARABREAKCHARS NIL HISTORY OFF
OPENWIDTH ,(fetch (REGION WIDTH)
of (WINDOWPROP (WFROMDS T)
@@ -2345,27 +2349,27 @@
(DEFAULT.IMAGETYPE.CONVERSIONS '(TEDIT TEDIT.TO.IMAGEFILE))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4738 7132 (MAKE-TEDIT-EXPORTS.ALL 4748 . 5294) (UPDATE-TEDIT 5296 . 6225) (EDIT-TEDIT
6227 . 7130)) (8487 37486 (TEDIT 8497 . 11111) (TEXTSTREAM 11113 . 13002) (TEXTSTREAMP 13004 . 13388)
(COERCETEXTSTREAM 13390 . 17601) (TEDIT.CONCAT 17603 . 20905) (TEDITSTRING 20907 . 21821) (TEDIT-SEE
21823 . 22507) (TEDIT.COPY 22509 . 24654) (TEDIT.DELETE 24656 . 26017) (TEDIT.INSERT 26019 . 28988) (
TEDIT.TERPRI 28990 . 30104) (TEDIT.KILL 30106 . 31088) (TEDIT.QUIT 31090 . 32456) (TEDIT.MOVE 32458 .
33346) (TEDIT.STRINGWIDTH 33348 . 34019) (TEDIT.CHARWIDTH 34021 . 36263) (TEDIT.PARAGRAPH.BOUNDARIES
36265 . 37484)) (37487 39428 (TEXTOBJ 37497 . 37962) (COERCETEXTOBJ 37964 . 39426)) (40828 42478 (
TDRIBBLE 40838 . 42476)) (42519 54499 (TEDIT.INSERT.OBJECT 42529 . 46236) (TEDIT.EDIT.OBJECT 46238 .
49178) (TEDIT.OBJECT.CHANGED 49180 . 52370) (TEDIT.MAP.OBJECTS 52372 . 54027) (\TEDIT.FIRST.OBJPIECE
54029 . 54262) (\TEDIT.NEXT.OBJPIECE 54264 . 54497)) (54522 61965 (\TEDIT.CONCAT.PAGEFRAMES 54532 .
59599) (\TEDIT.GET.PAGE.HEADINGS 59601 . 60630) (\TEDIT.CONCAT.INSTALL.HEADINGS 60632 . 61963)) (61966
65573 (\TEDIT.MOVE.MSG 61976 . 64057) (\TEDIT.READONLY 64059 . 65571)) (65574 71465 (TEDIT.NCHARS
65584 . 65957) (TEDIT.RPLCHARCODE 65959 . 68949) (TEDIT.NTHCHARCODE 68951 . 70994) (TEDIT.NTHCHAR
70996 . 71463)) (71511 128555 (\TEDIT1 71521 . 73598) (\TEDIT.INSERT 73600 . 79713) (\TEDIT.MOVE 79715
. 87813) (\TEDIT.COPY 87815 . 92421) (\TEDIT.REPLACE.SELPIECES 92423 . 96959) (
\TEDIT.INSERT.SELPIECES 96961 . 99958) (\TEDIT.RESTARTFN 99960 . 102465) (\TEDIT.CHARDELETE 102467 .
105396) (\TEDIT.COPYPIECE 105398 . 110560) (\TEDIT.APPLY.OBJFN 110562 . 113648) (\TEDIT.DELETE 113650
. 118018) (\TEDIT.DIFFUSE.PARALOOKS 118020 . 120291) (\TEDIT.WORDDELETE 120293 . 121908) (
\TEDIT.WORDDELETE.FORWARD 121910 . 123699) (\TEDIT.FINISHEDIT? 123701 . 128553)) (128556 129215 (
\TEDIT.THELP 128566 . 129213)) (129249 138380 (\TEDIT.PARAPIECES 129259 . 131233) (\TEDIT.PARACHNOS
131235 . 132127) (\TEDIT.PARA.FIRST 132129 . 135230) (\TEDIT.PARA.LAST 135232 . 138378)) (138381
145476 (\TEDIT.WORD.FIRST 138391 . 142395) (\TEDIT.WORD.LAST 142397 . 145474)) (145677 145954 (
TEDITSYSTEMDATE 145687 . 145952)) (146090 146297 (TEDIT.IMAGESOURCEP 146100 . 146295)))))
(FILEMAP (NIL (4736 7130 (MAKE-TEDIT-EXPORTS.ALL 4746 . 5292) (UPDATE-TEDIT 5294 . 6223) (EDIT-TEDIT
6225 . 7128)) (8485 37484 (TEDIT 8495 . 11109) (TEXTSTREAM 11111 . 13000) (TEXTSTREAMP 13002 . 13386)
(COERCETEXTSTREAM 13388 . 17599) (TEDIT.CONCAT 17601 . 20903) (TEDITSTRING 20905 . 21819) (TEDIT-SEE
21821 . 22505) (TEDIT.COPY 22507 . 24652) (TEDIT.DELETE 24654 . 26015) (TEDIT.INSERT 26017 . 28986) (
TEDIT.TERPRI 28988 . 30102) (TEDIT.KILL 30104 . 31086) (TEDIT.QUIT 31088 . 32454) (TEDIT.MOVE 32456 .
33344) (TEDIT.STRINGWIDTH 33346 . 34017) (TEDIT.CHARWIDTH 34019 . 36261) (TEDIT.PARAGRAPH.BOUNDARIES
36263 . 37482)) (37485 39426 (TEXTOBJ 37495 . 37960) (COERCETEXTOBJ 37962 . 39424)) (40826 42825 (
TDRIBBLE 40836 . 42823)) (42866 54846 (TEDIT.INSERT.OBJECT 42876 . 46583) (TEDIT.EDIT.OBJECT 46585 .
49525) (TEDIT.OBJECT.CHANGED 49527 . 52717) (TEDIT.MAP.OBJECTS 52719 . 54374) (\TEDIT.FIRST.OBJPIECE
54376 . 54609) (\TEDIT.NEXT.OBJPIECE 54611 . 54844)) (54869 62312 (\TEDIT.CONCAT.PAGEFRAMES 54879 .
59946) (\TEDIT.GET.PAGE.HEADINGS 59948 . 60977) (\TEDIT.CONCAT.INSTALL.HEADINGS 60979 . 62310)) (62313
65920 (\TEDIT.MOVE.MSG 62323 . 64404) (\TEDIT.READONLY 64406 . 65918)) (65921 71812 (TEDIT.NCHARS
65931 . 66304) (TEDIT.RPLCHARCODE 66306 . 69296) (TEDIT.NTHCHARCODE 69298 . 71341) (TEDIT.NTHCHAR
71343 . 71810)) (71858 128902 (\TEDIT1 71868 . 73945) (\TEDIT.INSERT 73947 . 80060) (\TEDIT.MOVE 80062
. 88160) (\TEDIT.COPY 88162 . 92768) (\TEDIT.REPLACE.SELPIECES 92770 . 97306) (
\TEDIT.INSERT.SELPIECES 97308 . 100305) (\TEDIT.RESTARTFN 100307 . 102812) (\TEDIT.CHARDELETE 102814
. 105743) (\TEDIT.COPYPIECE 105745 . 110907) (\TEDIT.APPLY.OBJFN 110909 . 113995) (\TEDIT.DELETE
113997 . 118365) (\TEDIT.DIFFUSE.PARALOOKS 118367 . 120638) (\TEDIT.WORDDELETE 120640 . 122255) (
\TEDIT.WORDDELETE.FORWARD 122257 . 124046) (\TEDIT.FINISHEDIT? 124048 . 128900)) (128903 129562 (
\TEDIT.THELP 128913 . 129560)) (129596 138727 (\TEDIT.PARAPIECES 129606 . 131580) (\TEDIT.PARACHNOS
131582 . 132474) (\TEDIT.PARA.FIRST 132476 . 135577) (\TEDIT.PARA.LAST 135579 . 138725)) (138728
145823 (\TEDIT.WORD.FIRST 138738 . 142742) (\TEDIT.WORD.LAST 142744 . 145821)) (146024 146301 (
TEDITSYSTEMDATE 146034 . 146299)) (146437 146644 (TEDIT.IMAGESOURCEP 146447 . 146642)))))
STOP

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "23-Jan-2026 15:49:26" {WMEDLEY}<library>TEDIT>TEDIT-ABBREV.;58 18256
(FILECREATED "30-Apr-2026 11:55:15" {MEDLEY}<library>tedit>TEDIT-ABBREV.;59 18372
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.ABBREV.EXPAND)
:PREVIOUS-DATE "13-Jan-2026 17:51:55" {WMEDLEY}<library>tedit>TEDIT-ABBREV.;55)
:PREVIOUS-DATE "23-Jan-2026 15:49:26" {MEDLEY}<library>tedit>TEDIT-ABBREV.;58)
(PRETTYCOMPRINT TEDIT-ABBREVCOMS)
@@ -86,7 +86,8 @@
(DEFINEQ
(\TEDIT.ABBREV.EXPAND
[LAMBDA (TSTREAM TEXTOBJ SEL) (* ; "Edited 23-Jan-2026 15:49 by rmk")
[LAMBDA (TSTREAM TEXTOBJ SEL) (* ; "Edited 30-Apr-2026 11:53 by rmk")
(* ; "Edited 23-Jan-2026 15:49 by rmk")
(* ; "Edited 20-Jan-2026 09:56 by rmk")
(* ; "Edited 13-Jan-2026 17:51 by rmk")
(* ; "Edited 8-Jan-2026 09:08 by rmk")
@@ -118,7 +119,7 @@
(SETQ BACKSLASH T) (* ;
 "Started with backslash, extend match")
(SETQ POINTSELECTION NIL)
(for I CH from (SUB1 LASTCHNO) by -1 as J from 1 to 25
(for I CH from (SUB1 LASTCHNO) by -1 to 1 as J from 1 to 25
do (SETQ CH (TEDIT.NTHCHARCODE TSTREAM I)) (* ; "Don't cross over an image obj")
(if (IMAGEOBJP CH)
then (RETURN)
@@ -363,7 +364,7 @@
("DATE" \TEDIT.EXPAND.DATE)
(">>DATE<<" \TEDIT.EXPAND.DATE)))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4348 15152 (\TEDIT.ABBREV.EXPAND 4358 . 9123) (\TEDIT.ABBREV.EXPANSION 9125 . 12189) (
\TEDIT.ABBREV.TREE 12191 . 13322) (\TEDIT.ABBREV.PARSE 13324 . 14476) (\TEDIT.ABBREV.PARSE.CHARCODE
14478 . 15150)) (15153 15798 (\TEDIT.EXPAND.DATE 15163 . 15796)))))
(FILEMAP (NIL (4346 15268 (\TEDIT.ABBREV.EXPAND 4356 . 9239) (\TEDIT.ABBREV.EXPANSION 9241 . 12305) (
\TEDIT.ABBREV.TREE 12307 . 13438) (\TEDIT.ABBREV.PARSE 13440 . 14592) (\TEDIT.ABBREV.PARSE.CHARCODE
14594 . 15266)) (15269 15914 (\TEDIT.EXPAND.DATE 15279 . 15912)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "25-Jan-2026 09:14:04" {WMEDLEY}<library>TEDIT>TEDIT-BUTTONS.;230 123301
(FILECREATED "29-Apr-2026 17:57:09" {MEDLEY}<library>TEDIT>TEDIT-BUTTONS.;233 123809
:EDIT-BY rmk
:CHANGES-TO (VARS TEDIT-BUTTONSCOMS)
:CHANGES-TO (FNS MB.NWAY.SIZEFN)
:PREVIOUS-DATE "19-Oct-2025 10:44:18" {WMEDLEY}<library>TEDIT>TEDIT-BUTTONS.;229)
:PREVIOUS-DATE "17-Mar-2026 00:38:38" {MEDLEY}<library>TEDIT>TEDIT-BUTTONS.;231)
(PRETTYCOMPRINT TEDIT-BUTTONSCOMS)
@@ -922,11 +922,12 @@
SOBJ STREAM])
(MB.NWAY.SIZEFN
[LAMBDA (OBJ STREAM CURX RIGHTMARGIN) (* ; "Edited 20-Aug-2024 15:12 by rmk")
[LAMBDA (OBJ STREAM CURX RIGHTMARGIN) (* ; "Edited 29-Apr-2026 17:56 by rmk")
(* ; "Edited 20-Aug-2024 15:12 by rmk")
(* ; "Edited 22-Jul-2024 11:31 by rmk")
(* jds " 6-Sep-84 14:19")
(* ; "Tell the size of an n-way menu")
(OR (IMAGEOBJPROP OBJ 'BOUNDBOX)
(OR (AND NIL (IMAGEOBJPROP OBJ 'BOUNDBOX))
(LET ((OLDBOX (IMAGEOBJPROP OBJ 'BOUNDBOX))
(SUBOBJECTS (IMAGEOBJPROP OBJ 'SUBOBJECTS))
(MAXITEMS/LINE (IMAGEOBJPROP OBJ 'MAXITEMS/LINE))
@@ -935,7 +936,9 @@
(BUTTONHEIGHT (IMAGEOBJPROP OBJ 'BUTTONHEIGHT))
(SPACING (IMAGEOBJPROP OBJ 'ITEMSPACE))
(SLACK (IDIFFERENCE RIGHTMARGIN CURX))
BOX XSIZE YSIZE LINES)
(XSIZE 0)
(YSIZE 0)
BOX YSIZE LINES)
[if (AND (IGEQ SLACK MAXWIDTH)
(EQ MAXITEMS/LINE (LENGTH SUBOBJECTS)))
then (* ;
@@ -950,8 +953,11 @@
(IMAGEOBJPROP SO 'Y 0))
elseif (ILEQ SLACK (IMAGEOBJPROP OBJ 'MINWIDTH))
then (* ; "Stack them vertically.")
(for SO (Y _ (ITIMES BUTTONHEIGHT (LENGTH SUBOBJECTS))) in SUBOBJECTS
(SETQ YSIZE (ITIMES BUTTONHEIGHT (LENGTH SUBOBJECTS)))
(SETQ XSIZE SPACING)
(for SO (Y _ YSIZE) in SUBOBJECTS
do (add Y (IMINUS BUTTONHEIGHT))
[SETQ XSIZE (IMAX XSIZE (fetch XSIZE of (IMAGEOBJPROP SO 'BOUNDBOX]
(IMAGEOBJPROP SO 'Y Y)
(IMAGEOBJPROP SO 'X 0))
else (* ; "Divide them into lines")
@@ -1749,7 +1755,8 @@
ENDPC])
(MB.FIELD.SETSTATEFN
[LAMBDA (PREFIXPC NEWVALUE TSTREAM) (* ; "Edited 6-Apr-2025 12:23 by rmk")
[LAMBDA (PREFIXPC NEWVALUE TSTREAM) (* ; "Edited 17-Mar-2026 00:38 by rmk")
(* ; "Edited 6-Apr-2025 12:23 by rmk")
(* ; "Edited 9-Dec-2024 22:14 by rmk")
(* ; "Edited 4-Dec-2024 20:31 by rmk")
(* ; "Edited 20-Oct-2024 17:20 by rmk")
@@ -1805,8 +1812,9 @@
(\TEDIT.INSERT NEWVALUE FSEL TSTREAM T T)
(NCHARS NEWVALUE)))
(\TEDIT.UPDATE.SEL FSEL FIELDSTART FIELDLENGTH 'LEFT)
(\TEDIT.CHANGE.CHARLOOKS TSTREAM (IMAGEOBJPROP PREFIXOBJ 'FIELDLOOKS)
FSEL)
(CL:UNLESS (EQ 0 (GETSEL FSEL DCH))
(\TEDIT.CHANGE.CHARLOOKS TSTREAM (IMAGEOBJPROP PREFIXOBJ 'FIELDLOOKS)
FSEL))
(IMAGEOBJPROP PREFIXOBJ 'FIELDLENGTH FIELDLENGTH)
(IMAGEOBJPROP PREFIXOBJ 'STATE NEWVALUE)
@@ -1937,25 +1945,25 @@
(MB.FIELD.INIT)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3188 19324 (MB.ADD 3198 . 9910) (MB.DELETE 9912 . 10286) (MB.GET 10288 . 17058) (
MB.GET.MBARG 17060 . 18729) (TEDIT.BACKTOMAIN 18731 . 19322)) (19368 39304 (MB.BUTTONEVENTINFN 19378
. 20946) (MB.DISPLAYFN 20948 . 23007) (MB.SETIMAGE 23009 . 24177) (MB.SIZEFN 24179 . 25727) (
MB.WHENOPERATEDONFN 25729 . 27678) (MB.COPYFN 27680 . 28138) (MB.GETFN 28140 . 29101) (MB.PUTFN 29103
. 30203) (MB.SHOWSELFN 30205 . 31714) (MB.CREATE 31716 . 35739) (MB.CHANGENAME 35741 . 36223) (
MB.INIT 36225 . 37686) (MB.TRACK.UNTIL 37688 . 38383) (MB.DON'T 38385 . 38681) (MB.SPEC.REMAINDER
38683 . 39302)) (39466 49471 (MB.3STATE.CREATE 39476 . 40340) (MB.3STATE.DISPLAYFN 40342 . 41328) (
MB.3STATE.SHOWSELFN 41330 . 43641) (MB.3STATE.INIT 43643 . 45054) (MB.3STATE.SETSTATEFN 45056 . 45714)
(MB.3STATE.BUTTONEVENTINFN 45716 . 49469)) (49626 78530 (MB.NWAY.CREATE 49636 . 55819) (
MB.NWAY.DISPLAYFN 55821 . 56684) (MB.NWAY.SIZEFN 56686 . 60622) (MB.NWAY.SELECT 60624 . 64194) (
MB.NWAY.BUTTONEVENTINFN 64196 . 67408) (MB.NWAY.NEWMENUBUTTON 67410 . 68122) (MB.NWAY.COPYFN 68124 .
69091) (MB.NWAY.INIT 69093 . 70584) (MB.NWAY.ARRANGEBUTTONS 70586 . 72557) (MB.NWAY.ADDITEM 72559 .
76708) (MB.NWAY.FINDSUBOBJ 76710 . 77224) (MB.NWAY.SETSTATEFN 77226 . 78528)) (78609 90608 (
MB.TOGGLE.CREATE 78619 . 79614) (MB.TOGGLE.DISPLAYFN 79616 . 81099) (MB.TOGGLE.INIT 81101 . 82900) (
MB.SET.TOGGLE 82902 . 84103) (MB.TOGGLE.SETSTATEFN 84105 . 84945) (MB.TOGGLE.BUTTONEVENTINFN 84947 .
89263) (MB.TOGGLE.WHENOPERATEDONFN 89265 . 90606)) (90689 123222 (MB.FIELD.CREATE 90699 . 96150) (
MB.FIELD.DISPLAYFN 96152 . 96943) (MB.FIELD.IMAGEBOXFN 96945 . 98427) (MB.FIELD.PREFIXCREATE 98429 .
102365) (MB.FIELD.SUFFIXCREATE 102367 . 104027) (MB.FIELD.INIT 104029 . 105796) (
MB.FIELD.WHENOPERATEDONFN 105798 . 107069) (MB.FIELD.GETSTATEFN 107071 . 111005) (MB.FIELD.SETSTATEFN
111007 . 115811) (MB.FIELD.BUTTONEVENTINFN 115813 . 118118) (MB.FIELD.SIZEFN 118120 . 118360) (
MB.FIELD.INSURETYPE 118362 . 123220)))))
(FILEMAP (NIL (3182 19318 (MB.ADD 3192 . 9904) (MB.DELETE 9906 . 10280) (MB.GET 10282 . 17052) (
MB.GET.MBARG 17054 . 18723) (TEDIT.BACKTOMAIN 18725 . 19316)) (19362 39298 (MB.BUTTONEVENTINFN 19372
. 20940) (MB.DISPLAYFN 20942 . 23001) (MB.SETIMAGE 23003 . 24171) (MB.SIZEFN 24173 . 25721) (
MB.WHENOPERATEDONFN 25723 . 27672) (MB.COPYFN 27674 . 28132) (MB.GETFN 28134 . 29095) (MB.PUTFN 29097
. 30197) (MB.SHOWSELFN 30199 . 31708) (MB.CREATE 31710 . 35733) (MB.CHANGENAME 35735 . 36217) (
MB.INIT 36219 . 37680) (MB.TRACK.UNTIL 37682 . 38377) (MB.DON'T 38379 . 38675) (MB.SPEC.REMAINDER
38677 . 39296)) (39460 49465 (MB.3STATE.CREATE 39470 . 40334) (MB.3STATE.DISPLAYFN 40336 . 41322) (
MB.3STATE.SHOWSELFN 41324 . 43635) (MB.3STATE.INIT 43637 . 45048) (MB.3STATE.SETSTATEFN 45050 . 45708)
(MB.3STATE.BUTTONEVENTINFN 45710 . 49463)) (49620 78873 (MB.NWAY.CREATE 49630 . 55813) (
MB.NWAY.DISPLAYFN 55815 . 56678) (MB.NWAY.SIZEFN 56680 . 60965) (MB.NWAY.SELECT 60967 . 64537) (
MB.NWAY.BUTTONEVENTINFN 64539 . 67751) (MB.NWAY.NEWMENUBUTTON 67753 . 68465) (MB.NWAY.COPYFN 68467 .
69434) (MB.NWAY.INIT 69436 . 70927) (MB.NWAY.ARRANGEBUTTONS 70929 . 72900) (MB.NWAY.ADDITEM 72902 .
77051) (MB.NWAY.FINDSUBOBJ 77053 . 77567) (MB.NWAY.SETSTATEFN 77569 . 78871)) (78952 90951 (
MB.TOGGLE.CREATE 78962 . 79957) (MB.TOGGLE.DISPLAYFN 79959 . 81442) (MB.TOGGLE.INIT 81444 . 83243) (
MB.SET.TOGGLE 83245 . 84446) (MB.TOGGLE.SETSTATEFN 84448 . 85288) (MB.TOGGLE.BUTTONEVENTINFN 85290 .
89606) (MB.TOGGLE.WHENOPERATEDONFN 89608 . 90949)) (91032 123730 (MB.FIELD.CREATE 91042 . 96493) (
MB.FIELD.DISPLAYFN 96495 . 97286) (MB.FIELD.IMAGEBOXFN 97288 . 98770) (MB.FIELD.PREFIXCREATE 98772 .
102708) (MB.FIELD.SUFFIXCREATE 102710 . 104370) (MB.FIELD.INIT 104372 . 106139) (
MB.FIELD.WHENOPERATEDONFN 106141 . 107412) (MB.FIELD.GETSTATEFN 107414 . 111348) (MB.FIELD.SETSTATEFN
111350 . 116319) (MB.FIELD.BUTTONEVENTINFN 116321 . 118626) (MB.FIELD.SIZEFN 118628 . 118868) (
MB.FIELD.INSURETYPE 118870 . 123728)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "15-Feb-2026 23:45:51" {WMEDLEY}<library>tedit>TEDIT-FILE.;666 175062
(FILECREATED "29-Apr-2026 23:49:14" {MEDLEY}<library>tedit>TEDIT-FILE.;684 174888
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.PUT.MCCS.SPLITPIECES \TEDIT.PUT.PCTB.NEXTNEW)
(VARS TEDIT-FILECOMS)
:CHANGES-TO (FNS \TEDIT.INTERPRET.MCCS.SHIFTS)
:PREVIOUS-DATE "14-Feb-2026 10:32:44" {WMEDLEY}<library>tedit>TEDIT-FILE.;659)
:PREVIOUS-DATE "24-Apr-2026 21:09:13" {MEDLEY}<library>tedit>TEDIT-FILE.;683)
(PRETTYCOMPRINT TEDIT-FILECOMS)
@@ -39,8 +38,8 @@
(P (MOVD? '\TEDIT.GET.TRAILER '\TEDIT.FORMATTEDP1]
(FNS \TEDIT.GET.PIECES3 \TEDIT.GET.PROPS3 \TEDIT.MAKE.STRINGPIECE)
(FNS \TEDIT.GET.UNFORMATTED.FILE.MCCS \TEDIT.INTERPRET.MCCS.SHIFTS
\TEDIT.CONVERT.XCCSTOMCCS)
(* ; "XCCS")
\TEDIT.CONVERT.XCCSTOMCCS \TEDIT.RUN.TO.STRINGPIECE)
(* ; "MCCS")
(FNS \TEDIT.GET.UNFORMATTED.FILE.UTF8)
(* ; "UTF-8")
(FNS \TEDIT.GET.CHARLOOKS.LIST \TEDIT.GET.SINGLE.CHARLOOKS \TEDIT.GET.CHARLOOKS
@@ -643,7 +642,8 @@
TSTREAM)])
(\TEDIT.GET.UNFORMATTED.FILE
[LAMBDA (STREAM TSTREAM START END PROPS) (* ; "Edited 28-Jul-2025 23:46 by rmk")
[LAMBDA (STREAM TSTREAM START END PROPS) (* ; "Edited 10-Apr-2026 09:33 by rmk")
(* ; "Edited 28-Jul-2025 23:46 by rmk")
(* ; "Edited 24-Apr-2025 17:21 by rmk")
(* ; "Edited 8-Feb-2025 20:21 by rmk")
(* ; "Edited 17-Mar-2024 00:21 by rmk")
@@ -669,7 +669,7 @@
(CL:WHEN (AND (EQ FORMAT :STRING)
(\IOMODEP STREAM 'OUTPUT T))
(SETQ STREAM (COPYFILE STREAM '{NODIRCORE})))
[SETQ PIECES
(SETQ PIECES
(SELECTQ FORMAT
((:MCCS :XCCS) (* ; "XCCS is done later")
(\TEDIT.GET.UNFORMATTED.FILE.MCCS STREAM START END DEFAULTCHARLOOKS
@@ -703,8 +703,7 @@
PPARALAST _ NIL
PPARALOOKS _ DEFAULTPARALOOKS
PTYPE _ THINFILE.PTYPE
PBYTESPERCHAR _ 1
PBINABLE _ (fetch (STREAM BINABLE) of STREAM]
PBYTESPERCHAR _ 1)))
(\TEDIT.INSERTPIECES PIECES NIL TEXTOBJ)))])
(\TEDIT.GET.FORMATTED.FILE
@@ -940,7 +939,9 @@
(DEFINEQ
(\TEDIT.GET.PIECES3
[LAMBDA (TEXT TSTREAM PCCOUNT CURFILEBYTE# END) (* ; "Edited 29-Jul-2025 09:30 by rmk")
[LAMBDA (TEXT TSTREAM PCCOUNT CURTEXTBYTE# END) (* ; "Edited 15-Apr-2026 12:06 by rmk")
(* ; "Edited 9-Apr-2026 13:45 by rmk")
(* ; "Edited 29-Jul-2025 09:30 by rmk")
(* ; "Edited 24-Apr-2025 17:20 by rmk")
(* ; "Edited 8-Feb-2025 20:21 by rmk")
(* ; "Edited 30-Aug-2024 15:44 by rmk")
@@ -962,7 +963,7 @@
(SETFILEPTR TEXT (\DWIN TEXT)) (* ; "Pieceinfo byte #")
(for PCNO PC BYTELEN PREVPC FIRSTPC PARALOOKSMAP CHARLOOKSMAP DEFAULTCHARLOOKS OLDPARALOOKS
(TEXTOBJ _ (TEXTOBJ! (fetch (TEXTSTREAM TEXTOBJ) of TSTREAM)))
(ORIGBYTE# _ CURFILEBYTE#) from 1 to PCCOUNT first (SETQ DEFAULTCHARLOOKS (FGETTOBJ TEXTOBJ
(ORIGBYTE# _ CURTEXTBYTE#) from 1 to PCCOUNT first (SETQ DEFAULTCHARLOOKS (FGETTOBJ TEXTOBJ
DEFAULTCHARLOOKS
))
@@ -981,17 +982,15 @@
(SETQ PC
(create PIECE
PCONTENTS _ TEXT
PFPOS _ CURFILEBYTE#
PFPOS _ CURTEXTBYTE#
PLEN _ BYTELEN
PBYTELEN _ BYTELEN
PPARALOOKS _ OLDPARALOOKS
PTYPE _ THINFILE.PTYPE
PCHARSET _ 0
PBYTESPERCHAR _ 1
PREVPIECE _ PREVPC))
(\TEDIT.GET.CHARLOOKS.INDEX PC TEXT) (* ;
 "Get its looks and character-pointers")
(add CURFILEBYTE# BYTELEN))
(add CURTEXTBYTE# BYTELEN))
(\PieceDescriptorPARA (* ;
 "Reading a new set of paragraph looks.")
(CL:WHEN PREVPC (FSETPC PREVPC PPARALAST T))
@@ -1010,14 +1009,13 @@
(SETQ PC
(create PIECE
PCONTENTS _ TEXT
PFPOS _ CURFILEBYTE#
PBYTELEN _ BYTELEN
PFPOS _ CURTEXTBYTE#
PLEN _ 1
PPARALOOKS _ OLDPARALOOKS
PTYPE _ OBJECT.PTYPE
PREVPIECE _ PREVPC))
(\TEDIT.GET.OBJECT TSTREAM PC TEXT CURFILEBYTE#)
(add CURFILEBYTE# BYTELEN)
(\TEDIT.GET.OBJECT TSTREAM PC TEXT CURTEXTBYTE#)
(add CURTEXTBYTE# BYTELEN)
(FSETPC PC PCHARLOOKS (if (ZEROP (BIN TEXT))
then
@@ -1142,7 +1140,9 @@
PROPS)))])
(\TEDIT.MAKE.STRINGPIECE
[LAMBDA (PC STRING) (* ; "Edited 23-Jan-2024 14:32 by rmk")
[LAMBDA (PC STRING) (* ; "Edited 12-Apr-2026 21:30 by rmk")
(* ; "Edited 10-Apr-2026 09:33 by rmk")
(* ; "Edited 23-Jan-2024 14:32 by rmk")
(* ; "Edited 16-Jan-2024 11:15 by rmk")
(* ; "Edited 12-Jan-2024 16:34 by rmk")
@@ -1155,15 +1155,10 @@
(SETQ SPIECE (if (fetch (STRINGP FATSTRINGP) of STRING)
then (create PIECE using PC PTYPE _ FATSTRING.PTYPE PCONTENTS _ STRING PLEN
_ (NCHARS STRING)
PBYTESPERCHAR _ 2 PBINABLE _ NIL PBYTELEN _
(UNFOLD (NCHARS STRING)
2)
PREVPIECE _ PC PUTF8BYTESPERCHAR _ 2 PFPOS _ 0)
PBYTESPERCHAR _ 2 PREVPIECE _ PC)
else (create PIECE using PC PTYPE _ THINSTRING.PTYPE PCONTENTS _ STRING PLEN
_ (NCHARS STRING)
PBYTESPERCHAR _ 1 PBINABLE _ T PBYTELEN _
(NCHARS STRING)
PREVPIECE _ PC PUTF8BYTESPERCHAR _ 1 PFPOS _ 0)))
PBYTESPERCHAR _ 1 PREVPIECE _ PC)))
(CL:WHEN (NEXTPIECE PC)
(FSETPC (NEXTPIECE PC)
PREVPIECE SPIECE))
@@ -1173,111 +1168,114 @@
(DEFINEQ
(\TEDIT.GET.UNFORMATTED.FILE.MCCS
[LAMBDA (STRM START END DEFAULTCHARLOOKS DEFAULTPARALOOKS) (* ; "Edited 28-Jul-2025 23:45 by rmk")
(* ; "Edited 21-Jan-2024 09:40 by rmk")
(* ; "Edited 12-Jan-2024 13:13 by rmk")
(* ; "Edited 10-Jan-2024 11:19 by rmk")
(* ; "Edited 8-Jan-2024 13:15 by rmk")
[LAMBDA (STRM START END DEFAULTCHARLOOKS DEFAULTPARALOOKS) (* ; "Edited 12-Apr-2026 21:34 by rmk")
(* ; "Edited 10-Apr-2026 09:33 by rmk")
(* ;; "We build a chain of pieces for the NS stringlets, some of which are divided at CR/LF. ")
(* ;;
 "We build a chain of pieces for the MCCS stringlets, some of which are subdivided at CR/LF. ")
(* ;; "We assume that caller has positioned the stream at the intended start byte and has set the ENDOFSTREAMOP to return NIL on EOF. ")
(* ;; "CRBEFORE and the LF test are used to ensure that potential EOL's are normalized to EOL and appear at the end of their pieces, whether or not they we decide to make them PPARALAST on input. LF's after CR are discarded, LF's by themselves are converted to singleton EOLstring pieces.")
(* ;; "This does not set PPARALAST on EOL pieces. Maybe double EOL's?")
(bind (NEXTFILEPOS _ START)
(CHARSET _ 0)
(FIRSTPC _ (create PIECE
PCHARLOOKS _ DEFAULTCHARLOOKS
PPARALOOKS _ DEFAULTPARALOOKS))
(CODESIZE _ 1)
(SBINABLE _ (fetch (STREAM BINABLE) of STRM))
EOLC PC BYTE CHAR PREVPC PTYPE RUNLEN FILEPOS CRBEFORE SHIFTNEXT first (SETQ PREVPC FIRSTPC
)
(* ; "FIRSTPC is a throwaway")
do (SETQ FILEPOS NEXTFILEPOS) (* ; "Start of next file piece")
(* ;; "If a shift at the EOF is ill-formed, it is ignored--no error.")
(* ;; "In thin or fat mode, we have to look at the first byte of the next character, to see if it is a shift. If not a shift, we have to decode the byte configuration to make sure we can detect CR or LF.")
(* ;;
 " LF's after CR are discarded, LF's by themselves are converted to singleton EOLstring pieces.")
(do (CL:WHEN (IGEQ NEXTFILEPOS END)
(RETURN))
(SETQ BYTE (\PEEKBIN STRM T))
(CL:WHEN (SETQ SHIFTNEXT (EQ NSCHARSETSHIFT BYTE))
(SETQ CHAR NIL) (* ;
 "Suppress CR/LF checking on real shift")
(RETURN))
(BIN STRM) (* ; "Not a shift, read the peeked byte")
(SETQ CHAR (if (EQ CODESIZE 2)
then (* ;
 "Return T if this takes us over the end")
(LOGOR (LLSH BYTE 8)
(CL:IF (AND (ILEQ NEXTFILEPOS END)
(SETQ BYTE (BIN STRM)))
BYTE
(RETURN)))
else (LOGOR (LLSH CHARSET 8)
BYTE)))
(add NEXTFILEPOS CODESIZE)
(CL:WHEN (MEMB CHAR (CHARCODE (CR LF)))
(RETURN)))
(bind PREVPC PC CHAR TWOBYTE CHARLIST PLEN STARTPOS STRING (FIRSTPIECE _ (create PIECE))
(CHARSET _ 0) first (SETQ PREVPC FIRSTPIECE)
do (SETQ PLEN 0)
(SETQ STARTPOS (GETFILEPTR STRM))
[while (SETQ CHAR (BIN STRM)) until (EQ CHAR NSCHARSETSHIFT)
do (CL:WHEN TWOBYTE
(SETQ CHARSET (LLSH CHAR 8))
(CL:UNLESS (SETQ CHAR (BIN STRM)) (* ; "Ill-formed at EOF, skip last byte")
(RETURN)))
(SETQ CHAR (LOGOR CHARSET CHAR))
(CL:UNLESS (OR TWOBYTE (EQ CHARSET 0)) (* ; "Collect characters for fatstring")
(push CHARLIST CHAR))
(add PLEN 1) repeatuntil (MEMB CHAR (CHARCODE (CR LF]
(* ;; "NEXTFILEPOS and file are positioned at beginning of the next piece, possibly after CR and LF have been read.")
(* ;; "Reached the end of the current (sub) run")
(SETQ RUNLEN (IDIFFERENCE NEXTFILEPOS FILEPOS))
(CL:WHEN (EQ CHAR (CHARCODE LF)) (* ; "We never produce raw LF's")
(add RUNLEN (IMINUS CODESIZE)))
(CL:WHEN (IGREATERP RUNLEN 0)
(SETQ PTYPE (if (EQ CODESIZE 2)
then FATFILE2.PTYPE
elseif (EQ CHARSET 0)
then THINFILE.PTYPE
else FATFILE1.PTYPE))
(CL:UNLESS (EQ PLEN 0) (* ; "Make subrun's piece")
(SELCHARQ CHAR
(CR (* ; "Skip following LF")
(if TWOBYTE
then (CL:WHEN (EQ 0 (\PEEKCCODE STRM T))
(BIN STRM)
(CL:IF (EQ (CHARCODE LF)
(\PEEKCCODE STRM T))
(BIN STRM)
(\BACKFILEPTR STRM)))
elseif (EQ (CHARCODE LF)
(\PEEKCCODE STRM T))
then (BIN STRM)))
(LF (* ;
 "Prefix bcomes a separate piece, LF a singleton coerced to EOL")
(if (EQ PLEN 1)
then (SETQ CHARLIST (CHARCODE (EOL)))
(* ; "Let it be fat below")
else (add PLEN -1) (* ;
 "Back up to split the LF off into a separate EOL piece")
(\BACKFILEPTR STRM)
(CL:WHEN TWOBYTE (\BACKFILEPTR STRM))))
NIL)
(SETQ PC
(create PIECE
PTYPE _ PTYPE
PCONTENTS _ STRM
PFPOS _ FILEPOS
PLEN _ (IQUOTIENT RUNLEN CODESIZE)
PCHARLOOKS _ DEFAULTCHARLOOKS
PPARALOOKS _ DEFAULTPARALOOKS
PCHARSET _ CHARSET
PBYTESPERCHAR _ CODESIZE
PBYTELEN _ RUNLEN
PREVPIECE _ PREVPC
PBINABLE _ (AND (EQ PTYPE THINFILE.PTYPE)
SBINABLE)))
(SETQ PREVPC (FSETPC PREVPC NEXTPIECE PC)))
(CL:WHEN (EQ CHAR (CHARCODE LF))
[if CRBEFORE
then (SETQ EOLC CRLF.EOLC)
else
(* ;; "Linefeed not preceded by CR, replace by string piece")
(if CHARLIST
then (SETQ STRING (ALLOCSTRING (LENGTH CHARLIST)
NIL NIL T))
(for C in CHARLIST as I from PLEN by -1 do (RPLCHARCODE STRING I C))
(SETQ CHARLIST NIL)
(create PIECE
PTYPE _ FATSTRING.PTYPE
PCONTENTS _ STRING
PLEN _ PLEN
PBYTESPERCHAR _ 2)
elseif TWOBYTE
then (create PIECE
PTYPE _ FATFILE2.PTYPE
PCONTENTS _ STRM
PFPOS _ STARTPOS
PLEN _ PLEN
PBYTESPERCHAR _ 2)
else (create PIECE
PTYPE _ THINFILE.PTYPE
PCONTENTS _ STRM
PFPOS _ STARTPOS
PLEN _ PLEN
PBYTESPERCHAR _ 1)))
(FSETPC PC PCHARLOOKS DEFAULTCHARLOOKS)
(FSETPC PC PPARALOOKS DEFAULTPARALOOKS)
(FSETPC PC PREVPIECE PREVPC)
(FSETPC PREVPC NEXTPIECE PC)
(SETQ PREVPC PC))
(SETQ EOLC LF.EOLC)
(SETQ PREVPC (\TEDIT.MAKE.STRINGPIECE PREVPC (CHARCODE EOL])
(CL:WHEN SHIFTNEXT (* ;
 "Interpret and bump NEXTFILEPOS for the shifting bytes. ")
(BIN STRM) (* ; "Read the original peeked byte")
(SETQ CHARSET (BIN STRM))
(if (EQ CHARSET \NORUNCODE)
then (CL:UNLESS (MEMB (BIN STRM)
'(0 NIL))
(ERROR "EXPECTED PLANE 0 XCCS CHARACTER IS ILL-FORMED"))
(SETQ CHARSET 0)
(SETQ CODESIZE 2)
else (SETQ CODESIZE 1))
(add NEXTFILEPOS (ADD1 CODESIZE))
(SETQ SHIFTNEXT NIL))
(CL:WHEN (IGEQ NEXTFILEPOS END)
(CL:WHEN EOLC (* ;
 "Record the last one we encountered")
(replace (STREAM EOLCONVENTION) of STRM with EOLC))
(RETURN (NEXTPIECE FIRSTPC)))
(CL:WHEN (SETQ CRBEFORE (EQ CHAR (CHARCODE CR)))
(SETQ EOLC CR.EOLC])
(* ;; "Switch to next run, end, or continue with next subrun")
(SELECTC CHAR
(NSCHARSETSHIFT (* ; "Switch to next run")
(SETQ CHARSET (BIN STRM))
(CL:UNLESS CHARSET (* ; "Ill-formed")
(RETURN (NEXTPIECE FIRSTPIECE)))
(SETQ TWOBYTE (CL:WHEN (EQ CHARSET \NORUNCODE)
(SETQ CHARSET (BIN STRM))
(CL:UNLESS CHARSET (* ; "Ill-formed")
(RETURN (NEXTPIECE FIRSTPIECE)))
(CL:UNLESS (EQ CHARSET 0)
(\MCCS.24BITENCODING.ERROR STRM))
T))
(SETQ CHARSET (LLSH CHARSET 8)))
(NIL (* ; "End of file")
(RETURN (NEXTPIECE FIRSTPIECE)))
NIL])
(\TEDIT.INTERPRET.MCCS.SHIFTS
[LAMBDA (PIECES PFILE) (* ; "Edited 21-Oct-2024 00:33 by rmk")
[LAMBDA (PIECES PFILE) (* ; "Edited 29-Apr-2026 23:48 by rmk")
(* ; "Edited 24-Apr-2026 21:08 by rmk")
(* ; "Edited 10-Apr-2026 09:33 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 14-May-2024 18:39 by rmk")
(* ; "Edited 21-Jan-2024 00:02 by rmk")
(* ; "Edited 19-Jan-2024 10:34 by rmk")
@@ -1285,58 +1283,44 @@
(* ; "Edited 6-Jan-2024 15:02 by rmk")
(* ; "Edited 19-Dec-2023 13:13 by rmk")
(* ;; "This is called after a GET or PUT, when the file pieces are known all to reside in PFILE.PIECES is a chain of pieces read from a formatted XCCS file but not yet inserted into the BTREE. Each file piece has PFILE, PFPOS, and PBYTELEN. This function interprets any XCCS shift characters that prefix the actual characters, coercing the piece properties and bumping the PFPOS/PLEN to hide the shifts. ")
(* ;; "This is called after by \TEDIT.GET.PIECES, after a GET, when the pieces are known all to reside in PFILE. PIECES is a chain of pieces read from a formatted MCCS (or XCCS) file but not yet inserted into the BTREE. Each file piece has PFILE and PFPOS. This function makes sure that no shift bytes are included in the pieces, by coercing the piece properties and bumping the PFPOS/PLEN to hide the shifts. This also coerces non-charset 0 one-byte pieces to fatstrings.")
(* ;; "We run this before the pieces are inistalled in a stream, since this may change the character lengths.")
(* ;; "This also has some EOL normalization.")
(for PC BYTE EOLC inpieces PIECES when (EQ PFILE (PCONTENTS PC))
do (\SETFILEPTR PFILE (PFPOS PC))
(SETQ BYTE (BIN PFILE))
[if (EQ NSCHARSETSHIFT BYTE)
(if (EQ NSCHARSETSHIFT BYTE)
then (SELECTC (SETQ BYTE (BIN PFILE))
(0 (* ; "Runlength of charset 0")
(add (PBYTELEN PC)
-2) (* ;
 "The shift characters really disappear")
(FSETPC PC PLEN (PBYTELEN PC))
(FSETPC PC PTYPE THINFILE.PTYPE)
(FSETPC PC PBINABLE T)
(FSETPC PC PCHARSET 0)
(add (PFPOS PC)
2))
(\NORUNCODE (* ; "Going for 3 byte characters")
(0 (add (PFPOS PC)
2)
(add (PLEN PC)
-2))
(\NORUNCODE (* ; "Going for 2 byte characters")
(CL:UNLESS (EQ 0 (BIN PFILE))
(\TEDIT.THELP "XCCS CHARACTER NOT IN PLANE 0"))
(\TEDIT.THELP "MCCS CHARACTER NOT IN PLANE 0, FILEPOS = "
(IDIFFERENCE (GETFILEPTR PFILE)
2)))
(FSETPC PC PTYPE FATFILE2.PTYPE)
(FSETPC PC PBYTESPERCHAR 2)
(add (PFPOS PC)
3)
(add (PBYTELEN PC)
-3)
(FSETPC PC PLEN (FOLDLO (PBYTELEN PC)
2)))
(change (PLEN PC)
(FOLDLO (IDIFFERENCE DATUM 3)
2)))
(PROGN
(* ;; "A run in a non-zero charset. Convert it to FATFILE1. Could also read into a FATSTRING instead, get rid of on-file FATFILE1. A string piece could hold adjacent substrings in different charsets")
(* ;; "A run in a non-zero charset. Convert it to FATSTRING so we don't have to maintain code to interpret XCCS stringlet pieces. After all, space efficiency is far worse for our ultimate goal of UTF-8 codes.")
(add (PBYTELEN PC)
-2)
(add (PFPOS PC)
2)
(FSETPC PC PLEN (PBYTELEN PC))
(FSETPC PC PBINABLE NIL)
(FSETPC PC PTYPE FATFILE1.PTYPE)
(FSETPC PC PBYTESPERCHAR 1)
(FSETPC PC PCHARSET BYTE)))
elseif (EQ 2 (PBYTESPERCHAR PC))
then (FSETPC PC PTYPE FATFILE2.PTYPE) (* ; "This is the continuation of an XCCS 2-byte run that was broken up presumably for looks or paragraphs")
(FSETPC PC PCHARSET \NORUNCODE)
(FSETPC PC PLEN (FOLDLO (PBYTELEN PC)
2))
else (FSETPC PC PCHARSET 0) (* ; "A charset 0 1-byte run")
(FSETPC PC PBINABLE T)
(FSETPC PC PBYTESPERCHAR 1)
[\SETFILEPTR PFILE (IPLUS (PFPOS PC)
(SUB1 (PLEN PC]
(\TEDIT.RUN.TO.STRINGPIECE PC BYTE PFILE)))
elseif (EQ FATFILE2.PTYPE (PTYPE PC))
then (* ; "This is the continuation of an MCCS 2-byte run that was broken up presumably for looks or paragraphs")
(change (PLEN PC)
(FOLDLO DATUM 2))
else (FSETPC PC PBYTESPERCHAR 1) (* ; "A charset 0 1-byte run")
[\SETFILEPTR PFILE (SUB1 (IPLUS (PFPOS PC)
(PLEN PC] (* ;
 "Position for the last byte for EOL processing. Maybe only if PPARALAST ?")
(if (EQ (CHARCODE LF)
(SETQ BYTE (BIN PFILE)))
then
@@ -1350,8 +1334,6 @@
else (add (PLEN PC)
-1) (* ;
 "Shorten PC, add EOL string piece unless preceded by CR")
(add (PBYTELEN PC)
-1)
(if (EQ (CHARCODE CR)
(\BACKBIN PFILE))
then (SETQ EOLC CRLF.EOLC)
@@ -1360,10 +1342,9 @@
(FSETPC PC PPARALAST NIL]
else (CL:WHEN (EQ BYTE (CHARCODE CR))
(SETQ EOLC CR.EOLC))
(FSETPC PC PTYPE THINFILE.PTYPE)
(FSETPC PC PLEN (PBYTELEN PC] finally (CL:WHEN EOLC
(replace (STREAM EOLCONVENTION)
of PFILE with EOLC)))
(FSETPC PC PTYPE THINFILE.PTYPE)))
finally (CL:WHEN EOLC
(replace (STREAM EOLCONVENTION) of PFILE with EOLC)))
PIECES])
(\TEDIT.CONVERT.XCCSTOMCCS
@@ -1379,16 +1360,30 @@
TSTREAM CHNO)))
unless (EQ CHAR (SETQ CHAR (MTOXCODE CHAR))) do (\TEDIT.RPLCHARCODE TSTREAM CHNO CHAR NIL
T)))])
(\TEDIT.RUN.TO.STRINGPIECE
[LAMBDA (PC CHARSET PFILE) (* ; "Edited 10-Apr-2026 09:20 by rmk")
(* ; "Edited 7-Apr-2026 18:16 by rmk")
(SETQ CHARSET (LLSH CHARSET 8))
(LET ((STRING (ALLOCSTRING (PLEN PC)
NIL NIL T)))
[for I from 1 to (PLEN PC) do (RPLCHARCODE STRING I (LOGOR CHARSET (BIN PFILE]
(FSETPC PC PTYPE FATSTRING.PTYPE)
(FSETPC PC PCONTENTS STRING)
(FSETPC PC PBYTESPERCHAR 2)
PC])
)
(* ; "XCCS")
(* ; "MCCS")
(DEFINEQ
(\TEDIT.GET.UNFORMATTED.FILE.UTF8
[LAMBDA (STRM START END DEFAULTCHARLOOKS DEFAULTPARALOOKS) (* ; "Edited 23-Oct-2025 08:48 by rmk")
[LAMBDA (STRM START END DEFAULTCHARLOOKS DEFAULTPARALOOKS) (* ; "Edited 12-Apr-2026 21:46 by rmk")
(* ; "Edited 10-Apr-2026 09:24 by rmk")
(* ; "Edited 23-Oct-2025 08:48 by rmk")
(* ; "Edited 28-Jul-2025 23:45 by rmk")
(* ; "Edited 11-Mar-2024 23:55 by rmk")
(* ; "Edited 4-Feb-2024 10:12 by rmk")
@@ -1409,7 +1404,6 @@
PCHARLOOKS _ DEFAULTCHARLOOKS
PPARALOOKS _ DEFAULTPARALOOKS))
(NEXTCODESIZE _ 1)
(SBINABLE _ (fetch (STREAM BINABLE) of STRM))
EOLC CHAR PREVPC PTYPE RUNLEN FILEPOS CRBEFORE CODESIZE PREVCRLF
first (SELECTQ (READBOM STRM)
(:UTF-8 (add NEXTFILEPOS 3))
@@ -1457,21 +1451,16 @@
(SETQ PTYPE (CL:IF (EQ CODESIZE 1)
THINFILE.PTYPE
UTF8.PTYPE))
(SETQ PREVPC
(FSETPC PREVPC NEXTPIECE
(create PIECE
PTYPE _ PTYPE
PCONTENTS _ STRM
PFPOS _ FILEPOS
PLEN _ (IQUOTIENT RUNLEN CODESIZE)
PCHARLOOKS _ DEFAULTCHARLOOKS
PPARALOOKS _ DEFAULTPARALOOKS
PBYTESPERCHAR _ CODESIZE
PBYTELEN _ RUNLEN
PREVPIECE _ PREVPC
PBINABLE _ (AND (EQ PTYPE THINFILE.PTYPE)
SBINABLE)
PUTF8BYTESPERCHAR _ CODESIZE))))
(SETQ PREVPC (FSETPC PREVPC NEXTPIECE
(create PIECE
PTYPE _ PTYPE
PCONTENTS _ STRM
PFPOS _ FILEPOS
PLEN _ (IQUOTIENT RUNLEN CODESIZE)
PCHARLOOKS _ DEFAULTCHARLOOKS
PPARALOOKS _ DEFAULTPARALOOKS
PBYTESPERCHAR _ CODESIZE
PREVPIECE _ PREVPC))))
(CL:WHEN (EQ CHAR (CHARCODE LF))
[if CRBEFORE
then (SETQ EOLC CRLF.EOLC)
@@ -1646,7 +1635,8 @@
(\WIN STREAM])
(\TEDIT.GET.CHARLOOKS.INDEX
[LAMBDA (PC FORMATSTREAM) (* ; "Edited 28-Jul-2025 23:46 by rmk")
[LAMBDA (PC FORMATSTREAM) (* ; "Edited 24-Apr-2026 21:03 by rmk")
(* ; "Edited 28-Jul-2025 23:46 by rmk")
(* ; "Edited 14-Jan-2024 00:11 by rmk")
(* ; "Edited 19-Dec-2023 10:13 by rmk")
(* ; "Edited 3-Sep-2023 23:31 by rmk")
@@ -1654,18 +1644,18 @@
(* ; "Edited 26-Aug-2023 23:22 by rmk")
(* ; "Edited 30-May-91 21:43 by jds")
(* ;; "Set the type, length, and and charlooks-index for the current piece, PC")
(* ;; "Set the type, length, and charlooks-index for the current piece, PC")
(LET ((FLAGS (BIN FORMATSTREAM)))
(FSETPC PC PCHARLOOKS (\WIN FORMATSTREAM))
(CL:UNLESS (ZEROP (LOGAND FLAGS 1))
(FSETPC PC PNEW T))
(CL:UNLESS (ZEROP (LOGAND FLAGS 2)) (* ;
 "XCSS FAT. It may be a continuation of a previous fat piece")
(FSETPC PC PLEN (IQUOTIENT (FGETPC PC PLEN)
2))
(FSETPC PC PTYPE FATFILE2.PTYPE)
(FSETPC PC PBYTESPERCHAR 2))])
(CL:UNLESS (ZEROP (LOGAND FLAGS 2))
(* ;; "MCSS FAT. It may have a 255 255 0 (NSHIFTBYTES=3) prefix or it may be a continuation of a previous fat piece. PLEN on the file is the runlength including the NSHIFTBYTES, so we can't fold from bytes to chars here: \TEDIT.INTERPRET.MCCS.SHIFTS. Until then, this is goofy")
(FSETPC PC PBYTESPERCHAR 2)
(FSETPC PC PTYPE FATFILE2.PTYPE))])
)
(DEFINEQ
@@ -1773,7 +1763,8 @@
(DEFINEQ
(\TEDIT.GET.OBJECT
[LAMBDA (TSTREAM PIECE FILE CURFILEBYTE# BYTELEN) (* ; "Edited 1-Aug-2025 14:50 by rmk")
[LAMBDA (TSTREAM PIECE FILE CURTEXTBYTE# BYTELEN) (* ; "Edited 15-Apr-2026 12:05 by rmk")
(* ; "Edited 1-Aug-2025 14:50 by rmk")
(* ; "Edited 28-Jul-2025 23:46 by rmk")
(* ; "Edited 31-Jul-2024 12:09 by rmk")
(* ; "Edited 5-Dec-2023 12:28 by rmk")
@@ -1794,13 +1785,13 @@
(* ;; "rrb 10-AUG-87 --- calculate the length of the image object's data. This assumes that the file is currently pointed at the end of the data which is where the GETFN is written {I think}.")
(* ;; "RMK: Originally, BYTELEN was calculated here as (DIFFERENCE (GETFILEPTR FILE) CURFILEBYTE#). But this is garbage: (GETFILEPTR FILE) is in the looks section, CURFILEBYTE# is in the text section. The caller knows the true value, now passes it in. ")
(* ;; "RMK: Originally, BYTELEN was calculated here as (DIFFERENCE (GETFILEPTR FILE) CURTEXTBYTE#). But this is garbage: (GETFILEPTR FILE) is in the looks section, CURTEXTBYTE# is in the text section. The caller knows the true value, now passes it in. ")
(SETQ GETFN (\ATMIN FILE)) (* ;
 "The GETFN for this kind of IMAGEOBJ")
(SETQ FILEPTRSAVE (GETFILEPTR FILE)) (* ;
 "Save our file location thru the building of the object")
(SETFILEPTR FILE CURFILEBYTE#)
(SETFILEPTR FILE CURTEXTBYTE#)
(SETQ OBJ (READIMAGEOBJ FILE GETFN NIL BYTELEN))
(CL:WHEN (IMAGEOBJPROP OBJ 'UNKNOWNGETFN) (* ;
 "If the object has an unknown getfn property, then it's an encapsulated object. Warn the user")
@@ -1832,6 +1823,9 @@
(\TEDIT.PUT.PCTB
[LAMBDA (TEXTOBJ CHARSTREAM FORMATSTREAM CONTINUE KEEPSEPARATE)
(* ; "Edited 18-Apr-2026 14:56 by rmk")
(* ; "Edited 9-Apr-2026 23:19 by rmk")
(* ; "Edited 7-Apr-2026 12:31 by rmk")
(* ; "Edited 14-Feb-2026 10:32 by rmk")
(* ; "Edited 9-Sep-2025 21:32 by rmk")
(* ; "Edited 26-Apr-2025 00:11 by rmk")
@@ -1870,8 +1864,8 @@
(CL:WHEN (EQ :UTF-8 (STREAMPROP CHARSTREAM 'FORMAT))
(\TEDIT.PUT.UTF8.SPLITPIECES TEXTOBJ))
(for PC PFILE NEXTNEW RUNLEN UNFORMATTED? (NSHIFTBYTES _ 0)
(CURBYTE# _ 0)
(OLDBYTE# _ 0)
(CURTEXTBYTE# _ 0)
(OLDTEXTBYTE# _ 0)
[UNFORMATTED? _ (PROG1 (EQ FORMATSTREAM T)
(CL:UNLESS (STREAMP FORMATSTREAM)
[SETQ FORMATSTREAM (OPENSTREAM '{NODIRCORE} 'BOTH 'NEW
@@ -1906,8 +1900,8 @@
(* ;; " We're ready to put the pieces on the output file. ")
(SETQ CURBYTE# (\GETFILEPTR CHARSTREAM))
(SETQ OLDBYTE# CURBYTE#)
(SETQ CURTEXTBYTE# (\GETFILEPTR CHARSTREAM))
(SETQ OLDTEXTBYTE# CURTEXTBYTE#)
(* ;; "ZEROP should never happen, but...")
@@ -1915,7 +1909,7 @@
unless (ZEROP (PLEN PC))
do
(* ;; "PC starts a run of one or more pieces that can be collapsed together into a single file piece. The paragraph looks are produced before the first piece of a new paragraph (first piece or previous piece was PPARALAST), then the piece(s)-characters, followed by the charlooks. I.e., FORMATSTREAM describes the paragraph-start piece with its paragraph looks forllowed by its char looks.")
(* ;; "PC starts a run of one or more pieces that can be collapsed together into a single file piece. The paragraph looks are produced before the first piece of a new paragraph (first piece or previous piece was PPARALAST), then the piece(s)-characters, followed by the charlooks. I.e., FORMATSTREAM describes the paragraph-start piece with its paragraph looks followed by its char looks.")
(CL:WHEN (OR (NULL (PREVPIECE PC))
(PPARALAST (PREVPIECE PC)))
@@ -1923,15 +1917,15 @@
(add PCCOUNT 1))
(CL:WHEN (MEMB EXTFORMAT '(:MCCS :XCCS))
(* ;; "For MCCS, CHARSET will put out the char-shifting prefix bytes as needed. In format-version 3 all the file bytes belong to a piece, no skipping in the file. TEDIT.GET calls \TEDIT.INTERPRET.XCCS.SHIFTS to shave those bytes. NSHIFTBYTES is used here if the edit will continue.")
(* ;; "For MCCS, CHARSET will put out the char-shifting prefix bytes as needed. In format-version 3 all the file bytes belong to a piece, no skipping in the file. TEDIT.GET calls \TEDIT.INTERPRET.MCCS.SHIFTS to shave those bytes. NSHIFTBYTES is used here so the edit can continue.")
(CHARSET CHARSTREAM (OR (AND (EQ EXTFORMAT :XCCS)
(MEMB (PTYPE PC)
FAT.PTYPES))
(PCHARSET PC)))
(CHARSET CHARSTREAM (CL:IF (MEMB (PTYPE PC)
FAT.PTYPES)
T
0))
(SETQ NSHIFTBYTES (IDIFFERENCE (\GETFILEPTR CHARSTREAM)
OLDBYTE#)))
(do (\TEDIT.PUT.PCTB.PIECEDATA PC CHARSTREAM TEXTOBJ FORMATSTREAM OLDBYTE#)
OLDTEXTBYTE#)))
(do (\TEDIT.PUT.PCTB.PIECEDATA PC CHARSTREAM TEXTOBJ FORMATSTREAM OLDTEXTBYTE#)
(CL:UNLESS (\TEDIT.PUT.PCTB.MERGEABLE PC (NEXTPIECE PC)
EDITSTENTATIVE EXTFORMAT TEXTOBJ)
(RETURN))
@@ -1939,8 +1933,8 @@
(* ;; "PC is the last piece written for a mergeable sequence. Finish off the corresponding file piece by writing PC's character looks into FORMATSTREAM. ")
(SETQ CURBYTE# (\GETFILEPTR CHARSTREAM))
(SETQ RUNLEN (IDIFFERENCE CURBYTE# OLDBYTE#))
(SETQ CURTEXTBYTE# (\GETFILEPTR CHARSTREAM))
(SETQ RUNLEN (IDIFFERENCE CURTEXTBYTE# OLDTEXTBYTE#))
(CL:UNLESS (EQ OBJECT.PTYPE (PTYPE PC)) (* ;
 "Objects get their charlooks from the preceding piece.")
(\TEDIT.PUT.CHARLOOKS FORMATSTREAM RUNLEN PC EDITSTENTATIVE LOOKSHASH))
@@ -1952,28 +1946,30 @@
(* ;; "Only for continued editing: make a new piece that describes those characters as they now reside on CHARSTREAM. ")
(SETQ NEXTNEW (\TEDIT.PUT.PCTB.NEXTNEW NEXTNEW PC OLDBYTE# RUNLEN EXTFORMAT TEXTOBJ
(SETQ NEXTNEW (\TEDIT.PUT.PCTB.NEXTNEW NEXTNEW PC OLDTEXTBYTE# RUNLEN EXTFORMAT TEXTOBJ
EOLC NSHIFTBYTES)))
(SETQ OLDBYTE# CURBYTE#) finally
(SETQ OLDTEXTBYTE# CURTEXTBYTE#) finally
(* ;; "Finalize and append FORMATSTREAM unless unformatted or KEEPSEPARATE (for splitting). If KEEPSEPARATE, the caller must have provided the formatstream")
(CL:UNLESS UNFORMATTED?
(\TEDIT.PUT.TRAILER FORMATSTREAM (\GETFILEPTR CHARSTREAM
)
PCCOUNT 3 (FGETTOBJ TEXTOBJ DOCPROPS)))
(CL:UNLESS (OR UNFORMATTED? KEEPSEPARATE)
(COPYBYTES FORMATSTREAM CHARSTREAM 0 (GETEOFPTR
FORMATSTREAM
)))
(RETURN (CL:WHEN NEWPIECES
(CL:UNLESS UNFORMATTED?
(\TEDIT.PUT.TRAILER FORMATSTREAM (\GETFILEPTR
CHARSTREAM)
PCCOUNT 3 (FGETTOBJ TEXTOBJ DOCPROPS)))
(CL:UNLESS (OR UNFORMATTED? KEEPSEPARATE)
(COPYBYTES FORMATSTREAM CHARSTREAM 0
(GETEOFPTR FORMATSTREAM)))
(RETURN (CL:WHEN NEWPIECES
(* ;; "Throw away the dummy head of the new piece chain (NEWPIECES is NIL if not continuing). The caller must make install the new pieces.")
(* ;; "Throw away the dummy head of the new piece chain (NEWPIECES is NIL if not continuing). The caller must install the new pieces.")
(NEXTPIECE NEWPIECES))])
(NEXTPIECE NEWPIECES))])
(\TEDIT.PUT.PCTB.PIECEDATA
[LAMBDA (PC CHARSTREAM TEXTOBJ FORMATSTREAM OLDBYTE#) (* ; "Edited 21-Oct-2024 00:33 by rmk")
[LAMBDA (PC CHARSTREAM TEXTOBJ FORMATSTREAM OLDTEXTBYTE#) (* ; "Edited 18-Apr-2026 14:54 by rmk")
(* ; "Edited 9-Apr-2026 13:37 by rmk")
(* ; "Edited 7-Apr-2026 18:10 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 15-May-2024 17:04 by rmk")
(* ;; "Write the data defining PC on CHARSTREAM.")
@@ -1982,7 +1978,7 @@
(* ;; "FORMATSTREAM is needed for objects.")
(* ;; "OLDBYTE# needed to deal with XCCS shift before objects.")
(* ;; "OLDTEXTBYTE# needed to deal with XCCS shift before objects.")
(LET (PFILE)
(CL:WHEN (MEMB (PTYPE PC)
@@ -2004,16 +2000,9 @@
(for CH instring (PCONTENTS PC) do (\OUTCHAR CHARSTREAM CH)))
(FATFILE2.PTYPE
(for I from 1 to (PLEN PC) do (\OUTCHAR CHARSTREAM (\WIN PFILE))))
(FATFILE1.PTYPE
(* ;;
 "We read but don't write FATFILE1 pieces, they merge with FATFILE2.")
[for I (CSET _ (LLSH (PCHARSET PC)
8)) from 1 to (PLEN PC)
do (\OUTCHAR CHARSTREAM (LOGOR CSET (BIN PFILE])
(UTF8.PTYPE (for I from 1 to (PLEN PC) do (\OUTCHAR CHARSTREAM (UTF8.INCCODEFN PFILE))))
(OBJECT.PTYPE (* ; "It's an object, use its PUTFN.")
(\TEDIT.PUT.OBJECT PC CHARSTREAM FORMATSTREAM OLDBYTE#)
(\TEDIT.PUT.OBJECT PC CHARSTREAM FORMATSTREAM OLDTEXTBYTE#)
(* ;; "0 indicates that nothing special needs to be done here to recover the looks of this piece. \TEDIT.GET.PIECES3 says that the object-piece looks are taken from the previous piece (or default for first piece. In earlier versions the value 1 indicated that the looks were not indexed and therefore had to be written explicitly here. This byte won't be needed in the next version of the format.")
@@ -2041,7 +2030,9 @@
(\WOUT FORMATSTREAM (IPLUS 31415 VERSION])
(\TEDIT.PUT.PCTB.MERGEABLE
[LAMBDA (PREVPC PC EDITSTENTATIVE EXTFORMAT TEXTOBJ) (* ; "Edited 1-Aug-2025 14:51 by rmk")
[LAMBDA (PREVPC PC EDITSTENTATIVE EXTFORMAT TEXTOBJ) (* ; "Edited 12-Apr-2026 21:44 by rmk")
(* ; "Edited 7-Apr-2026 18:07 by rmk")
(* ; "Edited 1-Aug-2025 14:51 by rmk")
(* ; "Edited 25-Apr-2025 23:50 by rmk")
(* ; "Edited 24-Apr-2025 16:02 by rmk")
(* ; "Edited 14-May-2024 11:55 by rmk")
@@ -2076,21 +2067,21 @@
(THINPIECEP PC)))
(:UTF-8
(* ;; "UTF8 pieces with the same bytesperchar are mergeable. We rely on \TEDIT.PUT.UTF8.SPLITPIECES to examine string pieces and split thin strings that include mixtures of Ascii and non-Ascii characters, and to split fat pieces that may contain Ascii character in 2-byte form. After splitting, all pieces with the same PUTF8BYTESPERCHAR can be merged.")
(* ;; "UTF8 pieces with the same bytesperchar are mergeable. We rely on \TEDIT.PUT.UTF8.SPLITPIECES to examine string pieces and split thin strings that include mixtures of Ascii and non-Ascii characters, and to split fat pieces that may contain Ascii character in 2-byte form. After splitting, all pieces with the same PBYTESPERCHAR can be merged.")
(EQ (FGETPC PREVPC PUTF8BYTESPERCHAR)
(FGETPC PC PUTF8BYTESPERCHAR)))
(EQ (FGETPC PREVPC PBYTESPERCHAR)
(FGETPC PC PBYTESPERCHAR)))
NIL)
(OR (EQ PREVTYPE UTF8.PTYPE)
(AND (EQ PREVTYPE FATFILE1.PTYPE)
(NEQ 0 (PCHARSET PREVPC)))
[AND (EQ EXTFORMAT :UTF-8)
(NOT (MEMB PREVTYPE (CONSTANT (LIST THINFILE.PTYPE THINSTRING.PTYPE]
(NOT (MEMB (\TEDIT.PIECE.NTHCHARCODE PREVPC (SUB1 (PLEN PREVPC)))
(CHARCODE (EOL LF])])])
(\TEDIT.PUT.UTF8.SPLITPIECES
[LAMBDA (TEXTOBJ) (* ; "Edited 19-Jan-2025 15:02 by rmk")
[LAMBDA (TEXTOBJ) (* ; "Edited 12-Apr-2026 21:49 by rmk")
(* ; "Edited 9-Apr-2026 00:05 by rmk")
(* ; "Edited 19-Jan-2025 15:02 by rmk")
(* ; "Edited 17-Mar-2024 00:14 by rmk")
(* ; "Edited 3-Feb-2024 14:52 by rmk")
(* ; "Edited 11-Jan-2024 23:29 by rmk")
@@ -2101,24 +2092,24 @@
(for PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ)
do (SELECTC (PTYPE PC)
(UTF8.PTYPE (FSETPC PC PUTF8BYTESPERCHAR (PBYTESPERCHAR PC)))
(UTF8.PTYPE)
(STRING.PTYPES (for CH BPC instring (PCONTENTS PC) as I from 1
do
(* ;; "If BPC changes, split off and mark the prefix piece with the previous value, go back to the main loop to continue on the residual suffix piece.")
(if (EQ I 1)
then (SETQ BPC (NUTF8-CODE-BYTES (XTOUCODE CH)))
(FSETPC PC PUTF8BYTESPERCHAR BPC)
then (SETQ BPC (NUTF8-CODE-BYTES (MTOUCODE CH)))
(FSETPC PC PBYTESPERCHAR BPC)
(* ;
 "The first character defines the piece")
elseif (EQ BPC (NUTF8-CODE-BYTES (XTOUCODE CH)))
elseif (EQ BPC (NUTF8-CODE-BYTES (MTOUCODE CH)))
else (\TEDIT.SPLITPIECE PC (SUB1 I)
TEXTOBJ)
(SETQ PC (PREVPIECE PC))
(* ;
 "Prefix piece always exists since I>1")
(FSETPC PC PUTF8BYTESPERCHAR BPC)
(FSETPC PC PBYTESPERCHAR BPC)
(* ;
 "Mark it, iteration continues on its next.")
(RETURN))))
@@ -2128,30 +2119,26 @@
(for I BPC (PFILE _ (PCONTENTS PC)) from 1 to (PLEN PC)
first (\SETFILEPTR PFILE (PFPOS PC))
do (if (EQ I 1)
then [SETQ BPC (NUTF8-CODE-BYTES (XTOUCODE (BIN PFILE]
(FSETPC PC PUTF8BYTESPERCHAR BPC)
elseif [EQ BPC (NUTF8-CODE-BYTES (XTOUCODE (BIN PFILE]
then [SETQ BPC (NUTF8-CODE-BYTES (MTOUCODE (BIN PFILE]
(FSETPC PC PBYTESPERCHAR BPC)
elseif [EQ BPC (NUTF8-CODE-BYTES (MTOUCODE (BIN PFILE]
else (\TEDIT.SPLITPIECE PC (SUB1 I)
TEXTOBJ)
(SETQ PC (PREVPIECE PC))
(FSETPC PC PUTF8BYTESPERCHAR BPC)
(FSETPC PC PBYTESPERCHAR BPC)
(RETURN)))))
((LIST FATFILE2.PTYPE FATFILE1.PTYPE) (* ; "XCCS pieces")
(FATFILE2.PTYPE (* ; "XCCS pieces")
(for I BPC CH (PFILE _ (PCONTENTS PC)) from 1 to (PLEN PC)
first (\SETFILEPTR PFILE (PFPOS PC))
do (SETQ CH (LOGOR (LLSH (CL:IF (EQ FATFILE2.PTYPE (PTYPE PC))
(BIN PFILE)
(PCHARSET PC))
8)
(BIN PFILE)))
do (SETQ CH (\WIN PFILE))
(if (EQ I 1)
then (SETQ BPC (NUTF8-CODE-BYTES (XTOUCODE CH)))
(FSETPC PC PUTF8BYTESPERCHAR BPC)
elseif (EQ BPC (NUTF8-CODE-BYTES (XTOUCODE CH)))
then (SETQ BPC (NUTF8-CODE-BYTES (MTOUCODE CH)))
(FSETPC PC PBYTESPERCHAR BPC)
elseif (EQ BPC (NUTF8-CODE-BYTES (MTOUCODE CH)))
else (\TEDIT.SPLITPIECE PC (SUB1 I)
TEXTOBJ)
(SETQ PC (PREVPIECE PC))
(FSETPC PC PUTF8BYTESPERCHAR BPC)
(FSETPC PC PBYTESPERCHAR BPC)
(RETURN))))
NIL])
@@ -2183,6 +2170,11 @@
(\TEDIT.PUT.PCTB.NEXTNEW
[LAMBDA (NEXTNEW PC OLDBYTE# RUNLEN EXTFORMAT TEXTOBJ EOLC NSHIFTBYTES)
(* ; "Edited 24-Apr-2026 20:45 by rmk")
(* ; "Edited 17-Apr-2026 23:55 by rmk")
(* ; "Edited 12-Apr-2026 21:47 by rmk")
(* ; "Edited 9-Apr-2026 13:20 by rmk")
(* ; "Edited 7-Apr-2026 18:12 by rmk")
(* ; "Edited 15-Feb-2026 15:09 by rmk")
(* ; "Edited 25-Apr-2025 08:48 by rmk")
(* ; "Edited 26-Mar-2025 09:27 by rmk")
@@ -2198,28 +2190,25 @@
(* ;; "This updates the piece chain that is created for continued editing.")
(* ;; "Note that the PCONTENTS (= PFILE) field for these file pieces isn't filled in, that has to be done after CHARSTREAM is closed and reopened at the TEDIT.PUT level. For the same reason, PBINABLE isn't set here.")
(* ;; "Note that the PCONTENTS (= PFILE) field for these file pieces isn't filled in, that has to be done after CHARSTREAM is closed and reopened at the TEDIT.PUT level. ")
(* ;; "NSHIFTBYTES strips any MCCS/XCCS charset shifts at the beginning of the new piece.")
(* ;; "NSHIFTBYTES ignores any MCCS/XCCS charset shifts at the beginning of the new piece.")
(SETQ RUNLEN (IDIFFERENCE RUNLEN NSHIFTBYTES))
(FSETPC NEXTNEW NEXTPIECE (SETQ NEXTNEW (create PIECE
using PC PFPOS _ (IPLUS NSHIFTBYTES OLDBYTE#)
PBYTELEN _ RUNLEN PREVPIECE _ NEXTNEW PTREENODE
_ NIL)))
PLEN _ RUNLEN PREVPIECE _ NEXTNEW PTREENODE _
NIL)))
(SELECTQ EXTFORMAT
(:UTF-8 (FSETPC NEXTNEW PTYPE (CL:IF (EQ 1 (FGETPC PC PUTF8BYTESPERCHAR))
(:UTF-8 (FSETPC NEXTNEW PTYPE (CL:IF (EQ 1 (FGETPC PC PBYTESPERCHAR))
THINFILE.PTYPE
UTF8.PTYPE))
(FSETPC NEXTNEW PBYTESPERCHAR (FGETPC PC PUTF8BYTESPERCHAR)))
UTF8.PTYPE)))
((:MCCS :XCCS) (* ;
 "String pieces can be merged with corresponding file pieces")
(FSETPC NEXTNEW PTYPE (SELECTC (PTYPE PC)
(THINSTRING.PTYPE
THINFILE.PTYPE)
((LIST FATSTRING.PTYPE FATFILE1.PTYPE)
(* ;
 "PCHARSET is not relevant for FILEFILE2")
(FATSTRING.PTYPE
(FSETPC NEXTNEW PBYTESPERCHAR 2)
FATFILE2.PTYPE)
(PTYPE PC))))
@@ -2238,15 +2227,14 @@
(FSETPC NEXTNEW PCONTENTS (ALLOCSTRING 1 (CHARCODE EOL)))
else (add (FGETPC NEXTNEW PLEN)
-1) (* ; "We know it's thin, maybe paralast")
(add (FGETPC NEXTNEW PBYTELEN)
-1)
(SETQ NEXTNEW (\TEDIT.MAKE.STRINGPIECE NEXTNEW (CHARCODE EOL)))
(FSETPC (PREVPIECE NEXTNEW)
PPARALAST NIL))))
NEXTNEW])
(\TEDIT.INSERT.NEWPIECES
[LAMBDA (DESTSTREAM OLDSTREAM NEWPIECES) (* ; "Edited 14-May-2024 18:38 by rmk")
[LAMBDA (DESTSTREAM OLDSTREAM NEWPIECES) (* ; "Edited 10-Apr-2026 09:25 by rmk")
(* ; "Edited 14-May-2024 18:38 by rmk")
(* ; "Edited 29-Apr-2024 10:13 by rmk")
(* ; "Edited 20-Mar-2024 10:59 by rmk")
(* ; "Edited 17-Mar-2024 12:06 by rmk")
@@ -2265,13 +2253,8 @@
(LET ((TEXTOBJ (TEXTOBJ! (fetch (TEXTSTREAM TEXTOBJ) of OLDSTREAM)))
FILEPTR)
(SETQ FILEPTR (\TEDIT.TEXTGETFILEPTR OLDSTREAM)) (* ; "Restore the editing parameters")
(for PC (SBINABLE _ (fetch (STREAM BINABLE) of DESTSTREAM)) inpieces NEWPIECES
when (MEMB (PTYPE PC)
FILE.PTYPES) do (FSETPC PC PCONTENTS DESTSTREAM)
(CL:WHEN (EQ THINFILE.PTYPE (PTYPE PC))
(* ;
 "If the backing stream isn't binable, the thinfile pieces aren't either")
(FSETPC PC PBINABLE SBINABLE)))
(for PC inpieces NEWPIECES when (MEMB (PTYPE PC)
FILE.PTYPES) do (FSETPC PC PCONTENTS DESTSTREAM))
(* ; "Non-object pieces are on OFILE")
(* ;; "Here, finally, we toss the out-of-date pieces to install the new ones. For complete safety, the rest should be uninterruptable (although the file has just been saved, so nothing would really be lost)")
@@ -2459,6 +2442,7 @@
(\TEDIT.PUT.CHARLOOKS
[LAMBDA (FORMATSTREAM BYTELEN PC EDITSTENTATIVE LOOKSHARRAY)
(* ; "Edited 9-Apr-2026 23:24 by rmk")
(* ; "Edited 1-Aug-2025 14:51 by rmk")
(* ; "Edited 14-May-2024 10:24 by rmk")
(* ; "Edited 13-Jan-2024 16:35 by rmk")
@@ -2471,7 +2455,7 @@
(* ;; "Put a description of PC's charlooks into FORMATSTREAM. The looks apply to bytes OLDBYTE# thru CURBYTE#-1")
(\DTEST PC 'PIECE)
(\TEDIT.PUT.CHARLOOKS1 FORMATSTREAM BYTELEN (GETHASH (PCHARALOOKS PC)
(\TEDIT.PUT.CHARLOOKS1 FORMATSTREAM BYTELEN (GETHASH (PCHARLOOKS PC)
LOOKSHARRAY)
(AND EDITSTENTATIVE PC (PNEW PC))
(EQ FATFILE2.PTYPE (PTYPE PC])
@@ -2496,7 +2480,8 @@
(\WOUT FORMATSTREAM CHARLOOKSINDEX])
(\TEDIT.PUT.OBJECT
[LAMBDA (PIECE CHARSTREAM FORMATSTREAM CURFILEBYTE#) (* ; "Edited 14-May-2024 12:09 by rmk")
[LAMBDA (PIECE CHARSTREAM FORMATSTREAM CURTEXTBYTE#) (* ; "Edited 18-Apr-2026 14:52 by rmk")
(* ; "Edited 14-May-2024 12:09 by rmk")
(* ; "Edited 24-Jan-2024 23:35 by rmk")
(* ; "Edited 13-Jan-2024 12:20 by rmk")
(* ; "Edited 19-Dec-2023 10:14 by rmk")
@@ -2519,7 +2504,7 @@
(APPLY* (IMAGEOBJPROP OBJECT 'PUTFN)
OBJECT CHARSTREAM)
(SETQ BYTELEN (IDIFFERENCE (GETEOFPTR CHARSTREAM)
CURFILEBYTE#))
CURTEXTBYTE#))
(SETFILEPTR FORMATSTREAM ORIGFILEPTR) (* ;
 "Now go back and fill in the length of the text description of the object.")
(\DWOUT FORMATSTREAM BYTELEN)
@@ -2721,29 +2706,29 @@
(RPAQ? *TEDIT-FILE-READTABLE* (COPYREADTABLE \ORIGREADTABLE))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (5423 35682 (TEDIT.GET 5433 . 11843) (TEDIT.FORMATTEDFILEP 11845 . 13161) (
TEDIT.FILEDATE 13163 . 14472) (TEDIT.INCLUDE 14474 . 22503) (TEDIT.RAW.INCLUDE 22505 . 23313) (
TEDIT.PUT 23315 . 31671) (TEDIT.PUT.STREAM 31673 . 35680)) (35683 56957 (\TEDIT.GET.FOREIGN.FILE 35693
. 39118) (\TEDIT.GET.UNFORMATTED.FILE 39120 . 43426) (\TEDIT.GET.FORMATTED.FILE 43428 . 47071) (
\TEDIT.FORMATTEDSTREAMP 47073 . 50204) (\ARBIN 50206 . 50926) (\ATMIN 50928 . 51465) (\DWIN 51467 .
51846) (\STRINGIN 51848 . 52556) (\TEDIT.GET.TRAILER 52558 . 55426) (\TEDIT.CACHEFILE 55428 . 56955))
(57123 73161 (\TEDIT.GET.PIECES3 57133 . 68096) (\TEDIT.GET.PROPS3 68098 . 71320) (
\TEDIT.MAKE.STRINGPIECE 71322 . 73159)) (73162 86588 (\TEDIT.GET.UNFORMATTED.FILE.MCCS 73172 . 79405)
(\TEDIT.INTERPRET.MCCS.SHIFTS 79407 . 85652) (\TEDIT.CONVERT.XCCSTOMCCS 85654 . 86586)) (86610 92855 (
\TEDIT.GET.UNFORMATTED.FILE.UTF8 86620 . 92853)) (92878 104220 (\TEDIT.GET.CHARLOOKS.LIST 92888 .
93619) (\TEDIT.GET.SINGLE.CHARLOOKS 93621 . 100693) (\TEDIT.GET.CHARLOOKS 100695 . 102251) (
\TEDIT.GET.PARALOOKS.INDEX 102253 . 102797) (\TEDIT.GET.CHARLOOKS.INDEX 102799 . 104218)) (104221
111878 (\TEDIT.GET.PARALOOKS.LIST 104231 . 104853) (\TEDIT.GET.SINGLE.PARALOOKS 104855 . 111876)) (
111879 115712 (\TEDIT.GET.OBJECT 111889 . 115710)) (115777 150880 (\TEDIT.PUT.PCTB 115787 . 125844) (
\TEDIT.PUT.PCTB.PIECEDATA 125846 . 129044) (\TEDIT.PUT.TRAILER 129046 . 130374) (
\TEDIT.PUT.PCTB.MERGEABLE 130376 . 134149) (\TEDIT.PUT.UTF8.SPLITPIECES 134151 . 138853) (
\TEDIT.PUT.MCCS.SPLITPIECES 138855 . 140433) (\TEDIT.PUT.PCTB.NEXTNEW 140435 . 145041) (
\TEDIT.INSERT.NEWPIECES 145043 . 148478) (\TEDIT.PUTRESET 148480 . 148722) (\ARBOUT 148724 . 149448) (
\ATMOUT 149450 . 150055) (\DWOUT 150057 . 150336) (\STRINGOUT 150338 . 150878)) (150881 163615 (
\TEDIT.PUT.CHARLOOKS.LIST 150891 . 152563) (\TEDIT.PUT.SINGLE.CHARLOOKS 152565 . 158845) (
\TEDIT.PUT.CHARLOOKS 158847 . 160186) (\TEDIT.PUT.CHARLOOKS1 160188 . 161239) (\TEDIT.PUT.OBJECT
161241 . 163613)) (163616 171255 (\TEDIT.PUT.PARALOOKS.LIST 163626 . 164528) (
\TEDIT.PUT.SINGLE.PARALOOKS 164530 . 170114) (\TEDIT.PUT.PARALOOKS 170116 . 171253)) (171350 174755 (
TEDITFROMLISPSOURCE 171360 . 174004) (SHELLSCRIPTP 174006 . 174235) (TEDITFROMSHELLSCRIPT 174237 .
174753)))))
(FILEMAP (NIL (5384 35643 (TEDIT.GET 5394 . 11804) (TEDIT.FORMATTEDFILEP 11806 . 13122) (
TEDIT.FILEDATE 13124 . 14433) (TEDIT.INCLUDE 14435 . 22464) (TEDIT.RAW.INCLUDE 22466 . 23274) (
TEDIT.PUT 23276 . 31632) (TEDIT.PUT.STREAM 31634 . 35641)) (35644 56951 (\TEDIT.GET.FOREIGN.FILE 35654
. 39079) (\TEDIT.GET.UNFORMATTED.FILE 39081 . 43420) (\TEDIT.GET.FORMATTED.FILE 43422 . 47065) (
\TEDIT.FORMATTEDSTREAMP 47067 . 50198) (\ARBIN 50200 . 50920) (\ATMIN 50922 . 51459) (\DWIN 51461 .
51840) (\STRINGIN 51842 . 52550) (\TEDIT.GET.TRAILER 52552 . 55420) (\TEDIT.CACHEFILE 55422 . 56949))
(57117 73044 (\TEDIT.GET.PIECES3 57127 . 68176) (\TEDIT.GET.PROPS3 68178 . 71400) (
\TEDIT.MAKE.STRINGPIECE 71402 . 73042)) (73045 85841 (\TEDIT.GET.UNFORMATTED.FILE.MCCS 73055 . 78706)
(\TEDIT.INTERPRET.MCCS.SHIFTS 78708 . 84304) (\TEDIT.CONVERT.XCCSTOMCCS 84306 . 85238) (
\TEDIT.RUN.TO.STRINGPIECE 85240 . 85839)) (85863 92124 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 85873 . 92122
)) (92147 103665 (\TEDIT.GET.CHARLOOKS.LIST 92157 . 92888) (\TEDIT.GET.SINGLE.CHARLOOKS 92890 . 99962)
(\TEDIT.GET.CHARLOOKS 99964 . 101520) (\TEDIT.GET.PARALOOKS.INDEX 101522 . 102066) (
\TEDIT.GET.CHARLOOKS.INDEX 102068 . 103663)) (103666 111323 (\TEDIT.GET.PARALOOKS.LIST 103676 . 104298
) (\TEDIT.GET.SINGLE.PARALOOKS 104300 . 111321)) (111324 115266 (\TEDIT.GET.OBJECT 111334 . 115264)) (
115331 150489 (\TEDIT.PUT.PCTB 115341 . 125667) (\TEDIT.PUT.PCTB.PIECEDATA 125669 . 128826) (
\TEDIT.PUT.TRAILER 128828 . 130156) (\TEDIT.PUT.PCTB.MERGEABLE 130158 . 134019) (
\TEDIT.PUT.UTF8.SPLITPIECES 134021 . 138597) (\TEDIT.PUT.MCCS.SPLITPIECES 138599 . 140177) (
\TEDIT.PUT.PCTB.NEXTNEW 140179 . 144920) (\TEDIT.INSERT.NEWPIECES 144922 . 148087) (\TEDIT.PUTRESET
148089 . 148331) (\ARBOUT 148333 . 149057) (\ATMOUT 149059 . 149664) (\DWOUT 149666 . 149945) (
\STRINGOUT 149947 . 150487)) (150490 163441 (\TEDIT.PUT.CHARLOOKS.LIST 150500 . 152172) (
\TEDIT.PUT.SINGLE.CHARLOOKS 152174 . 158454) (\TEDIT.PUT.CHARLOOKS 158456 . 159903) (
\TEDIT.PUT.CHARLOOKS1 159905 . 160956) (\TEDIT.PUT.OBJECT 160958 . 163439)) (163442 171081 (
\TEDIT.PUT.PARALOOKS.LIST 163452 . 164354) (\TEDIT.PUT.SINGLE.PARALOOKS 164356 . 169940) (
\TEDIT.PUT.PARALOOKS 169942 . 171079)) (171176 174581 (TEDITFROMLISPSOURCE 171186 . 173830) (
SHELLSCRIPTP 173832 . 174061) (TEDITFROMSHELLSCRIPT 174063 . 174579)))))
STOP

Binary file not shown.

View File

@@ -0,0 +1,183 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Dec-2024 16:53:27" {WMEDLEY}<library>TEDIT>TEDIT-FIXFILES.;14 9776
:EDIT-BY rmk
:CHANGES-TO (FNS CR-LF-FONTFIX)
(VARS TEDIT-FIXFILESCOMS)
(ADVICE ELT)
:PREVIOUS-DATE "12-Dec-2024 21:50:29" {WMEDLEY}<library>TEDIT>TEDIT-FIXFILES.;10)
(PRETTYCOMPRINT TEDIT-FIXFILESCOMS)
(RPAQQ TEDIT-FIXFILESCOMS (
(* ;; "Hacks that may help in fixing broken Tedit files")
(FILES TEDIT-DEBUG)
(FNS CRLFSWAP CHANGEPLEN)
(FNS CR-LF-FONTFIX)
(P (MOVD 'CR-LF-FONTFIX '\TEDIT.GET.SINGLE.CHARLOOKS))
(ADVISE ELT)))
(* ;; "Hacks that may help in fixing broken Tedit files")
(FILESLOAD TEDIT-DEBUG)
(DEFINEQ
(CRLFSWAP
[LAMBDA (INFILE OUTFILE) (* ; "Edited 12-Dec-2024 08:25 by rmk")
(* ; "Edited 9-Dec-2024 13:33 by rmk")
(CL:WITH-OPEN-FILE (INSTREAM INFILE :DIRECTION :INPUT)
(CL:UNLESS OUTFILE
(SETQ OUTFILE (PACKFILENAME 'VERSION NIL 'NAME (CONCAT (FILENAMEFIELD INSTREAM
'NAME)
"-SWAPPED")
'BODY INSTREAM)))
(CL:WITH-OPEN-FILE (OUTSTREAM OUTFILE :DIRECTION :OUTPUT)
(for I B from 1 to (GETEOFPTR INSTREAM)
do (BOUT OUTSTREAM (SELCHARQ (SETQ B (BIN INSTREAM))
(LF (CHARCODE CR))
(CR (CHARCODE LF))
B)))
(FULLNAME OUTSTREAM])
(CHANGEPLEN
[LAMBDA (PC DELTA ARG) (* ; "Edited 11-Dec-2024 15:18 by rmk")
(* ;; "Change the length of piece PC by DELTA (negative = shorter).")
(LET [(PC (SP PC 1 NIL (GTO ARG]
(CL:WHEN (EQ 'Y (ASKUSER NIL NIL (CONCAT "Confirm changing PLEN by " DELTA " from "
(PLEN PC)
" to "
(IPLUS (PLEN PC)
DELTA)
" ? ")))
(FSETPC PC PLEN (IPLUS (PLEN PC)
DELTA))
(SP PC 1 NIL (GTO ARG)))])
)
(DEFINEQ
(CR-LF-FONTFIX
[LAMBDA (FILE TEXTOBJ) (* ; "Edited 14-Dec-2024 14:31 by rmk")
(* ; "Edited 12-Dec-2024 21:50 by rmk")
(SI::%%WITH-CHANGED-CALLS
((|TEXTPROP in INTERLISP::\TEDIT.GET.SINGLE.CHARLOOKS| . TEXTPROP))
(* ; "Edited 12-Dec-2024 20:51 by rmk")
(* ; "Edited 11-Dec-2024 17:11 by rmk")
(* ; "Edited 9-Dec-2024 20:11 by rmk")
(* ; "Edited 13-Aug-2024 08:49 by rmk")
(* ; "Edited 31-Jul-2024 00:04 by rmk")
(* ; "Edited 7-Apr-2024 17:21 by rmk")
(* ; "Edited 16-Jan-2024 22:46 by rmk")
(* ; "Edited 21-Dec-2023 23:54 by rmk")
(* ; "Edited 19-Dec-2023 10:13 by rmk")
(* ; "Edited 25-Nov-2023 23:21 by rmk")
(* ; "Edited 24-Aug-2023 15:05 by rmk")
(* ; "Edited 20-Feb-2022 12:42 by larry")
(* ; "Edited 30-May-91 20:25 by jds")
(* ;; "Read one CHARLOOKS from FILE. This gets and then sets the file pointer, based on the stored length. But that won't work if the file is not random access. Maybe that's not necessary?")
(* ;; "TEXTOBJ only for printing in the local promptwindow, if necessary.")
(PROG* ((LOOKS (create CHARLOOKS))
(FILEPOS (GETFILEPTR FILE))
(LOOKSLEN (\WIN FILE))
FONT NAME FACE SIZE SUPER PROPS STYLESTR)
(SETQ NAME (\ARBIN FILE)) (* ; "The font name")
(SETQ SIZE (\WIN FILE)) (* ; "Size of the type, in points")
(SETQ SUPER (\SMALLPIN FILE)) (* ;
 "Superscripting distance, could be negative")
(FSETCLOOKS LOOKS CLSTYLE (OR (\ARBIN FILE)
0))
(FSETCLOOKS LOOKS CLUSERINFO (\ARBIN FILE))
(SETQ PROPS (\WIN FILE))
(with CHARLOOKS LOOKS [SETQ CLSELBEFORE (NOT (ZEROP (LOGAND 8192 PROPS]
[SETQ CLUNBREAKABLE (NOT (ZEROP (LOGAND 4096 PROPS]
[SETQ CLLEADER (NOT (ZEROP (LOGAND 2048 PROPS]
[SETQ CLINVERTED (NOT (ZEROP (LOGAND 1024 PROPS]
[SETQ CLBOLD (NOT (ZEROP (LOGAND 512 PROPS]
[SETQ CLITAL (NOT (ZEROP (LOGAND 256 PROPS]
[SETQ CLULINE (NOT (ZEROP (LOGAND 128 PROPS]
[SETQ CLOLINE (NOT (ZEROP (LOGAND 64 PROPS]
[SETQ CLSTRIKE (NOT (ZEROP (LOGAND 32 PROPS]
[SETQ CLSMALLCAP (NOT (ZEROP (LOGAND 16 PROPS]
[SETQ CLPROTECTED (NOT (ZEROP (LOGAND 8 PROPS]
[SETQ CLINVISIBLE (NOT (ZEROP (LOGAND 4 PROPS]
[SETQ CLSELAFTER (NOT (ZEROP (LOGAND 2 PROPS]
[SETQ CLCANCOPY (NOT (ZEROP (LOGAND 1 PROPS]
(SETQ CLSIZE SIZE)
(SETQ CLOFFSET SUPER))
(SETQ FACE (PACK* (CL:IF (FGETCLOOKS LOOKS CLBOLD)
'B
'M)
(CL:IF (FGETCLOOKS LOOKS CLITAL)
'I
'R)
'R))
(if (LISTP NAME)
then (* ;
 "This was a font class. Restore it.")
(SETQ FONT (FONTCLASS (pop NAME)
NAME))
elseif (OR (NOT NAME)
(ZEROP SIZE))
then
(* ;; "This was a test in the original, seems bogus")
elseif (SETQ FONT (FONTCREATE NAME SIZE FACE NIL NIL T))
elseif [AND (EQ SIZE 13)
(SETQ FONT (FONTCREATE NAME 10 FACE NIL NIL T))
(SELECTQ (STREAMPROP FILE 'COERCEFONT)
(YES T)
(NO NIL)
(SELECTQ [U-CASE (MKATOM (CL:IF TEXTOBJ
(TEDIT.GETINPUT TEXTOBJ
"Change font size 13 to 10 ? ")
(ASKUSER NIL NIL
"Change font size 13 to 10 ? "))]
((Y YES)
(STREAMPROP FILE 'COERCEFONT 'YES)
T)
(PROGN (STREAMPROP FILE 'COERCEFONT 'NO)
NIL]
then
(* ;; "A hack to deal with files that have CR-LF corruption")
(SETQ SIZE 10)
(FSETCLOOKS LOOKS CLSIZE 10)
else (SETQ FONT (FONTCREATE NAME SIZE FACE)))
(FSETCLOOKS LOOKS CLNAME (if (type? FONTCLASS FONT)
then
(* ;;
 "Put the display family in the CLNAME spot. Better than NIL.")
(CL:WHEN [SETQ NAME (FONTCOPY FONT
'(DEVICE DISPLAY NOERROR T]
(FONTPROP NAME 'FAMILY))
else NAME))
(FSETCLOOKS LOOKS CLFONT FONT)
(SETFILEPTR FILE (IPLUS FILEPOS LOOKSLEN))
(RETURN LOOKS])
)
(MOVD 'CR-LF-FONTFIX '\TEDIT.GET.SINGLE.CHARLOOKS)
[XCL:REINSTALL-ADVICE 'ELT :BEFORE '((:LAST (CL:WHEN (AND (EQ N 13)
(ILESSP (ARRAYSIZE A)
13))
(SETQ N 10]
(READVISE ELT)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (912 2760 (CRLFSWAP 922 . 1990) (CHANGEPLEN 1992 . 2758)) (2761 9403 (CR-LF-FONTFIX 2771
. 9401)))))
STOP

Binary file not shown.

View File

@@ -1,14 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 1-Aug-2025 14:58:56" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-HISTORY.;252 59126
(FILECREATED "19-Feb-2026 12:39:37" {WMEDLEY}<library>tedit>TEDIT-HISTORY.;253 59143
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.UNDO.CHARLOOKS)
:CHANGES-TO (FNS \TEDIT.UNDO1)
:PREVIOUS-DATE "28-Jul-2025 23:47:41"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-HISTORY.;251)
:PREVIOUS-DATE " 1-Aug-2025 14:58:56" {WMEDLEY}<library>tedit>TEDIT-HISTORY.;252)
(PRETTYCOMPRINT TEDIT-HISTORYCOMS)
@@ -407,7 +405,8 @@
(\TEDIT.SHOWSEL SEL T TSTREAM])
(\TEDIT.UNDO1
[LAMBDA (TSTREAM EVENT) (* ; "Edited 6-Apr-2025 14:42 by rmk")
[LAMBDA (TSTREAM EVENT) (* ; "Edited 19-Feb-2026 12:39 by rmk")
(* ; "Edited 6-Apr-2025 14:42 by rmk")
(* ; "Edited 1-Apr-2025 21:22 by rmk")
(* ; "Edited 28-Mar-2025 14:22 by rmk")
(* ; "Edited 16-Mar-2025 18:46 by rmk")
@@ -457,7 +456,7 @@
(COND
(UNDOFN
(* ;; "<EFBFBD>TEDIT.HISTORY.TYPELST is an ALST of form (type redofn undofn)")
(* ;; "TEDIT.HISTORY.TYPELST is an ALST of form (type redofn undofn)")
(APPLY* UNDOFN TSTREAM EVENT (GETTH EVENT THLEN)
(GETTH EVENT THCH#)
@@ -920,15 +919,15 @@
(\TEDIT.THELP 'Redo-composite])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (5022 6043 (\TEDIT.HISTORYEVENT.DEFPRINT 5032 . 6041)) (7133 18387 (\TEDIT.HISTORYADD
7143 . 12405) (\TEDIT.HISTORYADD.COMPOSITE 12407 . 13439) (\TEDIT.CUMULATE.EVENTS 13441 . 15035) (
\TEDIT.COMPOSITE.EVENT 15037 . 15773) (\TEDIT.HISTORY.PROP 15775 . 17138) (\TEDIT.HISTORY.EVENT 17140
. 18211) (\TEDIT.POPEVENT 18213 . 18385)) (18440 37427 (TEDIT.UNDO 18450 . 23326) (\TEDIT.UNDO1 23328
. 27666) (TEDIT.REDO 27668 . 34581) (\TEDIT.UNDO.UNDO 34583 . 37425)) (37428 56129 (
\TEDIT.UNDO.INSERT 37438 . 38563) (\TEDIT.UNDO.DELETE 38565 . 39577) (\TEDIT.UNDO.MOVE 39579 . 41232)
(\TEDIT.UNDO.REPLACE 41234 . 42744) (\TEDIT.UNDO.CHARLOOKS 42746 . 48209) (\TEDIT.UNDO.PARALOOKS 48211
. 52040) (\TEDIT.UNDO.PAGELOOKS 52042 . 52600) (\TEDIT.UNDO.COMPOSITE 52602 . 54202) (
\TEDIT.UNDO.REPLACECODE 54204 . 54538) (\TEDIT.UNDO.WRAP 54540 . 55469) (\TEDIT.UNDO.SEL 55471 . 56127
)) (56130 59103 (\TEDIT.REDO.INSERT 56140 . 57102) (\TEDIT.REDO.REPLACE 57104 . 58710) (
\TEDIT.REDO.COMPOSITE 58712 . 59101)))))
(FILEMAP (NIL (4931 5952 (\TEDIT.HISTORYEVENT.DEFPRINT 4941 . 5950)) (7042 18296 (\TEDIT.HISTORYADD
7052 . 12314) (\TEDIT.HISTORYADD.COMPOSITE 12316 . 13348) (\TEDIT.CUMULATE.EVENTS 13350 . 14944) (
\TEDIT.COMPOSITE.EVENT 14946 . 15682) (\TEDIT.HISTORY.PROP 15684 . 17047) (\TEDIT.HISTORY.EVENT 17049
. 18120) (\TEDIT.POPEVENT 18122 . 18294)) (18349 37444 (TEDIT.UNDO 18359 . 23235) (\TEDIT.UNDO1 23237
. 27683) (TEDIT.REDO 27685 . 34598) (\TEDIT.UNDO.UNDO 34600 . 37442)) (37445 56146 (
\TEDIT.UNDO.INSERT 37455 . 38580) (\TEDIT.UNDO.DELETE 38582 . 39594) (\TEDIT.UNDO.MOVE 39596 . 41249)
(\TEDIT.UNDO.REPLACE 41251 . 42761) (\TEDIT.UNDO.CHARLOOKS 42763 . 48226) (\TEDIT.UNDO.PARALOOKS 48228
. 52057) (\TEDIT.UNDO.PAGELOOKS 52059 . 52617) (\TEDIT.UNDO.COMPOSITE 52619 . 54219) (
\TEDIT.UNDO.REPLACECODE 54221 . 54555) (\TEDIT.UNDO.WRAP 54557 . 55486) (\TEDIT.UNDO.SEL 55488 . 56144
)) (56147 59120 (\TEDIT.REDO.INSERT 56157 . 57119) (\TEDIT.REDO.REPLACE 57121 . 58727) (
\TEDIT.REDO.COMPOSITE 58729 . 59118)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "16-Feb-2026 00:36:00" {WMEDLEY}<library>TEDIT>TEDIT-LOOKS.;467 155443
(FILECREATED "10-Apr-2026 09:34:11" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;469 155253
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.MCCS.TRANSLATE)
:PREVIOUS-DATE "10-Feb-2026 11:07:12" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;465)
:PREVIOUS-DATE " 9-Apr-2026 17:25:54" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;468)
(PRETTYCOMPRINT TEDIT-LOOKSCOMS)
@@ -924,7 +924,8 @@
(DEFINEQ
(\TEDIT.MCCS.TRANSLATE
[LAMBDA (TSTREAM) (* ; "Edited 16-Feb-2026 00:35 by rmk")
[LAMBDA (TSTREAM) (* ; "Edited 10-Apr-2026 09:34 by rmk")
(* ; "Edited 16-Feb-2026 00:35 by rmk")
(* ; "Edited 6-Oct-2025 20:50 by rmk")
(* ; "Edited 5-Oct-2025 10:57 by rmk")
(* ; "Edited 25-Sep-2025 21:30 by rmk")
@@ -972,14 +973,9 @@
THINSTRING.PTYPE))
(FSETPC PC PCONTENTS STRING)
(FSETPC PC PFPOS NIL)
(FSETPC PC PBINABLE (NOT FAT))
(FSETPC PC PBYTESPERCHAR (CL:IF FAT
2
1))
(FSETPC PC PBYTELEN (CL:IF FAT
(UNFOLD (PLEN PC)
2)
(PLEN PC)))
(CL:UNLESS (EQ 'MCCS (fetch (FONTDESCRIPTOR FONTCHARENCODING) of CLFONT))
(* ;;
@@ -2472,18 +2468,18 @@
\TEDIT.UNPARSE.CHARLOOKS.LIST 40951 . 44445) (\TEDIT.MODIFYLOOKS 44447 . 46607) (TEDIT.NEW.FONT 46609
. 47056) (\TEDIT.CARETLOOKS.VERIFY 47058 . 47895) (\TEDIT.CARETPIECE 47897 . 48202) (
\TEDIT.GET.INSERT.CHARLOOKS 48204 . 51251) (\TEDIT.GET.TERMSA.WIDTHS 51253 . 51669) (
\TEDIT.PARSE.CHARLOOKS.LIST 51671 . 52871)) (52874 64879 (\TEDIT.MCCS.TRANSLATE 52884 . 58615) (
\TEDIT.CONVERT.TO.FORMATTED 58617 . 64877)) (65751 73088 (\TEDIT.UNIQUIFY.CHARLOOKS 65761 . 67421) (
\TEDIT.UNIQUIFY.PARALOOKS 67423 . 68690) (\TEDIT.UNIQUIFY.ALL 68692 . 70780) (
\TEDIT.FLUSH.UNUSED.LOOKS 70782 . 73086)) (73121 85079 (TEDIT.LOOKS 73131 . 75520) (TEDIT.GET.LOOKS
75522 . 77857) (TEDIT.SUBLOOKS 77859 . 82239) (TEDIT.FINDLOOKS 82241 . 85077)) (85080 114853 (
\TEDIT.CHANGE.CHARLOOKS 85090 . 93991) (\TEDIT.CHANGE.CHARLOOKS.NEW 93993 . 97808) (
\TEDIT.CHARLOOKS.CHANGE.FONT 97810 . 106117) (\TEDIT.FONT.NEXTSIZE 106119 . 107740) (\TEDIT.LOOKS
107742 . 111071) (\TEDIT.FONTCOPY 111073 . 112574) (\TEDIT.COERCE.FONTCLASS 112576 . 113727) (
\TEDIT.FONTCLASS.TO.FONT 113729 . 114851)) (114896 146785 (\TEDIT.EQFMTSPEC 114906 . 118121) (
TEDIT.GET.PARALOOKS 118123 . 122170) (\TEDIT.PARSE.PARALOOKS.LIST 122172 . 130205) (TEDIT.PARALOOKS
130207 . 131247) (\TEDIT.CHANGE.PARALOOKS 131249 . 138458) (\TEDIT.CHANGE.PARALOOKS.NEW 138460 .
142443) (TEDIT.COPY.PARALOOKS 142445 . 145119) (\TEDIT.PARABOUNDS 145121 . 146783)) (146845 154561 (
TEDIT.SUBPARALOOKS 146855 . 150957) (SAMEPARALOOKS 150959 . 154559)) (154562 155249 (
\TEDIT.MARK.REVISION 154572 . 155247)))))
\TEDIT.PARSE.CHARLOOKS.LIST 51671 . 52871)) (52874 64689 (\TEDIT.MCCS.TRANSLATE 52884 . 58425) (
\TEDIT.CONVERT.TO.FORMATTED 58427 . 64687)) (65561 72898 (\TEDIT.UNIQUIFY.CHARLOOKS 65571 . 67231) (
\TEDIT.UNIQUIFY.PARALOOKS 67233 . 68500) (\TEDIT.UNIQUIFY.ALL 68502 . 70590) (
\TEDIT.FLUSH.UNUSED.LOOKS 70592 . 72896)) (72931 84889 (TEDIT.LOOKS 72941 . 75330) (TEDIT.GET.LOOKS
75332 . 77667) (TEDIT.SUBLOOKS 77669 . 82049) (TEDIT.FINDLOOKS 82051 . 84887)) (84890 114663 (
\TEDIT.CHANGE.CHARLOOKS 84900 . 93801) (\TEDIT.CHANGE.CHARLOOKS.NEW 93803 . 97618) (
\TEDIT.CHARLOOKS.CHANGE.FONT 97620 . 105927) (\TEDIT.FONT.NEXTSIZE 105929 . 107550) (\TEDIT.LOOKS
107552 . 110881) (\TEDIT.FONTCOPY 110883 . 112384) (\TEDIT.COERCE.FONTCLASS 112386 . 113537) (
\TEDIT.FONTCLASS.TO.FONT 113539 . 114661)) (114706 146595 (\TEDIT.EQFMTSPEC 114716 . 117931) (
TEDIT.GET.PARALOOKS 117933 . 121980) (\TEDIT.PARSE.PARALOOKS.LIST 121982 . 130015) (TEDIT.PARALOOKS
130017 . 131057) (\TEDIT.CHANGE.PARALOOKS 131059 . 138268) (\TEDIT.CHANGE.PARALOOKS.NEW 138270 .
142253) (TEDIT.COPY.PARALOOKS 142255 . 144929) (\TEDIT.PARABOUNDS 144931 . 146593)) (146655 154371 (
TEDIT.SUBPARALOOKS 146665 . 150767) (SAMEPARALOOKS 150769 . 154369)) (154372 155059 (
\TEDIT.MARK.REVISION 154382 . 155057)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED " 9-Feb-2026 09:10:43" {WMEDLEY}<library>tedit>TEDIT-MENU.;510 183027
(FILECREATED "29-Apr-2026 15:35:33" {MEDLEY}<library>TEDIT>TEDIT-MENU.;512 183159
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.PAGEMENU.CREATE)
:CHANGES-TO (FNS \TEDIT.SHOW.PAGELOOKS)
:PREVIOUS-DATE "27-Jan-2026 10:42:09" {WMEDLEY}<library>tedit>TEDIT-MENU.;508)
:PREVIOUS-DATE " 9-Feb-2026 09:10:43" {MEDLEY}<library>TEDIT>TEDIT-MENU.;510)
(PRETTYCOMPRINT TEDIT-MENUCOMS)
@@ -2525,7 +2525,8 @@
'PAGE))])
(\TEDIT.SHOW.PAGELOOKS
[LAMBDA (OBJ MENUSEL MENUWINDOW MENUSTREAM) (* ; "Edited 20-Apr-2025 23:41 by rmk")
[LAMBDA (OBJ MENUSEL MENUWINDOW MENUSTREAM) (* ; "Edited 29-Apr-2026 15:35 by rmk")
(* ; "Edited 20-Apr-2025 23:41 by rmk")
(* ; "Edited 22-Oct-2024 11:04 by rmk")
(* ; "Edited 20-Oct-2024 17:32 by rmk")
(* ; "Edited 29-Sep-2024 15:10 by rmk")
@@ -2538,19 +2539,18 @@
(* ;; "OBJ is unused, presumably to have a standard interface with other menu functions that update image objects.")
(PROG [(PAGEID (MB.GET 'PAGEID MENUSTREAM 'STATE]
(CL:WHEN (MEMB PAGEID '(NIL OFF))
(TEDIT.PROMPTPRINT MENUWINDOW "Please specify the page-type" T T)
(RETURN))
(RESETLST
(TEDIT.DEFER.UPDATES MENUSTREAM)
(\TEDIT.PAGEMENU.FILLIN MENUSTREAM (\TEDIT.PAGEREGION.UNPARSE (\TEDIT.MAINSTREAM
(LET [(PAGEID (MB.GET 'PAGEID MENUSTREAM 'STATE]
(if (MEMB PAGEID '(NIL OFF))
then (TEDIT.PROMPTPRINT MENUWINDOW "Please specify the page-type" T T)
else (RESETLST
(TEDIT.DEFER.UPDATES MENUSTREAM)
(\TEDIT.PAGEMENU.FILLIN MENUSTREAM (\TEDIT.PAGEREGION.UNPARSE (\TEDIT.MAINSTREAM
MENUSTREAM)
PAGEID)))
(FSETSEL MENUSEL ONFLG T)
(\TEDIT.UPDATE.SEL MENUSEL 1 0 'LEFT)
(\TEDIT.FIXSEL MENUSEL MENUSTREAM)
(TEDIT.BACKTOMAIN MENUSTREAM])
PAGEID)))
(FSETSEL MENUSEL ONFLG T)
(\TEDIT.UPDATE.SEL MENUSEL 1 0 'LEFT)
(\TEDIT.FIXSEL MENUSEL MENUSTREAM))
(TEDIT.BACKTOMAIN MENUSTREAM])
(\TEDIT.PAGEMENU.FILLIN
[LAMBDA (MENUSTREAM PAGELOOKS) (* ; "Edited 29-Sep-2024 12:53 by rmk")
@@ -2899,32 +2899,32 @@
(ADDTOVAR LAMA )
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4936 16574 (TEDIT.ADD.MENUITEM 4946 . 7063) (TEDIT.DEFAULT.MENUFN 7065 . 13786) (
TEDIT.REMOVE.MENUITEM 13788 . 14785) (\TEDIT.CREATEMENU 14787 . 15352) (\TEDIT.MENU.WHENHELDFN 15354
. 16259) (\TEDIT.MENU.WHENSELECTEDFN 16261 . 16572)) (17388 65423 (DRAWMARGINSCALE 17398 . 20857) (
MARGINBAR 20859 . 27984) (MARGINBAR.CREATE 27986 . 32184) (MB.MARGINBAR.BUTTONEVENTINFN 32186 . 39988)
(MB.MARGINBAR.SELFN.TABS 39990 . 45230) (MB.MARGINBAR.SELFN.TABS.KIND 45232 . 46167) (
MARGINBAR.GETSTATEFN 46169 . 50156) (MARGINBAR.SETSTATEFN 50158 . 50368) (MARGINBAR.NEUTRALIZE 50370
. 51045) (MARGINBAR.LOOKS 51047 . 54153) (MB.MARGINBAR.SIZEFN 54155 . 54941) (MB.MARGINBAR.DISPLAYFN
54943 . 58004) (MDESCALE 58006 . 58546) (MSCALE 58548 . 58878) (MB.MARGINBAR.SHOWTAB 58880 . 61203) (
MB.MARGINBAR.TABTRACK 61205 . 62590) (MARGINBAR.INIT 62592 . 63985) (\TEDIT.PARALOOKS.TO.MARBAR 63987
. 65421)) (66248 73530 (TEDIT.MENUSTREAM 66258 . 67258) (TEDITMENUP 67260 . 68229) (\TEDIT.MENU.START
68231 . 72578) (\TEDIT.MENU.OPEN? 72580 . 72954) (\TEDIT.MENU.BUTTONEVENTFN 72956 . 73528)) (73849
81900 (\TEDIT.MENU.CREATE 73859 . 75799) (\TEDIT.MENU.PARSE 75801 . 79490) (\TEDIT.MENU.NEUTRALIZE
79492 . 81563) (\TEDITMENU.RECORD.UNFORMATTED 81565 . 81898)) (81966 101368 (
\TEDIT.EXPANDEDMENU.CREATE 81976 . 87654) (\TEDIT.EXPANDEDMENU.START 87656 . 89280) (
\TEDIT.EXPANDEDMENU.FN 89282 . 92537) (\TEDIT.EXPANDEDMENU.ACTIONFN 92539 . 101366)) (101430 120855 (
\TEDIT.PARAMENU.CREATE 101440 . 110171) (\TEDIT.PARAMENU.START 110173 . 111427) (
\TEDIT.APPLY.PARALOOKS 111429 . 112481) (\TEDIT.SHOW.PARALOOKS 112483 . 115200) (
\TEDIT.PARAMENU.FILLIN 115202 . 119951) (\TEDIT.PARAMENU.RESHAPEFN 119953 . 120853)) (121049 147891 (
\TEDIT.CHARMENU.CREATE 121059 . 123663) (\TEDIT.CHARMENU.START 123665 . 124955) (\TEDIT.CHARMENU.SPEC
124957 . 129640) (\TEDIT.CHARMENU.PARSE 129642 . 132810) (\TEDIT.CHARMENU.FILLIN 132812 . 137442) (
\TEDIT.SHOW.CHARLOOKS 137444 . 140989) (\TEDIT.APPLY.CHARLOOKS 140991 . 142152) (
\TEDIT.OFFSETTYPE.STATEFN 142154 . 144117) (\TEDIT.OTHER.STATECHANGEFN 144119 . 145764) (
\TEDIT.OTHER.SELECTFN 145766 . 147889)) (147953 177067 (\TEDIT.PAGEMENU.CREATE 147963 . 156484) (
\TEDIT.PAGEMENU.START 156486 . 156837) (\TEDIT.SHOW.PAGELOOKS 156839 . 158725) (\TEDIT.PAGEMENU.FILLIN
158727 . 160277) (\TEDIT.PAGEREGION.UNPARSE 160279 . 169678) (\TEDIT.APPLY.PAGELOOKS 169680 . 171607)
(\TEDIT.CHANGE.PAGELOOKS 171609 . 176223) (\TEDIT.PAGEMENU.CHARLOOKS.STATEFN 176225 . 177065)) (
177068 182871 (\TEDIT.PAGEMENU.CREATE.HEADINGS 177078 . 179890) (\TEDIT.PAGEMENU.HEADINGS.SETSTATEFN
179892 . 181317) (\TEDIT.PAGEMENU.HEADINGS.STATEFN 181319 . 182869)))))
(FILEMAP (NIL (4933 16571 (TEDIT.ADD.MENUITEM 4943 . 7060) (TEDIT.DEFAULT.MENUFN 7062 . 13783) (
TEDIT.REMOVE.MENUITEM 13785 . 14782) (\TEDIT.CREATEMENU 14784 . 15349) (\TEDIT.MENU.WHENHELDFN 15351
. 16256) (\TEDIT.MENU.WHENSELECTEDFN 16258 . 16569)) (17385 65420 (DRAWMARGINSCALE 17395 . 20854) (
MARGINBAR 20856 . 27981) (MARGINBAR.CREATE 27983 . 32181) (MB.MARGINBAR.BUTTONEVENTINFN 32183 . 39985)
(MB.MARGINBAR.SELFN.TABS 39987 . 45227) (MB.MARGINBAR.SELFN.TABS.KIND 45229 . 46164) (
MARGINBAR.GETSTATEFN 46166 . 50153) (MARGINBAR.SETSTATEFN 50155 . 50365) (MARGINBAR.NEUTRALIZE 50367
. 51042) (MARGINBAR.LOOKS 51044 . 54150) (MB.MARGINBAR.SIZEFN 54152 . 54938) (MB.MARGINBAR.DISPLAYFN
54940 . 58001) (MDESCALE 58003 . 58543) (MSCALE 58545 . 58875) (MB.MARGINBAR.SHOWTAB 58877 . 61200) (
MB.MARGINBAR.TABTRACK 61202 . 62587) (MARGINBAR.INIT 62589 . 63982) (\TEDIT.PARALOOKS.TO.MARBAR 63984
. 65418)) (66245 73527 (TEDIT.MENUSTREAM 66255 . 67255) (TEDITMENUP 67257 . 68226) (\TEDIT.MENU.START
68228 . 72575) (\TEDIT.MENU.OPEN? 72577 . 72951) (\TEDIT.MENU.BUTTONEVENTFN 72953 . 73525)) (73846
81897 (\TEDIT.MENU.CREATE 73856 . 75796) (\TEDIT.MENU.PARSE 75798 . 79487) (\TEDIT.MENU.NEUTRALIZE
79489 . 81560) (\TEDITMENU.RECORD.UNFORMATTED 81562 . 81895)) (81963 101365 (
\TEDIT.EXPANDEDMENU.CREATE 81973 . 87651) (\TEDIT.EXPANDEDMENU.START 87653 . 89277) (
\TEDIT.EXPANDEDMENU.FN 89279 . 92534) (\TEDIT.EXPANDEDMENU.ACTIONFN 92536 . 101363)) (101427 120852 (
\TEDIT.PARAMENU.CREATE 101437 . 110168) (\TEDIT.PARAMENU.START 110170 . 111424) (
\TEDIT.APPLY.PARALOOKS 111426 . 112478) (\TEDIT.SHOW.PARALOOKS 112480 . 115197) (
\TEDIT.PARAMENU.FILLIN 115199 . 119948) (\TEDIT.PARAMENU.RESHAPEFN 119950 . 120850)) (121046 147888 (
\TEDIT.CHARMENU.CREATE 121056 . 123660) (\TEDIT.CHARMENU.START 123662 . 124952) (\TEDIT.CHARMENU.SPEC
124954 . 129637) (\TEDIT.CHARMENU.PARSE 129639 . 132807) (\TEDIT.CHARMENU.FILLIN 132809 . 137439) (
\TEDIT.SHOW.CHARLOOKS 137441 . 140986) (\TEDIT.APPLY.CHARLOOKS 140988 . 142149) (
\TEDIT.OFFSETTYPE.STATEFN 142151 . 144114) (\TEDIT.OTHER.STATECHANGEFN 144116 . 145761) (
\TEDIT.OTHER.SELECTFN 145763 . 147886)) (147950 177199 (\TEDIT.PAGEMENU.CREATE 147960 . 156481) (
\TEDIT.PAGEMENU.START 156483 . 156834) (\TEDIT.SHOW.PAGELOOKS 156836 . 158857) (\TEDIT.PAGEMENU.FILLIN
158859 . 160409) (\TEDIT.PAGEREGION.UNPARSE 160411 . 169810) (\TEDIT.APPLY.PAGELOOKS 169812 . 171739)
(\TEDIT.CHANGE.PAGELOOKS 171741 . 176355) (\TEDIT.PAGEMENU.CHARLOOKS.STATEFN 176357 . 177197)) (
177200 183003 (\TEDIT.PAGEMENU.CREATE.HEADINGS 177210 . 180022) (\TEDIT.PAGEMENU.HEADINGS.SETSTATEFN
180024 . 181449) (\TEDIT.PAGEMENU.HEADINGS.STATEFN 181451 . 183001)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED " 8-Sep-2025 22:10:10" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;40 73888
(FILECREATED "10-Apr-2026 09:29:21" {WMEDLEY}<library>tedit>TEDIT-OLDFILE.;45 73241
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.GET.PCTB2)
:CHANGES-TO (FNS \TEDIT.GET.PCTB2 \TEDIT.GET.PCTB1 \TEDIT.GET.PCTB0)
:PREVIOUS-DATE " 7-Sep-2025 11:07:57" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;39)
:PREVIOUS-DATE "10-Apr-2026 00:16:32" {WMEDLEY}<library>tedit>TEDIT-OLDFILE.;41)
(PRETTYCOMPRINT TEDIT-OLDFILECOMS)
@@ -46,23 +46,18 @@
(DEFINEQ
(\TEDIT.GET.PCTB2
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 8-Sep-2025 22:08 by rmk")
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 10-Apr-2026 09:28 by rmk")
(* ; "Edited 8-Sep-2025 22:08 by rmk")
(* ; "Edited 1-Aug-2025 14:55 by rmk")
(* ; "Edited 28-Jul-2025 23:39 by rmk")
(* ; "Edited 8-Feb-2025 20:21 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 29-Apr-2024 10:28 by rmk")
(* ; "Edited 20-Mar-2024 11:00 by rmk")
(* ; "Edited 17-Mar-2024 12:41 by rmk")
(* ; "Edited 15-Mar-2024 14:37 by rmk")
(* ; "Edited 21-Jan-2024 10:21 by rmk")
(* ; "Edited 13-Jan-2024 12:09 by rmk")
(* ; "Edited 19-Dec-2023 10:13 by rmk")
(* ; "Edited 25-Nov-2023 23:18 by rmk")
(* ; "Edited 8-Nov-2023 13:48 by rmk")
(* ; "Edited 4-Oct-2022 16:58 by rmk")
(* ; "Edited 8-Sep-2022 23:06 by rmk")
(* ; "Edited 5-Sep-2022 21:33 by rmk")
(* ; "Edited 4-May-93 16:27 by jds")
(* ;; "READ OBSOLETE FORMATS OF TEDIT FILE")
@@ -80,8 +75,7 @@
(SETQ PIECEINFOCH# (\DWIN TEXT))
(SETFILEPTR TEXT PIECEINFOCH#)
(bind PC TYPECODE PCLEN OLDPC (DEFAULTCHARLOOKS _ (FGETTOBJ TEXTOBJ DEFAULTCHARLOOKS))
(OLDPARALOOKS _ (FGETTOBJ TEXTOBJ DEFAULTPARALOOKS))
(SBINABLE _ (fetch (STREAM BINABLE) of TEXT)) for I from 1 to PCCOUNT
(OLDPARALOOKS _ (FGETTOBJ TEXTOBJ DEFAULTPARALOOKS)) for I from 1 to PCCOUNT
do (SETQ PC NIL) (* ;
 "This loop may not really read a piece, so we have to distinguish that case.")
(SETQ PCLEN (\DWIN TEXT))
@@ -131,37 +125,35 @@
(create PIECE
PCONTENTS _ TEXT
PFPOS _ CURFILECH#
PBYTELEN _ PCLEN
PLEN _ PCLEN
PPARALOOKS _ OLDPARALOOKS
PTYPE _ THINFILE.PTYPE
PBYTESPERCHAR _ 1)) (* ; "Build the new piece")
(\TEDIT.GET.CHARLOOKS2 PC TEXT LOOKSHASH)
(CL:WHEN (EQ THINFILE.PTYPE (PTYPE PC))
(FSETPC PC PBINABLE SBINABLE))(* ;
(* ;
 "Read the character looks for this guy.")
(COND
[OLDPC (* ;
(if OLDPC
then (* ;
 "If there's a prior piece, hook this one on the chain.")
(COND
([AND (EQ FATFILE2.PTYPE (PTYPE PC))
(NOT (EQ FATFILE2.PTYPE (PTYPE OLDPC]
(* ;
(if [AND (EQ FATFILE2.PTYPE (PTYPE PC))
(NOT (EQ FATFILE2.PTYPE (PTYPE OLDPC]
then (* ;
 "Switching from not-fat to fat. Add 3 bytes for the 255-255-0")
(add (PFPOS PC)
3)
(add CURFILECH# -3))
([AND (EQ FATFILE2.PTYPE (PTYPE OLDPC))
(NOT (EQ FATFILE2.PTYPE (PTYPE PC]
(* ;
(add (PFPOS PC)
3)
(add CURFILECH# -3)
elseif [AND (EQ FATFILE2.PTYPE (PTYPE OLDPC))
(NOT (EQ FATFILE2.PTYPE (PTYPE PC]
then (* ;
 "Switching from fat to not-fat. Add 3 bytes for the 255-0")
(add (PFPOS PC)
2]
((EQ FATFILE2.PTYPE (PTYPE PC)) (* ;
(add (PFPOS PC)
2))
elseif (EQ FATFILE2.PTYPE (PTYPE PC))
then (* ;
 "Switching from not-fat to fat. Add 3 bytes for the 255-255-0")
(add (PFPOS PC)
3)
(add CURFILECH# -3))) (* ;
(add (PFPOS PC)
3)
(add CURFILECH# -3)) (* ;
 "And note the passing of characters.")
(add CURFILECH# PCLEN))
(\PieceDescriptorOBJECT (* ;
@@ -580,7 +572,8 @@
(DEFINEQ
(\TEDIT.GET.PCTB1
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 1-Aug-2025 14:56 by rmk")
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 10-Apr-2026 09:25 by rmk")
(* ; "Edited 1-Aug-2025 14:56 by rmk")
(* ; "Edited 28-Jul-2025 23:39 by rmk")
(* ; "Edited 8-Feb-2025 20:22 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
@@ -612,8 +605,7 @@
(SETQ PIECEINFOCH# (\DWIN TEXT))
(SETFILEPTR TEXT PIECEINFOCH#)
(bind PC TYPECODE PCLEN OLDPC (DEFAULTCHARLOOKS _ (FGETTOBJ TEXTOBJ DEFAULTCHARLOOKS))
(OLDPARALOOKS _ (FGETTOBJ TEXTOBJ DEFAULTPARALOOKS))
(SBINABLE _ (fetch (STREAM BINABLE) of TEXT)) for I from 1 to PCCOUNT
(OLDPARALOOKS _ (FGETTOBJ TEXTOBJ DEFAULTPARALOOKS)) for I from 1 to PCCOUNT
do (SETQ PC NIL) (* ;
 "This loop may not really read a piece, so we have to distinguish that case.")
(SETQ PCLEN (\DWIN TEXT))
@@ -640,13 +632,11 @@
(create PIECE
PCONTENTS _ TEXT
PFPOS _ CURFILECH#
PBYTELEN _ PCLEN
PLEN _ PCLEN
PPARALOOKS _ OLDPARALOOKS
PTYPE _ THINFILE.PTYPE
PBYTESPERCHAR _ 1))
(\TEDIT.GET.CHARLOOKS1 PC TEXT)
(FSETPC PC PBINABLE SBINABLE) (* ;
(\TEDIT.GET.CHARLOOKS1 PC TEXT) (* ;
 "Read the character looks for this guy.")
(add CURFILECH# (PLEN PC)) (* ;
 "And note the passing of characters.")
@@ -891,7 +881,8 @@
(DEFINEQ
(\TEDIT.GET.PCTB0
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 8-Feb-2025 20:22 by rmk")
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 10-Apr-2026 09:22 by rmk")
(* ; "Edited 8-Feb-2025 20:22 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 29-Apr-2024 10:27 by rmk")
(* ; "Edited 17-Mar-2024 12:41 by rmk")
@@ -908,7 +899,7 @@
(LET ((TEXTOBJ (TEXTOBJ! (fetch (TEXTSTREAM TEXTOBJ) of TSTREAM)))
OLDPC TYPECODE PCLEN PIECEINFOCH# TSTREAM USERFILEFORMAT USERTEMP (CURFILECH# (OR START 0))
(SBINABLE (fetch (STREAM BINABLE) of TEXT)))
)
(SETFILEPTR TEXT (IDIFFERENCE (OR END (GETEOFPTR TEXT))
8))
(SETQ PIECEINFOCH# (\DWIN TEXT))
@@ -924,8 +915,7 @@
PREVPIECE _ OLDPC
PPARALOOKS _ DEFAULTPARALOOKS
PTYPE _ THINFILE.PTYPE
PBYTESPERCHAR _ 1
PBINABLE _ SBINABLE))
PBYTESPERCHAR _ 1))
[COND
(OLDPC (FSETPC OLDPC NEXTPIECE PC)
(FSETPC PC PPARALOOKS (PPARALOOKS OLDPC]
@@ -1100,14 +1090,14 @@
PARALOOKS])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1649 37832 (\TEDIT.GET.PCTB2 1659 . 12415) (\TEDIT.GET.PARALOOKS2 12417 . 13006) (
\TEDIT.GET.CHARLOOKS2 13008 . 14565) (\TEDIT.PARSE.PAGEFRAMES2 14567 . 17306) (
\TEDIT.GET.CHARLOOKS.LIST2 17308 . 17815) (\TEDIT.GET.SINGLE.CHARLOOKS2 17817 . 21176) (
\TEDIT.PUT.SINGLE.PARALOOKS2 21178 . 25428) (\TEDIT.PUT.SINGLE.CHARLOOKS2 25430 . 29140) (
\TEDIT.GET.PARALOOKS.LIST2 29142 . 29649) (\TEDIT.GET.SINGLE.PARALOOKS2 29651 . 34550) (
\TEDIT.PUT.CHARLOOKS.LIST2 34552 . 36631) (\TEDIT.PUT.PARALOOKS.LIST2 36633 . 37830)) (37909 59190 (
\TEDIT.GET.PCTB1 37919 . 44936) (\TEDIT.GET.PAGEFRAMES1 44938 . 45390) (\TEDIT.PARSE.PAGEFRAMES1 45392
. 48045) (\TEDIT.GET.CHARLOOKS1 48047 . 52413) (\TEDIT.GET.PARALOOKS1 52415 . 57326) (
TEDIT.GET.OBJECT1 57328 . 59188)) (59250 73865 (\TEDIT.GET.PCTB0 59260 . 63341) (\TEDIT.GET.CHARLOOKS0
63343 . 67783) (\TEDIT.GET.OBJECT0 67785 . 69860) (\TEDIT.GET.PARALOOKS0 69862 . 73863)))))
(FILEMAP (NIL (1683 37235 (\TEDIT.GET.PCTB2 1693 . 11818) (\TEDIT.GET.PARALOOKS2 11820 . 12409) (
\TEDIT.GET.CHARLOOKS2 12411 . 13968) (\TEDIT.PARSE.PAGEFRAMES2 13970 . 16709) (
\TEDIT.GET.CHARLOOKS.LIST2 16711 . 17218) (\TEDIT.GET.SINGLE.CHARLOOKS2 17220 . 20579) (
\TEDIT.PUT.SINGLE.PARALOOKS2 20581 . 24831) (\TEDIT.PUT.SINGLE.CHARLOOKS2 24833 . 28543) (
\TEDIT.GET.PARALOOKS.LIST2 28545 . 29052) (\TEDIT.GET.SINGLE.PARALOOKS2 29054 . 33953) (
\TEDIT.PUT.CHARLOOKS.LIST2 33955 . 36034) (\TEDIT.PUT.PARALOOKS.LIST2 36036 . 37233)) (37312 58528 (
\TEDIT.GET.PCTB1 37322 . 44274) (\TEDIT.GET.PAGEFRAMES1 44276 . 44728) (\TEDIT.PARSE.PAGEFRAMES1 44730
. 47383) (\TEDIT.GET.CHARLOOKS1 47385 . 51751) (\TEDIT.GET.PARALOOKS1 51753 . 56664) (
TEDIT.GET.OBJECT1 56666 . 58526)) (58588 73218 (\TEDIT.GET.PCTB0 58598 . 62694) (\TEDIT.GET.CHARLOOKS0
62696 . 67136) (\TEDIT.GET.OBJECT0 67138 . 69213) (\TEDIT.GET.PARALOOKS0 69215 . 73216)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "27-Jan-2026 10:30:27" {WMEDLEY}<library>TEDIT>TEDIT-PAGE.;243 130855
(FILECREATED " 6-May-2026 22:17:41" {MEDLEY}<library>TEDIT>TEDIT-PAGE.;244 130772
:EDIT-BY rmk
:CHANGES-TO (FNS TEDIT.SINGLE.PAGEFORMAT)
(VARS TEDIT-PAGECOMS)
:CHANGES-TO (FNS TEDIT.TO.IMAGEFILE)
:PREVIOUS-DATE "17-Jan-2026 12:00:08" {WMEDLEY}<library>TEDIT>TEDIT-PAGE.;241)
:PREVIOUS-DATE "27-Jan-2026 10:30:27" {MEDLEY}<library>TEDIT>TEDIT-PAGE.;243)
(PRETTYCOMPRINT TEDIT-PAGECOMS)
@@ -636,7 +635,8 @@
(DEFINEQ
(TEDIT.TO.IMAGEFILE
[LAMBDA (TSTREAM IMAGEFILE IMAGETYPE OPTIONS) (* ; "Edited 17-Jan-2026 11:59 by rmk")
[LAMBDA (TSTREAM IMAGEFILE IMAGETYPE OPTIONS) (* ; "Edited 6-May-2026 22:16 by rmk")
(* ; "Edited 17-Jan-2026 11:59 by rmk")
(* ; "Edited 15-Jan-2026 08:46 by rmk")
(* ; "Edited 25-Dec-2025 15:07 by rmk")
(* ; "Edited 20-Dec-2025 23:03 by rmk")
@@ -650,11 +650,9 @@
(RESETLST
(SETQ TSTREAM (if (TEXTSTREAM TSTREAM T)
elseif (TEDIT.FORMATTEDFILEP TSTREAM)
then [RESETSAVE (SETQ TSTREAM (OPENTEXTSTREAM TSTREAM))
`(PROGN (CLOSEF? OLDVALUE]
TSTREAM
else (ERROR TSTREAM "is not a Tedit stream")))
else [RESETSAVE (SETQ TSTREAM (OPENTEXTSTREAM TSTREAM))
`(PROGN (CLOSEF? OLDVALUE]
TSTREAM))
(CL:WHEN (GETTEXTPROP TSTREAM 'MENUFLG)
(SETQ TSTREAM (TEXTSTREAM (\TEDIT.MAINW TSTREAM))))
(CL:UNLESS IMAGEFILE
@@ -2062,18 +2060,18 @@
(RETURN (DREMOVE NIL $$VAL])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (12248 15860 (\TEDIT.PARSE.PAGEFRAMES 12258 . 14037) (\TEDIT.PUT.PAGEFRAMES 14039 .
14863) (\TEDIT.UNPARSE.PAGEFRAMES 14865 . 15858)) (15923 38091 (TEDIT.SINGLE.PAGEFORMAT 15933 . 27077)
(TEDIT.COMPOUND.PAGEFORMAT 27079 . 28058) (TEDIT.PAGEFORMAT 28060 . 35349) (TEDIT.GET.PAGEFORMAT
35351 . 38089)) (38378 44858 (TEDIT.TO.IMAGEFILE 38388 . 44856)) (45006 98258 (\TEDIT.FORMATBOX 45016
. 58440) (\TEDIT.FORMATHEADING 58442 . 63088) (\TEDIT.FORMATPAGE 63090 . 72279) (\TEDIT.FORMATTEXTBOX
72281 . 88794) (\TEDIT.FORMATFOLIO 88796 . 94113) (\TEDIT.FORMAT.FOUNDBOX? 94115 . 96154) (
\TEDIT.SKIP.SPECIALCOND 96156 . 98256)) (98338 103393 (\TEDIT.HARDCOPY.PAGEHEADINGS 98348 . 103391)) (
103502 111553 (\TEDIT.HARDCOPY-COLUMN-END 103512 . 111551)) (111598 116539 (SCALEPAGEUNITS 111608 .
112749) (SCALEPAGEXUNITS 112751 . 113521) (SCALEPAGEYUNITS 113523 . 114294) (\TEDIT.PAPERHEIGHT 114296
. 115231) (\TEDIT.PAPERWIDTH 115233 . 116537)) (116955 120523 (ROMANNUMERALS 116965 . 120521)) (
120562 127828 (TEDIT.PAGENO.CREATE 120572 . 120948) (\TEDIT.PAGENO.OBJINIT 120950 . 122233) (
\TEDIT.PAGENO.BUTTONEVENTINFN 122235 . 123301) (\TEDIT.PAGENO.IMAGEBOXFN 123303 . 125453) (
\TEDIT.PAGENO.DISPLAYFN 125455 . 127105) (\TEDIT.PAGENO.GETFN 127107 . 127499) (\TEDIT.PAGENO.PUTFN
127501 . 127826)) (127893 130832 (\TEDIT.FORMAT.FOOTNOTE 127903 . 130830)))))
(FILEMAP (NIL (12201 15813 (\TEDIT.PARSE.PAGEFRAMES 12211 . 13990) (\TEDIT.PUT.PAGEFRAMES 13992 .
14816) (\TEDIT.UNPARSE.PAGEFRAMES 14818 . 15811)) (15876 38044 (TEDIT.SINGLE.PAGEFORMAT 15886 . 27030)
(TEDIT.COMPOUND.PAGEFORMAT 27032 . 28011) (TEDIT.PAGEFORMAT 28013 . 35302) (TEDIT.GET.PAGEFORMAT
35304 . 38042)) (38331 44775 (TEDIT.TO.IMAGEFILE 38341 . 44773)) (44923 98175 (\TEDIT.FORMATBOX 44933
. 58357) (\TEDIT.FORMATHEADING 58359 . 63005) (\TEDIT.FORMATPAGE 63007 . 72196) (\TEDIT.FORMATTEXTBOX
72198 . 88711) (\TEDIT.FORMATFOLIO 88713 . 94030) (\TEDIT.FORMAT.FOUNDBOX? 94032 . 96071) (
\TEDIT.SKIP.SPECIALCOND 96073 . 98173)) (98255 103310 (\TEDIT.HARDCOPY.PAGEHEADINGS 98265 . 103308)) (
103419 111470 (\TEDIT.HARDCOPY-COLUMN-END 103429 . 111468)) (111515 116456 (SCALEPAGEUNITS 111525 .
112666) (SCALEPAGEXUNITS 112668 . 113438) (SCALEPAGEYUNITS 113440 . 114211) (\TEDIT.PAPERHEIGHT 114213
. 115148) (\TEDIT.PAPERWIDTH 115150 . 116454)) (116872 120440 (ROMANNUMERALS 116882 . 120438)) (
120479 127745 (TEDIT.PAGENO.CREATE 120489 . 120865) (\TEDIT.PAGENO.OBJINIT 120867 . 122150) (
\TEDIT.PAGENO.BUTTONEVENTINFN 122152 . 123218) (\TEDIT.PAGENO.IMAGEBOXFN 123220 . 125370) (
\TEDIT.PAGENO.DISPLAYFN 125372 . 127022) (\TEDIT.PAGENO.GETFN 127024 . 127416) (\TEDIT.PAGENO.PUTFN
127418 . 127743)) (127810 130749 (\TEDIT.FORMAT.FOOTNOTE 127820 . 130747)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "14-Feb-2026 13:22:06" {WMEDLEY}<library>TEDIT>TEDIT-PCTREE.;251 68691
(FILECREATED " 9-Apr-2026 17:25:38" {WMEDLEY}<library>TEDIT>TEDIT-PCTREE.;252 68540
:EDIT-BY rmk
:CHANGES-TO (VARS TEDIT-PCTREECOMS)
(FNS \TEDIT.UNLINKPIECE \TEDIT.DELETEPIECES)
:CHANGES-TO (FNS \TEDIT.SPLITPIECE)
:PREVIOUS-DATE "28-Jul-2025 23:25:19" {WMEDLEY}<library>TEDIT>TEDIT-PCTREE.;249)
:PREVIOUS-DATE "14-Feb-2026 13:22:06" {WMEDLEY}<library>TEDIT>TEDIT-PCTREE.;251)
(PRETTYCOMPRINT TEDIT-PCTREECOMS)
@@ -658,7 +657,8 @@
NEW])
(\TEDIT.SPLITPIECE
[LAMBDA (PC CHOFFSET TEXTOBJ) (* ; "Edited 21-Oct-2024 00:33 by rmk")
[LAMBDA (PC CHOFFSET TEXTOBJ) (* ; "Edited 9-Apr-2026 13:22 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 17-Mar-2024 00:11 by rmk")
(* ; "Edited 28-Dec-2023 22:17 by rmk")
(* ; "Edited 7-Dec-2023 21:07 by rmk")
@@ -680,9 +680,8 @@
(\INSURE.VACANT.BTREESLOT (FGETPC PC PTREENODE)
TEXTOBJ) (* ;
 "Do this before reducing PC, so tree remains valid")
(LET [(PREVPC (create PIECE using PC PPARALAST _ NIL PLEN _ CHOFFSET PBYTELEN _
(ITIMES (PBYTESPERCHAR PC)
CHOFFSET] (* ;
(LET ((PREVPC (create PIECE using PC PPARALAST _ NIL PLEN _ CHOFFSET)))
(* ;
 "There can be no para break before the split, as things now work.")
(* ;; "PREVPC is the prefix before the split point of length CHOFFSET, PC will be the suffix, a shortened version of a piece that was already in the piece tree.")
@@ -713,8 +712,6 @@
(change (PLEN PC)
(IDIFFERENCE DATUM CHOFFSET))
(FSETPC PC PBYTELEN (ITIMES (PBYTESPERCHAR PC)
(PLEN PC)))
(freplace (BTSLOT DLEN) of (\FINDSLOT (FGETPC PC PTREENODE)
PC) with (PLEN PC))
@@ -1104,13 +1101,13 @@
(GLOBALVARS BTVALIDATETAGS)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (8731 56217 (\TEDIT.MAKEPCTB 8741 . 10634) (\TEDIT.UPDATEPCNODES 10636 . 12930) (
\TEDIT.FIRSTPIECE 12932 . 14339) (\TEDIT.DELETETREE 14341 . 17615) (\TEDIT.INSERTTREE 17617 . 20362) (
\TEDIT.LASTPIECE 20364 . 21171) (\TEDIT.PCTOCH 21173 . 23270) (\TEDIT.CHTOPC 23272 . 29449) (
\TEDIT.SET-TOTLEN 29451 . 30239) (\TEDIT.MAKE.VACANT.BTREESLOT 30241 . 36971) (\TEDIT.LINKNEWPIECE
36973 . 38562) (\TEDIT.SPLITPIECE 38564 . 43220) (\TEDIT.INSERTPIECE 43222 . 46494) (
\TEDIT.INSERTPIECES 46496 . 49588) (\TEDIT.DELETEPIECES 49590 . 54100) (\TEDIT.ALIGNEDPIECE 54102 .
56215)) (56245 68568 (\TEDIT.BTVALIDATE 56255 . 57796) (\TEDIT.BTVALIDATE.PRINT 57798 . 59163) (
\TEDIT.CHECK-BTREE 59165 . 61492) (\TEDIT.CHECK-BTREE1 61494 . 67125) (\TEDIT.BTFAIL 67127 . 67549) (
\TEDIT.MATCHPCS 67551 . 68566)))))
(FILEMAP (NIL (8668 56066 (\TEDIT.MAKEPCTB 8678 . 10571) (\TEDIT.UPDATEPCNODES 10573 . 12867) (
\TEDIT.FIRSTPIECE 12869 . 14276) (\TEDIT.DELETETREE 14278 . 17552) (\TEDIT.INSERTTREE 17554 . 20299) (
\TEDIT.LASTPIECE 20301 . 21108) (\TEDIT.PCTOCH 21110 . 23207) (\TEDIT.CHTOPC 23209 . 29386) (
\TEDIT.SET-TOTLEN 29388 . 30176) (\TEDIT.MAKE.VACANT.BTREESLOT 30178 . 36908) (\TEDIT.LINKNEWPIECE
36910 . 38499) (\TEDIT.SPLITPIECE 38501 . 43069) (\TEDIT.INSERTPIECE 43071 . 46343) (
\TEDIT.INSERTPIECES 46345 . 49437) (\TEDIT.DELETEPIECES 49439 . 53949) (\TEDIT.ALIGNEDPIECE 53951 .
56064)) (56094 68417 (\TEDIT.BTVALIDATE 56104 . 57645) (\TEDIT.BTVALIDATE.PRINT 57647 . 59012) (
\TEDIT.CHECK-BTREE 59014 . 61341) (\TEDIT.CHECK-BTREE1 61343 . 66974) (\TEDIT.BTFAIL 66976 . 67398) (
\TEDIT.MATCHPCS 67400 . 68415)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED " 5-Feb-2026 00:39:54" {WMEDLEY}<library>TEDIT>TEDIT-SCREEN.;916 186880
(FILECREATED " 6-May-2026 22:52:37" {MEDLEY}<library>TEDIT>TEDIT-SCREEN.;918 186879
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.FORMATLINE)
:PREVIOUS-DATE "31-Dec-2025 23:10:18" {WMEDLEY}<library>TEDIT>TEDIT-SCREEN.;915)
:PREVIOUS-DATE " 5-Feb-2026 00:39:54" {MEDLEY}<library>TEDIT>TEDIT-SCREEN.;916)
(PRETTYCOMPRINT TEDIT-SCREENCOMS)
@@ -654,6 +654,7 @@
(\TEDIT.FORMATLINE
[LAMBDA (TSTREAM CH#1 LINE REGION IMAGESTREAM FORMATTINGSTATE)
(* ; "Edited 6-May-2026 22:52 by rmk")
(* ; "Edited 5-Feb-2026 00:38 by rmk")
(* ; "Edited 21-Nov-2025 16:36 by rmk")
(* ; "Edited 7-Aug-2025 12:49 by rmk")
@@ -1101,28 +1102,26 @@
(CL:WHEN (EQ CHARSLOT LASTCHARSLOT)
(* ;;
 "If too long, we let it roll over to the next line. Should we put something in the margin??")
(* ;; "If too long, we let it roll over to the next line. ")
(TEDIT.PROMPTPRINT TEXTOBJ "Line too long to format." T)
(RETURN)) finally
(GO $$OUT)) finally
(* ;;
(* ;;
 "Ran out of TEXTLEN (and paragraph). Back up and force a break. Are ASCENT/DESCENT correct?")
(CL:WHEN (AND (EQ PREVSP (PREVCHARSLOT CHARSLOT))
(NULL (CHAR PREVSP)))
(CL:WHEN (AND (EQ PREVSP (PREVCHARSLOT CHARSLOT))
(NULL (CHAR PREVSP)))
(* ;; "The line ended in a space that needs to be resolved. If we coded the end of a space-chain as (CHARCODE SPACE) instead of NIL, maybe this wouldn't be necessary.")
(FILLCHARSLOT PREVSP (CHARCODE SPACE)
(CHARW PREVSP)
CHARLOOKS)
(SETQ PREVSP NIL))
(SETQ CHARSLOT (PREVCHARSLOT CHARSLOT))
(add CHNO -1)
(SETQ DX 0) (* ; "TX is already correct")
(FORCEBREAK))
(FILLCHARSLOT PREVSP (CHARCODE SPACE)
(CHARW PREVSP)
CHARLOOKS)
(SETQ PREVSP NIL))
(SETQ CHARSLOT (PREVCHARSLOT CHARSLOT))
(add CHNO -1)
(SETQ DX 0) (* ; "TX is already correct")
(FORCEBREAK))
(* ;; "End of character loop. ")
@@ -2866,21 +2865,21 @@
(\TEDIT.LINE.TALLP LINE PHEIGHT))))])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (26200 28416 (\TEDIT.LINEDESCRIPTOR.DEFPRINT 26210 . 28414)) (35870 119724 (
\TEDIT.FORMATLINE 35880 . 71208) (\TEDIT.FORMATLINE.SETUP.PARA 71210 . 76404) (
\TEDIT.FORMATLINE.HORIZONTAL 76406 . 81223) (\TEDIT.FORMATLINE.VERTICAL 81225 . 83676) (
\TEDIT.FORMATLINE.JUSTIFY 83678 . 89699) (\TEDIT.FORMATLINE.TABS 89701 . 97729) (\TEDIT.SCALE.TABS
97731 . 98522) (\TEDIT.FORMATLINE.PURGE.SPACES 98524 . 99951) (\TEDIT.FORMATLINE.FLUSH.SOFTHYPHEN
99953 . 101030) (\TEDIT.FORMATLINE.EMPTY 101032 . 105852) (\TEDIT.FORMATLINE.UPDATELOOKS 105854 .
112035) (\TEDIT.FORMATLINE.LASTLEGAL 112037 . 115487) (\TEDIT.LINES.ABOVE 115489 . 119100) (
\TEDIT.CHNO.TO.YTOP 119102 . 119722)) (120001 140581 (\TEDIT.DISPLAYLINE 120011 . 132521) (
\TEDIT.DISPLAYLINE.TABS 132523 . 135327) (\TEDIT.LINECACHE 135329 . 136057) (\TEDIT.CREATE.LINECACHE
136059 . 136895) (\TEDIT.BLTCHAR 136897 . 139524) (\TEDIT.DIACRITIC.SHIFT 139526 . 140579)) (141196
186857 (\TEDIT.BACKFORMAT 141206 . 143760) (\TEDIT.PREVIOUS.LINEBREAK 143762 . 146565) (
\TEDIT.UPDATE.LINES 146567 . 152873) (\TEDIT.PANE.CREATELINES 152875 . 155165) (
\TEDIT.SUFFIXLINE.CREATE 155167 . 156782) (\TEDIT.LINES.BELOW 156784 . 161394) (\TEDIT.MEASURED.LINES
161396 . 163405) (\TEDIT.VALID.LASTCHNOS 163407 . 167183) (\TEDIT.VALID.NEXTCHNOS 167185 . 170659) (
\TEDIT.LASTVALIDLINE 170661 . 175332) (\TEDIT.NEXTVALIDLINE 175334 . 178304) (
\TEDIT.CLEARPANE.BELOW.LINE 178306 . 180412) (\TEDIT.INSERTLINE 180414 . 181800) (\TEDIT.LINE.BOTTOM
181802 . 185032) (\TEDIT.SHOW.AT.BOTTOMP 185034 . 186144) (\TEDIT.SHOW.AT.TOPP 186146 . 186855)))))
(FILEMAP (NIL (26198 28414 (\TEDIT.LINEDESCRIPTOR.DEFPRINT 26208 . 28412)) (35868 119723 (
\TEDIT.FORMATLINE 35878 . 71207) (\TEDIT.FORMATLINE.SETUP.PARA 71209 . 76403) (
\TEDIT.FORMATLINE.HORIZONTAL 76405 . 81222) (\TEDIT.FORMATLINE.VERTICAL 81224 . 83675) (
\TEDIT.FORMATLINE.JUSTIFY 83677 . 89698) (\TEDIT.FORMATLINE.TABS 89700 . 97728) (\TEDIT.SCALE.TABS
97730 . 98521) (\TEDIT.FORMATLINE.PURGE.SPACES 98523 . 99950) (\TEDIT.FORMATLINE.FLUSH.SOFTHYPHEN
99952 . 101029) (\TEDIT.FORMATLINE.EMPTY 101031 . 105851) (\TEDIT.FORMATLINE.UPDATELOOKS 105853 .
112034) (\TEDIT.FORMATLINE.LASTLEGAL 112036 . 115486) (\TEDIT.LINES.ABOVE 115488 . 119099) (
\TEDIT.CHNO.TO.YTOP 119101 . 119721)) (120000 140580 (\TEDIT.DISPLAYLINE 120010 . 132520) (
\TEDIT.DISPLAYLINE.TABS 132522 . 135326) (\TEDIT.LINECACHE 135328 . 136056) (\TEDIT.CREATE.LINECACHE
136058 . 136894) (\TEDIT.BLTCHAR 136896 . 139523) (\TEDIT.DIACRITIC.SHIFT 139525 . 140578)) (141195
186856 (\TEDIT.BACKFORMAT 141205 . 143759) (\TEDIT.PREVIOUS.LINEBREAK 143761 . 146564) (
\TEDIT.UPDATE.LINES 146566 . 152872) (\TEDIT.PANE.CREATELINES 152874 . 155164) (
\TEDIT.SUFFIXLINE.CREATE 155166 . 156781) (\TEDIT.LINES.BELOW 156783 . 161393) (\TEDIT.MEASURED.LINES
161395 . 163404) (\TEDIT.VALID.LASTCHNOS 163406 . 167182) (\TEDIT.VALID.NEXTCHNOS 167184 . 170658) (
\TEDIT.LASTVALIDLINE 170660 . 175331) (\TEDIT.NEXTVALIDLINE 175333 . 178303) (
\TEDIT.CLEARPANE.BELOW.LINE 178305 . 180411) (\TEDIT.INSERTLINE 180413 . 181799) (\TEDIT.LINE.BOTTOM
181801 . 185031) (\TEDIT.SHOW.AT.BOTTOMP 185033 . 186143) (\TEDIT.SHOW.AT.TOPP 186145 . 186854)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "16-Feb-2026 00:38:33" {WMEDLEY}<library>TEDIT>TEDIT-SELECTION.;738 162152
(FILECREATED "16-Apr-2026 09:27:41" {WMEDLEY}<library>TEDIT>TEDIT-SELECTION.;741 161623
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.SELPIECES.CHARTRANSFORM)
:CHANGES-TO (FNS \TEDIT.SELPIECES.FROM.STRING)
:PREVIOUS-DATE "14-Jan-2026 14:32:01" {WMEDLEY}<library>tedit>TEDIT-SELECTION.;736)
:PREVIOUS-DATE "10-Apr-2026 09:31:20" {WMEDLEY}<library>TEDIT>TEDIT-SELECTION.;740)
(PRETTYCOMPRINT TEDIT-SELECTIONCOMS)
@@ -2041,7 +2041,8 @@
SPLASTCHAR _ (ffetch (SELPIECES SPLASTCHAR) of SP2])
(\TEDIT.SELPIECES.CHARTRANSFORM
[LAMBDA (SELPIECES CHARFN OBJECTSTOO TSTREAM) (* ; "Edited 16-Feb-2026 00:38 by rmk")
[LAMBDA (SELPIECES CHARFN OBJECTSTOO TSTREAM) (* ; "Edited 10-Apr-2026 09:17 by rmk")
(* ; "Edited 16-Feb-2026 00:38 by rmk")
(* ; "Edited 24-Apr-2025 16:02 by rmk")
(* ; "Edited 20-Apr-2025 23:23 by rmk")
(* ; "Edited 16-Mar-2025 10:03 by rmk")
@@ -2063,7 +2064,7 @@
(STRING.PTYPES (for I CH (STR _ PCONTENTS) from 1 while (SETQ CH (NTHCHARCODE STR I))
do (RPLCHARCODE STR I (APPLY* CHARFN CH (add INDEX 1)
TEXTOBJ))))
(FILE.PTYPES [LET [(STR (ALLOCSTRING (PLEN PC]
(FILE.PTYPES (LET [(STR (ALLOCSTRING (PLEN PC]
(* ;; "This assumes that no file piece has a PLEN greater than \MaxArrayLen characters. We rely on the piece-table reader and writer to guarantee this. If not, ALLOCSTRING will cause an error.")
@@ -2074,13 +2075,9 @@
(if (fetch (STRINGP FATSTRINGP) of STR)
then (FSETPC PC PTYPE FATSTRING.PTYPE)
(FSETPC PC PBYTESPERCHAR 2)
(FSETPC PC PBINABLE NIL)
else (FSETPC PC PTYPE THINSTRING.PTYPE)
(FSETPC PC PBYTESPERCHAR 1)
(FSETPC PC PBINABLE T))
(FSETPC PC PCONTENTS STR)
(FSETPC PC PBYTELEN (ITIMES (PBYTESPERCHAR PC)
(PLEN PC])
(FSETPC PC PBYTESPERCHAR 1))
(FSETPC PC PCONTENTS STR)))
(OBJECT.PTYPE (add INDEX 1)
(CL:WHEN OBJECTSTOO
(FSETPC PC PCONTENTS (APPLY* CHARFN PCONTENTS INDEX))))
@@ -2088,7 +2085,8 @@
SELPIECES])
(\TEDIT.SELPIECES.FROM.STRING
[LAMBDA (STRING TEXTOBJ CHECKFOREOL CHARLOOKS PARALOOKS) (* ; "Edited 28-Jul-2025 23:50 by rmk")
[LAMBDA (STRING TEXTOBJ CHECKFOREOL CHARLOOKS PARALOOKS) (* ; "Edited 10-Apr-2026 09:18 by rmk")
(* ; "Edited 28-Jul-2025 23:50 by rmk")
(* ; "Edited 8-Feb-2025 20:14 by rmk")
(* ; "Edited 20-Mar-2024 10:57 by rmk")
(* ; "Edited 3-Mar-2024 13:00 by rmk")
@@ -2109,12 +2107,10 @@
(CL:WHEN (AND TEXTOBJ (FGETTOBJ TEXTOBJ FORMATTEDP))
(SETQ CHECKFOREOL T))
(LET (FIRSTPIECE EOLPOS (BYTESPERCHAR 1)
(PTYPE THINSTRING.PTYPE)
(PBINABLE T))
(PTYPE THINSTRING.PTYPE))
(SETQ STRING (CONCAT STRING))
(CL:WHEN (fetch (STRINGP FATSTRINGP) of STRING)
(SETQ PTYPE FATSTRING.PTYPE)
(SETQ PBINABLE NIL)
(SETQ BYTESPERCHAR 2))
(if (AND CHECKFOREOL (SETQ EOLPOS (STRPOS (CONSTANT (CHARACTER (CHARCODE EOL)))
STRING)))
@@ -2131,13 +2127,10 @@
PTYPE _ PTYPE
PCONTENTS _ STR
PLEN _ (NCHARS STR)
PBYTELEN _ (ITIMES (NCHARS STR)
BYTESPERCHAR)
PCHARLOOKS _ CHARLOOKS
PPARALOOKS _ PARALOOKS
PPARALAST _ T
PREVPIECE _ PC
PBINABLE _ PBINABLE))
PREVPIECE _ PC))
(CL:WHEN PREVPC (FSETPC PREVPC NEXTPIECE PC))
(SETQ PREVPC PC)
(SETQ EOLPOS (OR (STRPOS (CONSTANT (CHARACTER (CHARCODE EOL)))
@@ -2158,10 +2151,7 @@
PTYPE _ PTYPE
PCONTENTS _ STRING
PLEN _ (NCHARS STRING)
PBYTELEN _ (ITIMES (NCHARS STRING)
BYTESPERCHAR)
PBYTESPERCHAR _ BYTESPERCHAR
PBINABLE _ PBINABLE
PCHARLOOKS _ CHARLOOKS
PPARALOOKS _ PARALOOKS))
(create SELPIECES
@@ -2571,26 +2561,26 @@
(ADDTOVAR LAMA TEDIT.SELPROP)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (15888 17709 (\TEDIT.SELECTION.DEFPRINT 15898 . 17707)) (17746 19251 (
\TEDIT.SET.GLOBAL.SELECTIONS 17756 . 19249)) (19252 25473 (\TEDIT.SELECTED.PIECES 19262 . 20901) (
\TEDIT.FIND.PROTECTED.END 20903 . 22697) (\TEDIT.FIND.PROTECTED.START 22699 . 24682) (
\TEDIT.WORD.BOUND 24684 . 25471)) (25607 59714 (\TEDIT.EXTEND.SEL 25617 . 32857) (\TEDIT.SCAN.LINE
32859 . 44532) (\TEDIT.SCAN.LINE.WORD 44534 . 49527) (\TEDIT.XYTOSEL 49529 . 56867) (\TEDIT.REGIONTYPE
56869 . 57888) (\TEDIT.XYTOSEL.INLINEP 57890 . 58345) (\TEDIT.XYTOSEL.LINE 58347 . 59712)) (59715
73260 (\TEDIT.FIXSEL 59725 . 69102) (\TEDIT.CHTOLINEX 69104 . 73258)) (73261 77465 (
\TEDIT.RESET.EXTEND.PENDING.DELETE 73271 . 74549) (\TEDIT.SET.SEL.LOOKS 74551 . 77463)) (78402 99555 (
\TEDIT.SHOWSEL 78412 . 83388) (\TEDIT.NOSEL 83390 . 83691) (\TEDIT.SEL.OFF 83693 . 84104) (
\TEDIT.SEL.ON 84106 . 84522) (\TEDIT.SHOWSEL.HILIGHT 84524 . 89145) (\TEDIT.UPDATE.SEL 89147 . 93749)
(\TEDIT.CARETLINE 93751 . 94465) (\TEDIT.SEL.L1 94467 . 95150) (\TEDIT.SEL.LN 95152 . 95835) (
\TEDIT.SEL.DELETEDCHARS 95837 . 99553)) (99556 104438 (\TEDIT.COPYSEL 99566 . 102208) (
\TEDIT.SEL.CHANGED? 102210 . 104436)) (104469 118128 (\TEDIT.SELECT.OBJECT 104479 . 109432) (
\TEDIT.SHOWSEL.OBJECT 109434 . 111665) (\TEDIT.CLIP.OBJECT 111667 . 113671) (\TEDIT.OPERATE.OBJECT
113673 . 118126)) (118156 137982 (\TEDIT.SELPIECES 118166 . 122447) (\TEDIT.SELPIECES.COPY 122449 .
124938) (\TEDIT.SELPIECES.CONCAT 124940 . 126819) (\TEDIT.SELPIECES.CHARTRANSFORM 126821 . 130357) (
\TEDIT.SELPIECES.FROM.STRING 130359 . 135617) (\TEDIT.SELPIECES.TO.STRING 135619 . 137980)) (138035
161983 (TEDIT.XYTOCH 138045 . 140621) (TEDIT.SELPROP 140623 . 144900) (TEDIT.GETPOINT 144902 . 146822)
(TEDIT.GETSEL 146824 . 147700) (TEDIT.GETSEL.PARA 147702 . 148651) (TEDIT.SCANSEL 148653 . 149601) (
TEDIT.SET.SEL.LOOKS 149603 . 151088) (TEDIT.SETSEL 151090 . 156008) (TEDIT.SHOWSEL 156010 . 157874) (
TEDIT.SEL.AS.STRING 157876 . 160361) (TEDIT.SEL.AS.SEXPR 160363 . 161649) (TEDIT.SELECTALL 161651 .
161981)))))
(FILEMAP (NIL (15886 17707 (\TEDIT.SELECTION.DEFPRINT 15896 . 17705)) (17744 19249 (
\TEDIT.SET.GLOBAL.SELECTIONS 17754 . 19247)) (19250 25471 (\TEDIT.SELECTED.PIECES 19260 . 20899) (
\TEDIT.FIND.PROTECTED.END 20901 . 22695) (\TEDIT.FIND.PROTECTED.START 22697 . 24680) (
\TEDIT.WORD.BOUND 24682 . 25469)) (25605 59712 (\TEDIT.EXTEND.SEL 25615 . 32855) (\TEDIT.SCAN.LINE
32857 . 44530) (\TEDIT.SCAN.LINE.WORD 44532 . 49525) (\TEDIT.XYTOSEL 49527 . 56865) (\TEDIT.REGIONTYPE
56867 . 57886) (\TEDIT.XYTOSEL.INLINEP 57888 . 58343) (\TEDIT.XYTOSEL.LINE 58345 . 59710)) (59713
73258 (\TEDIT.FIXSEL 59723 . 69100) (\TEDIT.CHTOLINEX 69102 . 73256)) (73259 77463 (
\TEDIT.RESET.EXTEND.PENDING.DELETE 73269 . 74547) (\TEDIT.SET.SEL.LOOKS 74549 . 77461)) (78400 99553 (
\TEDIT.SHOWSEL 78410 . 83386) (\TEDIT.NOSEL 83388 . 83689) (\TEDIT.SEL.OFF 83691 . 84102) (
\TEDIT.SEL.ON 84104 . 84520) (\TEDIT.SHOWSEL.HILIGHT 84522 . 89143) (\TEDIT.UPDATE.SEL 89145 . 93747)
(\TEDIT.CARETLINE 93749 . 94463) (\TEDIT.SEL.L1 94465 . 95148) (\TEDIT.SEL.LN 95150 . 95833) (
\TEDIT.SEL.DELETEDCHARS 95835 . 99551)) (99554 104436 (\TEDIT.COPYSEL 99564 . 102206) (
\TEDIT.SEL.CHANGED? 102208 . 104434)) (104467 118126 (\TEDIT.SELECT.OBJECT 104477 . 109430) (
\TEDIT.SHOWSEL.OBJECT 109432 . 111663) (\TEDIT.CLIP.OBJECT 111665 . 113669) (\TEDIT.OPERATE.OBJECT
113671 . 118124)) (118154 137453 (\TEDIT.SELPIECES 118164 . 122445) (\TEDIT.SELPIECES.COPY 122447 .
124936) (\TEDIT.SELPIECES.CONCAT 124938 . 126817) (\TEDIT.SELPIECES.CHARTRANSFORM 126819 . 130189) (
\TEDIT.SELPIECES.FROM.STRING 130191 . 135088) (\TEDIT.SELPIECES.TO.STRING 135090 . 137451)) (137506
161454 (TEDIT.XYTOCH 137516 . 140092) (TEDIT.SELPROP 140094 . 144371) (TEDIT.GETPOINT 144373 . 146293)
(TEDIT.GETSEL 146295 . 147171) (TEDIT.GETSEL.PARA 147173 . 148122) (TEDIT.SCANSEL 148124 . 149072) (
TEDIT.SET.SEL.LOOKS 149074 . 150559) (TEDIT.SETSEL 150561 . 155479) (TEDIT.SHOWSEL 155481 . 157345) (
TEDIT.SEL.AS.STRING 157347 . 159832) (TEDIT.SEL.AS.SEXPR 159834 . 161120) (TEDIT.SELECTALL 161122 .
161452)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "16-Feb-2026 12:40:44" {WMEDLEY}<library>tedit>TEDIT-STREAM.;944 193110
(FILECREATED " 1-May-2026 08:15:56" {MEDLEY}<library>tedit>TEDIT-STREAM.;956 190971
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.STREAMINIT)
:CHANGES-TO (RECORDS PIECE)
:PREVIOUS-DATE "16-Feb-2026 09:39:00" {WMEDLEY}<library>tedit>TEDIT-STREAM.;943)
:PREVIOUS-DATE "26-Apr-2026 23:46:38" {MEDLEY}<library>tedit>TEDIT-STREAM.;955)
(PRETTYCOMPRINT TEDIT-STREAMCOMS)
@@ -14,8 +14,8 @@
(RPAQQ TEDIT-STREAMCOMS
[(DECLARE%: EVAL@COMPILE DONTCOPY
(EXPORT (RECORDS PIECE TEXTOBJ TEXTSTREAM)
(MACROS NEXTPIECE PREVPIECE PLEN PLAST PTYPE PCONTENTS PCHARLOOKS PCHARSET
PPARALOOKS PPARALAST PFPOS PBYTELEN PNEW PBINABLE PBYTESPERCHAR POBJ)
(MACROS NEXTPIECE PREVPIECE PLEN PLAST PTYPE PCONTENTS PCHARLOOKS PPARALOOKS
PPARALAST PFPOS PBYTELEN PNEW PBYTESPERCHAR POBJ)
(MACROS SETPC FSETPC GETPC FGETPC)
(MACROS THINPIECEP)
(MACROS VISIBLEPIECEP \NEXT.VISIBLE.PIECE \PREV.VISIBLE.PIECE)
@@ -94,8 +94,8 @@
PCONTENTS (* ; "The background source of data for this piece (stream, string, block, object, depending on the PTYPE).")
(PTYPE BITS 4) (* ;
 "How the characters are delivered: thinfile, fatstring, object, substream")
PBYTELEN (* ;
 "Length of this character piece in bytes. PBYTELEN = PLEN*PBYTESPERCHAR")
NIL (* ;
 "Was PBYTELEN: Length of this character piece in bytes. PBYTELEN = PLEN*PBYTESPERCHAR")
PFPOS (* ;
 "The FILEPTR of the start of the piece in the file")
PLEN (* ;
@@ -111,20 +111,18 @@
(PNEW FLAG) (* ;
 "This text is new here; used by the tentative edit system, and anyone else interested.")
(NIL FLAG) (* ; "Was PFATP")
(PBINABLE FLAG) (* ;
 "8-bit bytes are binable (THINSTRING and THINFILE) ")
(NIL FLAG)
(PTREENODE XPOINTER) (* ;
 "Points to the PCTB tree-node that contains this piece.")
(PCHARSET BYTE) (* ;
 "High-order charset for FATFILE1 pieces")
(PUTF8BYTESPERCHAR BYTE)) (* ;
 "The number of bytes in the UTF-8 encoding of all the Unicode characters in this piece")
(NIL BYTE) (* ;
 "Was PCHARSET: High-order charset for FATFILE1 pieces")
NIL) (* ; "Was PUTF8BYTESPERCHAR: The number of bytes in the UTF-8 encoding of all the Unicode characters in this piece. But this just duplicates PBYTESPERCHAR for UTF-8 pieces")
[ACCESSFNS ((POBJ (AND (EQ OBJECT.PTYPE (PTYPE DATUM))
(type? IMAGEOBJ (PCONTENTS DATUM))
(PCONTENTS DATUM))
(AND (EQ OBJECT.PTYPE (PTYPE DATUM))
(SETPC DATUM PCONTENTS NEWVALUE]
PFPOS _ 0 PLEN _ 0 PBYTELEN _ 0)
PFPOS _ 0 PLEN _ 0)
(DATATYPE TEXTOBJ (
(* ;;
@@ -294,7 +292,7 @@
(/DECLAREDATATYPE 'PIECE
'(POINTER (BITS 4)
POINTER POINTER POINTER POINTER FULLXPOINTER POINTER POINTER FLAG POINTER FLAG FLAG
FLAG XPOINTER BYTE BYTE)
FLAG XPOINTER BYTE POINTER)
'((PIECE 0 POINTER)
(PIECE 0 (BITS . 3))
(PIECE 2 POINTER)
@@ -311,8 +309,8 @@
(PIECE 16 (FLAGBITS . 32))
(PIECE 18 XPOINTER)
(PIECE 20 (BITS . 7))
(PIECE 20 (BITS . 135)))
'22)
(PIECE 22 POINTER))
'24)
(/DECLAREDATATYPE 'TEXTOBJ
'(POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER FLAG FLAG POINTER
@@ -405,9 +403,6 @@
(PUTPROPS PCHARLOOKS MACRO ((PC)
(ffetch (PIECE PCHARLOOKS) of PC)))
(PUTPROPS PCHARSET MACRO ((PC)
(ffetch (PIECE PCHARSET) of PC)))
(PUTPROPS PPARALOOKS MACRO ((PC)
(ffetch (PIECE PPARALOOKS) of PC)))
@@ -417,15 +412,13 @@
(PUTPROPS PFPOS MACRO ((PC)
(ffetch (PIECE PFPOS) of PC)))
(PUTPROPS PBYTELEN MACRO ((PC)
(ffetch (PIECE PBYTELEN) of PC)))
(PUTPROPS PBYTELEN MACRO (OPENLAMBDA (PC)
(ITIMES (ffetch (PIECE PLEN) of PC)
(ffetch (PIECE PBYTESPERCHAR) of PC))))
(PUTPROPS PNEW MACRO ((PC)
(ffetch (PIECE PNEW) of PC)))
(PUTPROPS PBINABLE MACRO ((PC)
(ffetch (PIECE PBINABLE) of PC)))
(PUTPROPS PBYTESPERCHAR MACRO ((PC)
(ffetch (PIECE PBYTESPERCHAR) of PC)))
@@ -454,7 +447,7 @@
(SELECTC (PTYPE PC)
(THIN.PTYPES T)
(UTF8.PTYPE (EQ 1 (FGETPC PC PUTF8BYTESPERCHAR)))
(UTF8.PTYPE (EQ 1 (FGETPC PC PBYTESPERCHAR)))
NIL)))
)
(DECLARE%: EVAL@COMPILE
@@ -517,7 +510,6 @@
(RPAQQ PTYPES
((THINFILE.PTYPE 0)
(FATFILE1.PTYPE 1)
(FATFILE2.PTYPE 2)
(THINSTRING.PTYPE 3)
(FATSTRING.PTYPE 4)
@@ -527,18 +519,15 @@
(UTF16BE.PTYPE 8)
(UTF16LE.PTYPE 9)
(UTF8.PTYPE 11)
(FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE
UTF16LE.PTYPE))
(FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE))
(STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE))
(BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE))))
(FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE))))
(DECLARE%: EVAL@COMPILE
(RPAQQ THINFILE.PTYPE 0)
(RPAQQ FATFILE1.PTYPE 1)
(RPAQQ FATFILE2.PTYPE 2)
(RPAQQ THINSTRING.PTYPE 3)
@@ -557,8 +546,7 @@
(RPAQQ UTF8.PTYPE 11)
(RPAQ FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE
UTF16LE.PTYPE))
(RPAQ FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE))
(RPAQ STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE))
@@ -566,11 +554,10 @@
(RPAQ THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(RPAQ FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE))
(RPAQ FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE))
(CONSTANTS (THINFILE.PTYPE 0)
(FATFILE1.PTYPE 1)
(FATFILE2.PTYPE 2)
(THINSTRING.PTYPE 3)
(FATSTRING.PTYPE 4)
@@ -580,12 +567,11 @@
(UTF16BE.PTYPE 8)
(UTF16LE.PTYPE 9)
(UTF8.PTYPE 11)
(FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE
UTF16LE.PTYPE))
(FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE))
(STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE))
(BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE)))
(FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE)))
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -599,7 +585,7 @@
(/DECLAREDATATYPE 'PIECE
'(POINTER (BITS 4)
POINTER POINTER POINTER POINTER FULLXPOINTER POINTER POINTER FLAG POINTER FLAG FLAG
FLAG XPOINTER BYTE BYTE)
FLAG XPOINTER BYTE POINTER)
'((PIECE 0 POINTER)
(PIECE 0 (BITS . 3))
(PIECE 2 POINTER)
@@ -616,8 +602,8 @@
(PIECE 16 (FLAGBITS . 32))
(PIECE 18 XPOINTER)
(PIECE 20 (BITS . 7))
(PIECE 20 (BITS . 135)))
'22)
(PIECE 22 POINTER))
'24)
(/DECLAREDATATYPE 'TEXTOBJ
'(POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER FLAG FLAG POINTER
@@ -697,6 +683,10 @@
(\TEDIT.TEXTBIN
[LAMBDA (TSTREAM)
(* ;; "Edited 9-Apr-2026 00:06 by rmk")
(* ;; "Edited 7-Apr-2026 09:57 by rmk")
(* ;; "Edited 13-Oct-2025 17:16 by rmk")
(* ;; "Edited 21-Oct-2024 00:26 by rmk")
@@ -818,18 +808,6 @@
(\TEDIT.INSTALL.FILEBUFFER TSTREAM
(ffetch (TEXTSTREAM PCCHARSLEFT)
of TSTREAM)))))
(FATFILE1.PTYPE
(PROG1 (create WORD
HIBYTE _ (PCHARSET PC)
LOBYTE _ (BIN (PCONTENTS PC)))
(add (ffetch (STREAM COFFSET) of TSTREAM)
1)
(CL:WHEN (\ENDOFBUFFERP TSTREAM)
(\TEDIT.INSTALL.FILEBUFFER TSTREAM (ffetch
(TEXTSTREAM
PCCHARSLEFT
)
of TSTREAM)))))
(THINFILE.PTYPE (* ;
 "Fall through when the underlying stream is not binable")
(PROG1 (BIN (PCONTENTS PC))
@@ -848,7 +826,8 @@
(\TEDIT.THELP "\TEXTBIN UNKNOWN PTYPE" (PTYPE PC])
(\TEDIT.TEXTPEEKBIN
[LAMBDA (TSTREAM NOERROR) (* ; "Edited 21-Oct-2024 00:33 by rmk")
[LAMBDA (TSTREAM NOERROR) (* ; "Edited 9-Apr-2026 00:06 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 19-Mar-2024 19:14 by rmk")
(* ; "Edited 16-Mar-2024 12:44 by rmk")
(* ; "Edited 1-Feb-2024 11:13 by rmk")
@@ -911,10 +890,6 @@
'OBJECTBYTE)
PCONTENTS))
(UTF8.PTYPE (UTF8.PEEKCCODEFN PCONTENTS))
(FATFILE1.PTYPE
(create WORD
HIBYTE _ (PCHARSET PC)
LOBYTE _ (\PEEKBIN PCONTENTS)))
(SUBSTREAM.PTYPE (* ; "A substream stored as an object")
(\PEEKBIN (IMAGEOBJPROP PCONTENTS 'SUBSTREAM)))
(\TEDIT.THELP "UNKNOWN PIECE TYPE")))
@@ -923,7 +898,8 @@
else (STREAMOP 'ENDOFSTREAMOP TSTREAM TSTREAM])
(\TEDIT.TEXTBACKFILEPTR
[LAMBDA (TSTREAM) (* ; "Edited 16-Feb-2026 08:54 by rmk")
[LAMBDA (TSTREAM) (* ; "Edited 9-Apr-2026 00:07 by rmk")
(* ; "Edited 16-Feb-2026 08:54 by rmk")
(* ; "Edited 21-Oct-2024 00:33 by rmk")
(* ; "Edited 1-Feb-2024 11:25 by rmk")
(* ; "Edited 5-Jan-2024 17:57 by rmk")
@@ -1008,10 +984,6 @@
'OBJECTBYTE)
(PCONTENTS PC)))
(UTF8.PTYPE (UTF8.PEEKCCODEFN (PCONTENTS PC)))
(FATFILE1.PTYPE
(LOGOR (LLSH (PCHARSET PC)
8)
(\PEEKBIN (PCONTENTS PC))))
(SUBSTREAM.PTYPE (* ; "A substream stored as an object")
(BIN (IMAGEOBJPROP (PCONTENTS PC)
'SUBSTREAM)))
@@ -1760,7 +1732,8 @@
(DEFINEQ
(\TEDIT.STREAMINIT
[LAMBDA NIL (* ; "Edited 16-Feb-2026 12:40 by rmk")
[LAMBDA NIL (* ; "Edited 24-Feb-2026 23:38 by rmk")
(* ; "Edited 16-Feb-2026 12:40 by rmk")
(* ; "Edited 26-Jan-2026 16:06 by rmk")
(* ; "Edited 23-Sep-2025 21:03 by rmk")
(* ; "Edited 20-Sep-2025 08:48 by rmk")
@@ -1823,7 +1796,7 @@
(FUNCTION \TEDIT.TEXTBACKCCODEFN)
(FUNCTION \TEDIT.TEXTOUTCHARFN)
(FUNCTION \TEDIT.TEXTFORMATBYTESTREAM)
'CR NIL (FUNCTION \TEDIT.TEXTFORMATBYTESTRING))
'CR T (FUNCTION \TEDIT.TEXTFORMATBYTESTRING))
(* ;; "Support for error handling: The old error handler for the stream-not-open error. ")
@@ -2277,7 +2250,8 @@
(IDIFFERENCE N START-OF-PIECE)))])
(\TEDIT.PIECE.NTHCHARCODE
[LAMBDA (PC OFFSET) (* ; "Edited 15-Feb-2026 14:31 by rmk")
[LAMBDA (PC OFFSET) (* ; "Edited 9-Apr-2026 00:06 by rmk")
(* ; "Edited 15-Feb-2026 14:31 by rmk")
(* ; "Edited 24-Apr-2025 16:04 by rmk")
(* ; "Edited 21-Oct-2024 00:26 by rmk")
(* ; "Edited 29-Apr-2024 08:46 by rmk")
@@ -2304,14 +2278,6 @@
OFFSET))
(PROG1 (BIN PCONTENTS)
(\SETFILEPTR PCONTENTS FILEPOS)))
(FATFILE1.PTYPE
(SETQ FILEPOS (\GETFILEPTR PCONTENTS))
(\SETFILEPTR PCONTENTS (IPLUS (PFPOS PC)
OFFSET))
(PROG1 (create WORD
HIBYTE _ (PCHARSET PC)
LOBYTE _ (BIN PCONTENTS))
(\SETFILEPTR PCONTENTS FILEPOS)))
(FATFILE2.PTYPE
(SETQ FILEPOS (\GETFILEPTR PCONTENTS))
(\SETFILEPTR PCONTENTS (IPLUS (PFPOS PC)
@@ -2359,7 +2325,8 @@
TSTREAM))])
(\TEDIT.PIECE.RPLCHARCODE
[LAMBDA (TEXTOBJ PC OFFSET NEWCHARCODE NEWCHARLOOKS) (* ; "Edited 16-Feb-2026 08:41 by rmk")
[LAMBDA (TEXTOBJ PC OFFSET NEWCHARCODE NEWCHARLOOKS) (* ; "Edited 10-Apr-2026 09:32 by rmk")
(* ; "Edited 16-Feb-2026 08:41 by rmk")
(* ; "Edited 28-Jul-2025 23:38 by rmk")
(* ; "Edited 24-Apr-2025 16:30 by rmk")
(* ; "Edited 20-Apr-2025 13:25 by rmk")
@@ -2393,10 +2360,7 @@
(CL:WHEN (AND (EQ THINSTRING.PTYPE (PTYPE PC))
(IGREATERP NEWCHARCODE \MAXTHINCHAR))
(FSETPC PC PTYPE FATSTRING.PTYPE)
(FSETPC PC PBINABLE NIL)
(FSETPC PC PBYTESPERCHAR 2)
(FSETPC PC PBYTELEN (UNFOLD (PLEN PC)
2)))
(FSETPC PC PBYTESPERCHAR 2))
elseif [AND (IMAGEOBJP NEWCHARCODE)
(EQ OBJECT.PTYPE (PTYPE PC))
(OR (NULL NEWCHARLOOKS)
@@ -2425,24 +2389,17 @@
(SETQ OLDCHAR (\TEDIT.PIECE.NTHCHARCODE PC 0))
(if (IMAGEOBJP NEWCHARCODE)
then (FSETPC PC PBINABLE NIL)
(FSETPC PC PCONTENTS NEWCHARCODE)
then (FSETPC PC PCONTENTS NEWCHARCODE)
(FSETPC PC PTYPE OBJECT.PTYPE)
(FSETPC PC PBYTESPERCHAR NIL) (* ; "Doesn't make sense for objects")
(FSETPC PC PBYTELEN NIL)
else (FSETPC PC PCONTENTS (MKSTRING (CHARACTER NEWCHARCODE)))
(* ;
 "Use the extend-string in INSERTCH for repeated calls?")
(if (IGREATERP NEWCHARCODE \MAXTHINCHAR)
then (FSETPC PC PTYPE FATSTRING.PTYPE)
(FSETPC PC PBINABLE NIL)
(FSETPC PC PBYTESPERCHAR 2)
(FSETPC PC PBYTELEN 2)
else (FSETPC PC PTYPE THINSTRING.PTYPE)
(FSETPC PC PBINABLE T)
(FSETPC PC PBYTESPERCHAR 1)
(FSETPC PC PBYTELEN 1)
(FSETPC PC PCHARSET 0)))
(FSETPC PC PBYTESPERCHAR 1)))
(FSETPC PC PFPOS NIL)
(CL:WHEN NEWCHARLOOKS
(FSETPC PC PCHARLOOKS (CL:IF (FONTP NEWCHARLOOKS)
@@ -2546,7 +2503,8 @@
T)])
(\TEDIT.INSERTCH
[LAMBDA (CH CH# TEXTOBJ PARALAST) (* ; "Edited 26-Jul-2025 21:13 by rmk")
[LAMBDA (CH CH# TEXTOBJ PARALAST) (* ; "Edited 10-Apr-2026 09:46 by rmk")
(* ; "Edited 26-Jul-2025 21:13 by rmk")
(* ; "Edited 26-Mar-2025 00:29 by rmk")
(* ; "Edited 22-Nov-2024 13:48 by rmk")
(* ; "Edited 22-Sep-2024 12:32 by rmk")
@@ -2634,14 +2592,9 @@
PNEW _ T))
(SELECTC INSERTPTYPE
(THINSTRING.PTYPE
(FSETPC PREVPC PBYTESPERCHAR 1)
(FSETPC PREVPC PBYTELEN ILEN)
(FSETPC PREVPC PBINABLE T)
(FSETPC PREVPC PCHARSET 0))
(FATSTRING.PTYPE (* ; "PCHARSET is not relevant")
(FSETPC PREVPC PBYTESPERCHAR 2)
(FSETPC PREVPC PBYTELEN (UNFOLD ILEN 2))
(FSETPC PREVPC PBINABLE NIL))
(FSETPC PREVPC PBYTESPERCHAR 1))
(FATSTRING.PTYPE
(FSETPC PREVPC PBYTESPERCHAR 2))
(\TEDIT.THELP "Unexpected PTYPE"))
(\TEDIT.INSERTPIECE PREVPC INSERTPC TEXTOBJ))
@@ -2785,7 +2738,8 @@
INSERTION])
(\TEDIT.INSERTCH.EXTEND
[LAMBDA (PC ILEN TEXTOBJ) (* ; "Edited 16-Mar-2024 09:56 by rmk")
[LAMBDA (PC ILEN TEXTOBJ) (* ; "Edited 9-Apr-2026 13:24 by rmk")
(* ; "Edited 16-Mar-2024 09:56 by rmk")
(* ; "Edited 21-Jan-2024 14:09 by rmk")
(* ; "Edited 12-Apr-2023 09:37 by rmk")
(* ; "Edited 1-Sep-2022 08:26 by rmk")
@@ -2796,8 +2750,6 @@
(add (PLEN PC)
ILEN)
(FSETPC PC PBYTELEN (ITIMES (PLEN PC)
(PBYTESPERCHAR PC)))
(add (ffetch (STRINGP LENGTH) of (PCONTENTS PC))
ILEN)
(add (ffetch (BTSLOT DLEN) of (\FINDSLOT (ffetch (PIECE PTREENODE) of PC)
@@ -2836,7 +2788,8 @@
(DEFINEQ
(\TEDIT.INSTALL.PIECE
[LAMBDA (TSTREAM PC CHOFFSET) (* ; "Edited 21-Oct-2024 00:26 by rmk")
[LAMBDA (TSTREAM PC CHOFFSET) (* ; "Edited 26-Apr-2026 23:46 by rmk")
(* ; "Edited 21-Oct-2024 00:26 by rmk")
(* ; "Edited 18-May-2024 22:39 by rmk")
(* ; "Edited 9-May-2024 22:34 by rmk")
(* ; "Edited 18-Mar-2024 22:26 by rmk")
@@ -2891,7 +2844,11 @@
PLEN)))
(OBJECT.PTYPE (freplace (STREAM CBUFSIZE) of TSTREAM with 1))
NIL)
(freplace (STREAM BINABLE) of TSTREAM with (PBINABLE PC))
(* ;; "Would work for an ASCII. PTYPE or 1-byte UTF-8, except for MCCS/UNICODE differences.")
[freplace (STREAM BINABLE) of TSTREAM with (OR (EQ THINFILE.PTYPE (PTYPE PC))
(EQ THINSTRING.PTYPE (PTYPE PC]
(freplace (TEXTSTREAM STARTINGCOFFSET) of TSTREAM with (ffetch (STREAM COFFSET)
of TSTREAM))
(freplace (TEXTSTREAM PCCHARSLEFT) of TSTREAM with PCCHARSLEFT)
@@ -3127,33 +3084,33 @@
(ADDTOVAR LAMA TEXTPROP)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (36667 67629 (\TEDIT.TEXTBIN 36677 . 47470) (\TEDIT.TEXTPEEKBIN 47472 . 53022) (
\TEDIT.TEXTBACKFILEPTR 53024 . 58800) (\TEDIT.TEXTBOUT 58802 . 63419) (\TEDIT.INSTALL.FILEBUFFER 63421
. 67627)) (68527 72818 (\TEDIT.TEXTOUTCHARFN 68537 . 70093) (\TEDIT.TEXTINCCODEFN 70095 . 70834) (
\TEDIT.TEXTBACKCCODEFN 70836 . 71428) (\TEDIT.TEXTFORMATBYTESTREAM 71430 . 72267) (
\TEDIT.TEXTFORMATBYTESTRING 72269 . 72816)) (72865 84940 (OPENTEXTSTREAM 72875 . 79851) (
COPYTEXTSTREAM 79853 . 84163) (TEDIT.STREAMCHANGEDP 84165 . 84467) (TXTFILE 84469 . 84938)) (84941
108146 (\TEDIT.REOPENTEXTSTREAM 84951 . 86303) (\TEDIT.OPENTEXTSTREAM.PIECES 86305 . 91233) (
\TEDIT.OPENTEXTSTREAM.PROPS 91235 . 92337) (\TEDIT.OPENTEXTSTREAM.SETUP.SEL 92339 . 97789) (
\TEDIT.OPENTEXTSTREAM.WINDOW 97791 . 100582) (\TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS 100584 . 102523) (
\TEDIT.OPENTEXTFILE 102525 . 104657) (\TEDIT.CREATE.TEXTSTREAM 104659 . 105806) (\TEDIT.REOPEN.STREAM
105808 . 108144)) (108147 116372 (\TEDIT.STREAMINIT 108157 . 116189) (TEDIT.IMAGESTREAM.OPEN 116191 .
116370)) (116560 117748 (\TEDIT.TTYBOUT 116570 . 117746)) (117866 139549 (\TEDIT.TEXTCLOSEF 117876 .
119200) (\TEDIT.TEXTDSPFONT 119202 . 120400) (\TEDIT.TEXTEOFP 120402 . 122157) (\TEDIT.TEXTGETEOFPTR
122159 . 122482) (\TEDIT.TEXTSETEOFPTR 122484 . 123771) (\TEDIT.TEXTGETFILEPTR 123773 . 126608) (
\TEDIT.TEXTSETFILEINFO 126610 . 127118) (\TEDIT.TEXTOPENF 127120 . 128051) (\TEDIT.TEXTSETEOF 128053
. 128669) (\TEDIT.TEXTSETFILEPTR 128671 . 130781) (\TEDIT.TEXTDSPXPOSITION 130783 . 133486) (
\TEDIT.TEXTDSPYPOSITION 133488 . 134229) (\TEDIT.TEXTLEFTMARGIN 134231 . 134822) (\TEDIT.TEXTCOLOR
134824 . 135407) (\TEDIT.TEXTRIGHTMARGIN 135409 . 138698) (\TEDIT.TEXTDSPCHARWIDTH 138700 . 139004) (
\TEDIT.TEXTDSPSTRINGWIDTH 139006 . 139312) (\TEDIT.TEXTDSPLINEFEED 139314 . 139547)) (139587 152583 (
\TEDIT.NTHCHARCODE 139597 . 141123) (\TEDIT.PIECE.NTHCHARCODE 141125 . 145033) (\TEDIT.RPLCHARCODE
145035 . 146593) (\TEDIT.PIECE.RPLCHARCODE 146595 . 152228) (\TEDIT.NTHCHARLOOKS 152230 . 152581)) (
153630 174724 (\TEDIT.DELETE.SELPIECES 153640 . 157265) (\TEDIT.INSERTCH 157267 . 165306) (
\TEDIT.INSERTCH.HISTORY 165308 . 168772) (\TEDIT.INSERTEOL 168774 . 170599) (\TEDIT.INSERTCH.INSERTION
170601 . 173438) (\TEDIT.INSERTCH.EXTEND 173440 . 174722)) (174725 176332 (\TEDIT.NEXTCHANGEABLE.CHNO
174735 . 175450) (\TEDIT.LASTCHANGEABLE.CHNO 175452 . 176330)) (176333 180791 (\TEDIT.INSTALL.PIECE
176343 . 180789)) (180829 190295 (TEXTPROP 180839 . 181186) (GETTEXTPROP 181188 . 181432) (PUTTEXTPROP
181434 . 181691) (GETTEXTPROPS 181693 . 182137) (PUTTEXTPROPS 182139 . 183043) (TEXTPROP.ADD 183045
. 183308) (\TEDIT.TEXTPROP 183310 . 190293)) (190296 192673 (\TEDIT.TEXTOBJ.PROPNAMES 190306 . 191565
) (\TEDIT.TEXTOBJ.PROPFETCHFN 191567 . 192083) (\TEDIT.TEXTOBJ.PROPSTOREFN 192085 . 192671)))))
(FILEMAP (NIL (36156 66033 (\TEDIT.TEXTBIN 36166 . 46068) (\TEDIT.TEXTPEEKBIN 46070 . 51495) (
\TEDIT.TEXTBACKFILEPTR 51497 . 57204) (\TEDIT.TEXTBOUT 57206 . 61823) (\TEDIT.INSTALL.FILEBUFFER 61825
. 66031)) (66931 71222 (\TEDIT.TEXTOUTCHARFN 66941 . 68497) (\TEDIT.TEXTINCCODEFN 68499 . 69238) (
\TEDIT.TEXTBACKCCODEFN 69240 . 69832) (\TEDIT.TEXTFORMATBYTESTREAM 69834 . 70671) (
\TEDIT.TEXTFORMATBYTESTRING 70673 . 71220)) (71269 83344 (OPENTEXTSTREAM 71279 . 78255) (
COPYTEXTSTREAM 78257 . 82567) (TEDIT.STREAMCHANGEDP 82569 . 82871) (TXTFILE 82873 . 83342)) (83345
106550 (\TEDIT.REOPENTEXTSTREAM 83355 . 84707) (\TEDIT.OPENTEXTSTREAM.PIECES 84709 . 89637) (
\TEDIT.OPENTEXTSTREAM.PROPS 89639 . 90741) (\TEDIT.OPENTEXTSTREAM.SETUP.SEL 90743 . 96193) (
\TEDIT.OPENTEXTSTREAM.WINDOW 96195 . 98986) (\TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS 98988 . 100927) (
\TEDIT.OPENTEXTFILE 100929 . 103061) (\TEDIT.CREATE.TEXTSTREAM 103063 . 104210) (\TEDIT.REOPEN.STREAM
104212 . 106548)) (106551 114883 (\TEDIT.STREAMINIT 106561 . 114700) (TEDIT.IMAGESTREAM.OPEN 114702 .
114881)) (115071 116259 (\TEDIT.TTYBOUT 115081 . 116257)) (116377 138060 (\TEDIT.TEXTCLOSEF 116387 .
117711) (\TEDIT.TEXTDSPFONT 117713 . 118911) (\TEDIT.TEXTEOFP 118913 . 120668) (\TEDIT.TEXTGETEOFPTR
120670 . 120993) (\TEDIT.TEXTSETEOFPTR 120995 . 122282) (\TEDIT.TEXTGETFILEPTR 122284 . 125119) (
\TEDIT.TEXTSETFILEINFO 125121 . 125629) (\TEDIT.TEXTOPENF 125631 . 126562) (\TEDIT.TEXTSETEOF 126564
. 127180) (\TEDIT.TEXTSETFILEPTR 127182 . 129292) (\TEDIT.TEXTDSPXPOSITION 129294 . 131997) (
\TEDIT.TEXTDSPYPOSITION 131999 . 132740) (\TEDIT.TEXTLEFTMARGIN 132742 . 133333) (\TEDIT.TEXTCOLOR
133335 . 133918) (\TEDIT.TEXTRIGHTMARGIN 133920 . 137209) (\TEDIT.TEXTDSPCHARWIDTH 137211 . 137515) (
\TEDIT.TEXTDSPSTRINGWIDTH 137517 . 137823) (\TEDIT.TEXTDSPLINEFEED 137825 . 138058)) (138098 150332 (
\TEDIT.NTHCHARCODE 138108 . 139634) (\TEDIT.PIECE.NTHCHARCODE 139636 . 143204) (\TEDIT.RPLCHARCODE
143206 . 144764) (\TEDIT.PIECE.RPLCHARCODE 144766 . 149977) (\TEDIT.NTHCHARLOOKS 149979 . 150330)) (
151379 172254 (\TEDIT.DELETE.SELPIECES 151389 . 155014) (\TEDIT.INSERTCH 155016 . 162821) (
\TEDIT.INSERTCH.HISTORY 162823 . 166287) (\TEDIT.INSERTEOL 166289 . 168114) (\TEDIT.INSERTCH.INSERTION
168116 . 170953) (\TEDIT.INSERTCH.EXTEND 170955 . 172252)) (172255 173862 (\TEDIT.NEXTCHANGEABLE.CHNO
172265 . 172980) (\TEDIT.LASTCHANGEABLE.CHNO 172982 . 173860)) (173863 178652 (\TEDIT.INSTALL.PIECE
173873 . 178650)) (178690 188156 (TEXTPROP 178700 . 179047) (GETTEXTPROP 179049 . 179293) (PUTTEXTPROP
179295 . 179552) (GETTEXTPROPS 179554 . 179998) (PUTTEXTPROPS 180000 . 180904) (TEXTPROP.ADD 180906
. 181169) (\TEDIT.TEXTPROP 181171 . 188154)) (188157 190534 (\TEDIT.TEXTOBJ.PROPNAMES 188167 . 189426
) (\TEDIT.TEXTOBJ.PROPFETCHFN 189428 . 189944) (\TEDIT.TEXTOBJ.PROPSTOREFN 189946 . 190532)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "21-Jan-2026 12:15:57" {WMEDLEY}<library>TEDIT>TEDIT-TFBRAVO.;190 98203
(FILECREATED "10-Apr-2026 09:25:52" {WMEDLEY}<library>tedit>TEDIT-TFBRAVO.;192 97960
:EDIT-BY rmk
:CHANGES-TO (FNS BRAVOFILEP)
(VARS TEDIT-TFBRAVOCOMS)
:CHANGES-TO (FNS \TFBRAVO.INSERT.RUN)
:PREVIOUS-DATE " 7-Sep-2025 11:11:43" {WMEDLEY}<library>TEDIT>TEDIT-TFBRAVO.;187)
:PREVIOUS-DATE " 9-Apr-2026 17:24:28" {WMEDLEY}<library>tedit>TEDIT-TFBRAVO.;191)
(PRETTYCOMPRINT TEDIT-TFBRAVOCOMS)
@@ -1027,7 +1026,8 @@
(\TFBRAVO.INSERT.RUN RUN BSTREAM PARALOOKS TEXTOBJ])
(\TFBRAVO.INSERT.RUN
[LAMBDA (RUN BSTREAM PARALOOKS TEXTOBJ) (* ; "Edited 28-Jul-2025 23:33 by rmk")
[LAMBDA (RUN BSTREAM PARALOOKS TEXTOBJ) (* ; "Edited 10-Apr-2026 09:22 by rmk")
(* ; "Edited 28-Jul-2025 23:33 by rmk")
(* ; "Edited 8-Feb-2025 23:08 by rmk")
(* ; "Edited 17-Mar-2024 12:41 by rmk")
(* ; "Edited 16-Jan-2024 18:28 by rmk")
@@ -1064,17 +1064,11 @@
THINSTRING.PTYPE))
(SETQ PBYTESPERCHAR (CL:IF FATP
2
1))
(SETQ PBINABLE (NOT FATP))
(SETQ PBYTELEN (UNFOLD NCHARS 2))
(SETQ PUTF8BYTESPERCHAR 2))
1)))
else (with PIECE PC (SETQ PCONTENTS BSTREAM)
(SETQ PFPOS RUNSTART)
(SETQ PTYPE THINFILE.PTYPE)
(SETQ PBINABLE T)
(SETQ PBYTESPERCHAR 1)
(SETQ PBYTELEN NCHARS)
(SETQ PUTF8BYTESPERCHAR 2)))
(SETQ PBYTESPERCHAR 1)))
(\TEDIT.INSERTPIECE PC NIL TEXTOBJ)
PC))])
@@ -1571,18 +1565,18 @@
(AND NIL (\TEDIT.NAMEDTAB.INIT))
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (7784 15335 (BRAVOFILEP 7794 . 9981) (TEDITFROMBRAVO 9983 . 15333)) (15610 32026 (
\TFBRAVO.GET.USER.CM 15620 . 18800) (\TFBRAVO.USER.CM.LOOKS 18802 . 20295) (\TFBRAVO.READ.USER.CM
20297 . 24920) (\TFBRAVO.INIT.PARALOOKS 24922 . 27139) (\TFBRAVO.INIT.PAGEFORMAT 27141 . 28021) (
\TFBRAVO.GETPARAMS 28023 . 30877) (\TFBRAVO.FIND.LAST.TRAILER 30879 . 32024)) (32068 52773 (
\TFBRAVO.PARSE.PARA 32078 . 36005) (\TFBRAVO.READ.PARALOOKS 36007 . 42897) (\TFBRAVO.CREATE.RUNS 42899
. 44287) (\TFBRAVO.READ.CHARLOOKS 44289 . 49318) (\TFBRAVO.FONT.FROM.CHARLOOKS 49320 . 50874) (
\TFBRAVO.READNUM? 50876 . 52771)) (52810 63851 (\TFBRAVO.HANDLE.HEADING 52820 . 55547) (
\TFBRAVO.PARSE.PROFILE.PARA 55549 . 63849)) (63894 86228 (\TFBRAVO.INSERT.PARA 63904 . 64745) (
\TFBRAVO.INSERT.RUN 64747 . 68238) (\TFBRAVO.SPLIT.PARA 68240 . 75664) (\TFBRAVO.RUN.TABSPEC 75666 .
80533) (\TFBRAVO.INSTALL.PAGEFORMAT 80535 . 86226)) (86229 90372 (\TFBRAVO.ASSERT 86239 . 86769) (
\TEST.CHARACTER.LOOKS 86771 . 88657) (\TEST.PARAGRAPH.LOOKS 88659 . 90370)) (91382 98037 (
\TFBRAVO.ADD.NAMEDTAB 91392 . 94995) (\TFBRAVO.COPY.NAMEDTAB 94997 . 95445) (\TFBRAVO.PUT.NAMEDTAB
95447 . 95727) (\TFBRAVO.GET.NAMEDTAB 95729 . 96106) (\NAMEDTABNYET 96108 . 96268) (\NAMEDTABSIZE
96270 . 96785) (\NAMEDTABPREPRINT 96787 . 96985) (\TEDIT.NAMEDTAB.INIT 96987 . 98035)))))
(FILEMAP (NIL (7750 15301 (BRAVOFILEP 7760 . 9947) (TEDITFROMBRAVO 9949 . 15299)) (15576 31992 (
\TFBRAVO.GET.USER.CM 15586 . 18766) (\TFBRAVO.USER.CM.LOOKS 18768 . 20261) (\TFBRAVO.READ.USER.CM
20263 . 24886) (\TFBRAVO.INIT.PARALOOKS 24888 . 27105) (\TFBRAVO.INIT.PAGEFORMAT 27107 . 27987) (
\TFBRAVO.GETPARAMS 27989 . 30843) (\TFBRAVO.FIND.LAST.TRAILER 30845 . 31990)) (32034 52739 (
\TFBRAVO.PARSE.PARA 32044 . 35971) (\TFBRAVO.READ.PARALOOKS 35973 . 42863) (\TFBRAVO.CREATE.RUNS 42865
. 44253) (\TFBRAVO.READ.CHARLOOKS 44255 . 49284) (\TFBRAVO.FONT.FROM.CHARLOOKS 49286 . 50840) (
\TFBRAVO.READNUM? 50842 . 52737)) (52776 63817 (\TFBRAVO.HANDLE.HEADING 52786 . 55513) (
\TFBRAVO.PARSE.PROFILE.PARA 55515 . 63815)) (63860 85985 (\TFBRAVO.INSERT.PARA 63870 . 64711) (
\TFBRAVO.INSERT.RUN 64713 . 67995) (\TFBRAVO.SPLIT.PARA 67997 . 75421) (\TFBRAVO.RUN.TABSPEC 75423 .
80290) (\TFBRAVO.INSTALL.PAGEFORMAT 80292 . 85983)) (85986 90129 (\TFBRAVO.ASSERT 85996 . 86526) (
\TEST.CHARACTER.LOOKS 86528 . 88414) (\TEST.PARAGRAPH.LOOKS 88416 . 90127)) (91139 97794 (
\TFBRAVO.ADD.NAMEDTAB 91149 . 94752) (\TFBRAVO.COPY.NAMEDTAB 94754 . 95202) (\TFBRAVO.PUT.NAMEDTAB
95204 . 95484) (\TFBRAVO.GET.NAMEDTAB 95486 . 95863) (\NAMEDTABNYET 95865 . 96025) (\NAMEDTABSIZE
96027 . 96542) (\NAMEDTABPREPRINT 96544 . 96742) (\TEDIT.NAMEDTAB.INIT 96744 . 97792)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "24-Dec-2025 11:22:33" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;883 231422
(FILECREATED " 7-Feb-2026 18:53:22" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;896 234678
:EDIT-BY rmk
:CHANGES-TO (FNS \TEDIT.MINIMAL.WINDOW.SETUP TEDIT.PROMPTCLEAR TEDIT.PROMPTPRINT)
:CHANGES-TO (FNS TEDIT.PROMPTPRINT)
:PREVIOUS-DATE "15-Nov-2025 01:27:38" {WMEDLEY}<library>tedit>TEDIT-WINDOW.;881)
:PREVIOUS-DATE " 5-Feb-2026 08:24:23" {WMEDLEY}<library>TEDIT>TEDIT-WINDOW.;895)
(PRETTYCOMPRINT TEDIT-WINDOWCOMS)
@@ -458,7 +458,10 @@
WINDOW])
(\TEDIT.WINDOW.GETREGION
[LAMBDA (TSTREAM REGIONTYPE PHEIGHT) (* ; "Edited 25-Oct-2025 10:27 by rmk")
[LAMBDA (TSTREAM REGIONTYPE PHEIGHT) (* ; "Edited 5-Feb-2026 08:24 by rmk")
(* ; "Edited 27-Jan-2026 15:30 by rmk")
(* ; "Edited 25-Jan-2026 20:09 by rmk")
(* ; "Edited 25-Oct-2025 10:27 by rmk")
(* ; "Edited 19-Oct-2025 01:05 by rmk")
(* ; "Edited 14-Apr-2025 00:05 by rmk")
(* ; "Edited 31-Mar-2025 22:43 by rmk")
@@ -466,87 +469,94 @@
(* ; "Edited 18-Mar-2025 21:52 by rmk")
(* ; "Edited 19-Feb-2025 16:48 by rmk")
(* ; "Edited 18-Feb-2025 10:09 by rmk")
(LET ((TEXTOBJ (GETTSTR TSTREAM TEXTOBJ))
[WIDTHOVERHEAD (IPLUS \TEDIT.LINEREGION.WIDTH (TIMES 2 WBorder)
(if (FGETTOBJ TEXTOBJ TXTNOTSPLITTABLE)
then 0
elseif (ILEQ \TEDIT.OP.WIDTH 0)
then
(* ;; "On both sides, for symmetry")
(LET* ((TEXTOBJ (GETTSTR TSTREAM TEXTOBJ))
[WIDTHOVERHEAD (IPLUS \TEDIT.LINEREGION.WIDTH (TIMES 2 WBorder)
(if (FGETTOBJ TEXTOBJ TXTNOTSPLITTABLE)
then 0
elseif (ILEQ \TEDIT.OP.WIDTH 0)
then
(* ;; "On both sides, for symmetry")
\TEDIT.LINEREGION.WIDTH
else
(* ;;
\TEDIT.LINEREGION.WIDTH
else
(* ;;
 "36 to allow for some spacing between the text and the OPS area on the right.")
(IPLUS \TEDIT.OP.WIDTH 36]
[HEIGHTOVERHEAD (IPLUS PHEIGHT (ADD1 (TIMES 2 WBorder))
(FONTPROP WindowTitleDisplayStream 'HEIGHT]
WIDTH HEIGHT)
(IPLUS \TEDIT.OP.WIDTH 36]
[HEIGHTOVERHEAD (IPLUS PHEIGHT (ADD1 (TIMES 2 WBorder))
(FONTPROP WindowTitleDisplayStream 'HEIGHT]
WIDTH HEIGHT)
(* ;; "Explict properties cover content")
(* ;; "Explict properties cover content")
[SETQ WIDTH (OR (GETTEXTPROP TEXTOBJ 'OPENWIDTH)
(for PARALOOKS in (FGETTOBJ TEXTOBJ TXTPARALOOKSLIST)
when (IGREATERP (GETPLOOKS PARALOOKS RIGHTMAR)
0) largest (GETPLOOKS PARALOOKS RIGHTMAR)
finally (RETURN $$EXTREME]
(SETQ HEIGHT (GETTEXTPROP TEXTOBJ 'OPENHEIGHT))
[SETQ WIDTH (OR (GETTEXTPROP TEXTOBJ 'OPENWIDTH)
(for PARALOOKS in (FGETTOBJ TEXTOBJ TXTPARALOOKSLIST)
when (IGREATERP (GETPLOOKS PARALOOKS RIGHTMAR)
0) largest (GETPLOOKS PARALOOKS RIGHTMAR)
finally (RETURN $$EXTREME]
(SETQ HEIGHT (GETTEXTPROP TEXTOBJ 'OPENHEIGHT))
(* ;; "If still no WIDTH or HEIGHT, look at the first 20 lines")
(* ;; "If still no WIDTH or HEIGHT, look at the first 20 lines")
(CL:UNLESS (AND HEIGHT WIDTH)
(for I L (TEXTLEN _ (TEXTLEN TEXTOBJ))
(REG _ (CREATEREGION 0 0 (IDIFFERENCE SCREENWIDTH WIDTHOVERHEAD)
(IDIFFERENCE SCREENHEIGHT HEIGHTOVERHEAD)))
(W _ 0)
(H _ 0)
(CHNO _ 1) from 1 to 20 while (ILEQ CHNO TEXTLEN)
do
(* ;;
(CL:UNLESS (AND HEIGHT WIDTH)
(for I L (TEXTLEN _ (TEXTLEN TEXTOBJ))
(REG _ (CREATEREGION 0 0 (IDIFFERENCE SCREENWIDTH WIDTHOVERHEAD)
(IDIFFERENCE SCREENHEIGHT HEIGHTOVERHEAD)))
(IMAGESTREAM _ (CL:IF (\TEDIT.PRIMARYPANE TSTREAM)
(WINDOWPROP (\TEDIT.PRIMARYPANE TSTREAM)
'DSP)
(DSPCREATE)))
(W _ 0)
(H _ 0)
(CHNO _ 1) from 1 to 20 while (ILESSP CHNO TEXTLEN)
do
(* ;;
 "But we start by saying that the right margin is infinite, so we can find the true width")
(SETQ L (\TEDIT.FORMATLINE TSTREAM CHNO NIL REG))
(SETQ CHNO (FGETLD L LCHARLIM))
(add H (FGETLD L LHEIGHT))
(CL:UNLESS WIDTH
(CL:WHEN (EQ 'LEFT (FGETPLOOKS (FGETLD L LPARALOOKS)
QUAD))
(SETQ L (\TEDIT.FORMATLINE TSTREAM CHNO NIL REG IMAGESTREAM))
(SETQ CHNO (FGETLD L LCHARLIM))
(add H (FGETLD L LHEIGHT))
(CL:UNLESS WIDTH
(CL:WHEN (EQ 'LEFT (FGETPLOOKS (FGETLD L LPARALOOKS)
QUAD))
(* ;;
 "JUSTIFIED, RIGHT and CENTERED involve right margin, which we don't know")
(* ;;
 "JUSTIFIED, RIGHT and CENTERED involve right margin, which we don't know")
(SETQ W (IMAX W (FGETLD L LXLIM)))))
finally (CL:UNLESS (OR WIDTH (EQ W 0)) (* ; "Maybe no lefts?")
(SETQ WIDTH W))
(CL:UNLESS (OR HEIGHT (EQ H 0))
(SETQ HEIGHT H))))
(SETQ W (IMAX W (FGETLD L LXLIM)))))
finally (CL:UNLESS (OR WIDTH (EQ W 0)) (* ; "Maybe no lefts?")
(SETQ WIDTH W))
(CL:UNLESS (OR HEIGHT (EQ H 0))
(SETQ HEIGHT H))))
(* ;; "Minimum sizes")
(* ;; "Minimum sizes: 90 characters by 10 lines")
(SETQ WIDTH (IMAX 200 (OR WIDTH 0)))
(SETQ HEIGHT (IMAX 100 (OR HEIGHT 0)))
(CL:UNLESS WIDTH
[SETQ WIDTH (TIMES 80 (FONTPROP TSTREAM 'AVGCHARWIDTH])
(CL:UNLESS HEIGHT
[SETQ HEIGHT (TIMES 10 (FONTPROP TSTREAM 'HEIGHT])
(* ;; "Allow for the extra stuff")
(* ;; "Allow for the extra stuff")
(add WIDTH WIDTHOVERHEAD)
(add HEIGHT HEIGHTOVERHEAD)
(if (GRAB-TYPED-REGION REGIONTYPE WIDTH HEIGHT 1.1)
else
(* ;; "Maximum new sizes")
(add WIDTH WIDTHOVERHEAD)
(add HEIGHT HEIGHTOVERHEAD)
(if (GRAB-TYPED-REGION REGIONTYPE WIDTH HEIGHT 1.1)
else
(* ;; "Maximum new sizes")
[SETQ WIDTH (IMIN WIDTH (FIXR (FTIMES SCREENWIDTH 0.9]
[SETQ HEIGHT (IMIN HEIGHT (FIXR (FTIMES SCREENHEIGHT 0.9]
(CLRPROMPT) (* ; "System promptwindow")
(printout PROMPTWINDOW "Please specify a " (OR REGIONTYPE "Tedit")
" region")
(CL:WHEN (TXTFILE TSTREAM)
(printout PROMPTWINDOW " for " 2 (GETTEXTPROP TSTREAM 'FILENAME)))
(TERPRI PROMPTWINDOW)
(GETBOXREGION WIDTH HEIGHT])
[SETQ WIDTH (IMIN WIDTH (FIXR (FTIMES SCREENWIDTH 0.9]
[SETQ HEIGHT (IMIN HEIGHT (FIXR (FTIMES SCREENHEIGHT 0.9]
(CLRPROMPT) (* ; "System promptwindow")
(printout PROMPTWINDOW "Please specify a " (OR REGIONTYPE "Tedit")
" region")
(CL:WHEN (TXTFILE TSTREAM)
(printout PROMPTWINDOW " for " 2 (GETTEXTPROP TSTREAM 'FILENAME)))
(TERPRI PROMPTWINDOW)
(GETBOXREGION WIDTH HEIGHT])
(\TEDIT.WINDOW.SETUP
[LAMBDA (PANE TSTREAM PROPS AFTERPANE LCHAR1) (* ; "Edited 6-May-2025 11:44 by rmk")
[LAMBDA (PANE TSTREAM PROPS AFTERPANE LCHAR1) (* ; "Edited 15-Jan-2026 10:35 by rmk")
(* ; "Edited 6-May-2025 11:44 by rmk")
(* ; "Edited 21-Apr-2025 12:02 by rmk")
(* ; "Edited 6-Apr-2025 18:56 by rmk")
(* ; "Edited 5-Apr-2025 14:07 by rmk")
@@ -595,11 +605,12 @@
(\TEDIT.CLEARPANE PANE)
(\TEDIT.SUFFIXLINE.CREATE PANE TSTREAM (\TEDIT.LINES.BELOW NIL PANE TSTREAM))
(CL:WHEN AFTERPANE
(for PANE inpanes (PROGN TEXTOBJ) as L1 on (GETSEL SEL L1) as LN
on (GETSEL SEL LN) when (EQ PANE AFTERPANE) do (push (CDR L1)
NIL)
(push (CDR LN)
NIL)))
(for P inpanes (PROGN TEXTOBJ) as L1 on (GETSEL SEL L1) as LN
on (GETSEL SEL LN) when (EQ P AFTERPANE) do (push (CDR L1)
NIL)
(push (CDR LN)
NIL))
(WINDOWPROP PANE 'PROMPTWINDOW (WINDOWPROP AFTERPANE 'PROMPTWINDOW)))
(FSETSEL SEL HASCARET (NOT (FGETTOBJ TEXTOBJ TXTREADONLY)))
(\TEDIT.FIXSEL SEL TSTREAM (AND AFTERPANE PANE)) (* ;
 "If not fixed, the highlight in the lower pane will disappear")
@@ -775,7 +786,8 @@
(DEFINEQ
(\TEDIT.CURSORMOVEDFN
[LAMBDA (PANE) (* ; "Edited 27-Apr-2025 23:43 by rmk")
[LAMBDA (PANE) (* ; "Edited 14-Jan-2026 00:42 by rmk")
(* ; "Edited 27-Apr-2025 23:43 by rmk")
(* ; "Edited 24-Apr-2025 10:35 by rmk")
(* ; "Edited 19-Apr-2025 22:22 by rmk")
(* ; "Edited 1-Dec-2024 11:55 by rmk")
@@ -792,71 +804,68 @@
(CL:WHEN (fetch (TEXTWINDOW WTEXTSTREAM) of (OR (WINDOWP PANE)
(PANEWINDOW PANE)))
[PROG ((X (LASTMOUSEX PANE))
(Y (LASTMOUSEY PANE))
(TEXTOBJ (PANETEXTOBJ PANE))
(CURSORREG (fetch (TEXTWINDOW CURSORREGION) of (PANEWINDOW PANE)))
LINE LEFT)
(CL:UNLESS (INSIDE? (PANEREGION PANE)
X Y)
(CURSOR T)
(RETURN))
(CL:UNLESS (INSIDE? CURSORREG X Y)
[if [AND (IGEQ X (SETQ LEFT (IDIFFERENCE (PANERIGHT PANE)
\TEDIT.OP.WIDTH)))
(IGEQ Y (IPLUS (PANEBOTTOM PANE)
\TEDIT.OP.BOTTOM))
(NOT (OR (FGETTOBJ TEXTOBJ TXTNOTSPLITTABLE)
(EQ \TEDIT.OP.WIDTH -1]
then
(* ;; "We're in the split region on the right")
[LET ((X (LASTMOUSEX PANE))
(Y (LASTMOUSEY PANE))
(TEXTOBJ (PANETEXTOBJ PANE))
(CURSORREG (fetch (TEXTWINDOW CURSORREGION) of (PANEWINDOW PANE)))
LINE LEFT)
(CL:UNLESS (INSIDE? CURSORREG X Y)
[if [AND (IGEQ X (SETQ LEFT (IDIFFERENCE (PANERIGHT PANE)
\TEDIT.OP.WIDTH)))
(IGEQ Y (IPLUS (PANEBOTTOM PANE)
\TEDIT.OP.BOTTOM))
(NOT (OR (FGETTOBJ TEXTOBJ TXTNOTSPLITTABLE)
(EQ \TEDIT.OP.WIDTH -1]
then
(* ;; "We're in the split region on the right")
(CURSOR \TEDIT.SPLITCURSOR)
(FSETTOBJ TEXTOBJ MOUSEREGION 'PANE)
(CURSOR \TEDIT.SPLITCURSOR)
(FSETTOBJ TEXTOBJ MOUSEREGION 'PANE)
(* ;
 "PANE just signals \TEDIT.BUTTONEVENTFN to do a split operation.")
(replace (REGION LEFT) of CURSORREG with LEFT)
(replace (REGION WIDTH) of CURSORREG with \TEDIT.OP.WIDTH)
else
(* ;; "Not in the split region. Are we in the line-select region on the left? Don't call PANEPREFIX, because that tests for LINEDESCRIPTOR")
(replace (REGION LEFT) of CURSORREG with LEFT)
(replace (REGION WIDTH) of CURSORREG with \TEDIT.OP.WIDTH)
else
(* ;; "Not in the split region. Are we in the line-select region on the left? Don't call PANEPREFIX, because that tests for LINEDESCRIPTOR")
(SETQ LINE (find L inlines (GETPANEPROP (PANEPROPS PANE)
PREFIXLINE)
suchthat (ILEQ (FGETLD L YBOT)
Y)))
(CL:WHEN LINE (* ;
(SETQ LINE (find L inlines (GETPANEPROP (PANEPROPS PANE)
PREFIXLINE)
suchthat (ILEQ (FGETLD L YBOT)
Y)))
(CL:WHEN LINE (* ;
 "The CURSORREGION picks out just LINE")
(replace BOTTOM of CURSORREG with (FGETLD LINE YBOT))
(replace HEIGHT of CURSORREG with (FGETLD LINE LHEIGHT)))
(replace BOTTOM of CURSORREG with (FGETLD LINE YBOT))
(replace HEIGHT of CURSORREG with (FGETLD LINE LHEIGHT)))
(* ;; "The line region gets wider if the paragraph is indented")
(* ;; "The line region gets wider if the paragraph is indented")
(SETQ LEFT (OR (AND LINE (FGETLD LINE LEFTMARGIN))
(IPLUS (PANELEFT PANE)
\TEDIT.LINEREGION.WIDTH)))
(if (ILESSP X LEFT)
then
(* ;; "In left margin; switch to the line-select cursor")
(SETQ LEFT (OR (AND LINE (FGETLD LINE LEFTMARGIN))
(IPLUS (PANELEFT PANE)
\TEDIT.LINEREGION.WIDTH)))
(if (ILESSP X LEFT)
then
(* ;; "In left margin; switch to the line-select cursor")
(CURSOR \TEDIT.LINECURSOR)
(FSETTOBJ TEXTOBJ MOUSEREGION 'LINE)
(replace (REGION LEFT) of CURSORREG with 0)
(replace (REGION WIDTH) of CURSORREG with LEFT)
else
(* ;;
(CURSOR \TEDIT.LINECURSOR)
(FSETTOBJ TEXTOBJ MOUSEREGION 'LINE)
(replace (REGION LEFT) of CURSORREG with 0)
(replace (REGION WIDTH) of CURSORREG with LEFT)
else
(* ;;
 "Not in the line-select region, not in the split region, must be the main text. ")
(CURSOR T)
(FSETTOBJ TEXTOBJ MOUSEREGION 'TEXT)
(replace (REGION LEFT) of CURSORREG with LEFT)
(replace (REGION WIDTH) of CURSORREG with (IDIFFERENCE (PANERIGHT
PANE)
(IPLUS LEFT
(CURSOR T)
(FSETTOBJ TEXTOBJ MOUSEREGION 'TEXT)
(replace (REGION LEFT) of CURSORREG with LEFT)
(replace (REGION WIDTH) of CURSORREG with (IDIFFERENCE (PANERIGHT
PANE)
(IPLUS LEFT
\TEDIT.LINEREGION.WIDTH
])])])
])])])
(\TEDIT.CURSOROUTFN
[LAMBDA (PANE) (* ; "Edited 4-May-2025 14:27 by rmk")
[LAMBDA (PANE) (* ; "Edited 10-Jan-2026 22:49 by rmk")
(* ; "Edited 4-May-2025 14:27 by rmk")
(* ; "Edited 20-Jul-2023 20:32 by rmk")
(* ; "Edited 30-May-91 23:32 by jds")
@@ -1147,7 +1156,9 @@
(DEFINEQ
(\TEDIT.BUTTONEVENTFN
[LAMBDA (PANE) (* ; "Edited 6-May-2025 20:35 by rmk")
[LAMBDA (PANE) (* ; "Edited 15-Jan-2026 00:39 by rmk")
(* ; "Edited 11-Jan-2026 08:30 by rmk")
(* ; "Edited 6-May-2025 20:35 by rmk")
(* ; "Edited 21-Apr-2025 20:19 by rmk")
(* ; "Edited 13-Apr-2025 13:33 by rmk")
(* ; "Edited 6-Apr-2025 18:59 by rmk")
@@ -1187,7 +1198,7 @@
(OLDX _ MIN.SMALLP)
(OLDY _ MIN.SMALLP)
(PREG _ (PANEREGION PANE))
TEXTOBJ CURSEL NEWSEL CUROPERATION NEWOPERATION PENDINGDEL READONLY
TEXTOBJ CURSEL NEWSEL CUROPERATION NEWOPERATION PENDINGDEL READONLY SECSEL
declare (SPECVARS CURSEL) first
(* ;; "Pick off and return from a bunch of peripheral situations, then fall through to the complexities of normal text selection.")
@@ -1215,13 +1226,34 @@
(* ;; "")
(SETQ READONLY (FGETTOBJ TEXTOBJ TXTREADONLY))
(SETQ CUROPERATION 'NORMAL)
(SETQ NEWOPERATION (\TEDIT.BUTTONEVENTFN.GETOPERATION
READONLY NIL))
(CL:UNLESS (SETQ CURSEL (
READONLY NIL))
(* ;; "")
(if (SETQ CURSEL (FGETTOBJ TEXTOBJ SECONDARYSEL))
then (* ;
 "Mouse moved out and came back...and clicked.")
(SETQ CUROPERATION (FGETSEL CURSEL
SELOPERATION))
(SETQ PENDINGDEL (EQ CUROPERATION
'PENDINGDEL))
(CL:UNLESS (EQ NEWOPERATION CUROPERATION)
(* ;
 "Shift keys have changed, turn off old secondary")
(\TEDIT.SEL.OFF TSTREAM CURSEL))
(CL:WHEN (EQ NEWOPERATION 'NORMAL)
(* ; "")
(CL:UNLESS (SETQ CURSEL (
 \TEDIT.BUTTONEVENTFN.CURSEL.INIT
NEWOPERATION TSTREAM))
(RETURN))
NEWOPERATION
TSTREAM))
(RETURN)))
elseif (SETQ CURSEL (
 \TEDIT.BUTTONEVENTFN.CURSEL.INIT
NEWOPERATION TSTREAM))
then (SETQ CUROPERATION 'NORMAL)
else (RETURN))
(SETQ NEWSEL (\TEDIT.COPYSEL CURSEL))
(* ;
 "Gets line-chains and consistent initial looks")
@@ -1230,35 +1262,27 @@
(GETMOUSESTATE) (* ;
 "And get the new mouse and key info")
(\TEDIT.CURSORMOVEDFN PANE)
(SETQ NEWOPERATION (\TEDIT.BUTTONEVENTFN.GETOPERATION READONLY CUROPERATION))
(SETQ NEWOPERATION (\TEDIT.BUTTONEVENTFN.GETOPERATION READONLY CUROPERATION))
(FSETTOBJ TEXTOBJ SECONDARYSEL CURSEL)
(* ;; "We're done if keys and buttons are up")
until (AND (EQ NEWOPERATION 'NORMAL)
(ALLBUTTONSUP)) unless (AND (IEQP OLDX (SETQ X (LASTMOUSEX DS)))
(IEQP OLDY (SETQ Y (LASTMOUSEY DS)))
(EQ CUROPERATION NEWOPERATION))
do
do (CL:UNLESS (INSIDEP (PANEREGION PANE PREG)
X Y) (* ;
 "Left the window, stay in the loop if scrolling")
(CL:UNLESS (IN/SCROLL/BAR? PANE LASTMOUSEX LASTMOUSEY)
(RETURN))
(SCROLL.HANDLER PANE))
(* ;; "")
(* ;; "Polling loop, track the mouse until the buttons and modifier keys come up, i.e. NORMAL Nothing to do until the mouse moves or the operation changes. .")
(* ;; "First and always: CURSEL is ON at this point and matches the display. NEWSEL may not be well-defined.")
(CL:UNLESS (INSIDEP (PANEREGION PANE PREG)
X Y) (* ;
 "The mouse left the window: cleanup and leave. ")
(CL:UNLESS (EQ CUROPERATION 'NORMAL) (* ;
 "Take down the copy/delete/copylooks highlight")
(\TEDIT.SEL.OFF TSTREAM CURSEL)
(\TEDIT.SEL.ON TSTREAM)) (* ; "Go back to original selection?")
(* ;;
 "Scroll if mouse moved to scroll bar (and scroll bar doesn't overlap the window)")
(CL:WHEN (IN/SCROLL/BAR? PANE LASTMOUSEX LASTMOUSEY)
(SCROLL.HANDLER PANE))
(RETURN))
(* ;; "")
(* ;; "Ready to track the selection.")
(SETQ OLDX X)
@@ -1322,9 +1346,12 @@
(* ;; "Out of Polling loop")
(SETTOBJ (FTEXTOBJ TSTREAM)
SECONDARYSEL NIL) (* ;
 "All keys are up, secondary selection is closed")
(CL:UNLESS (FGETSEL NEWSEL SET)
(* ;; ".Here to restore when no valid selection, maybe an unhappy image object?")
(* ;; "Here to restore when no valid selection, maybe an unhappy image object?")
(\TEDIT.SEL.OFF TSTREAM CURSEL) (* ; "Turn off CURSEL")
(\TEDIT.SET.SEL.LOOKS (TEXTSEL TEXTOBJ)
@@ -1335,6 +1362,8 @@
(\TEDIT.BUTTONEVENTFN.DOOPERATION
[LAMBDA (CURSEL CUROPERATION TSTREAM PANE PENDINGDEL TTYPROC)
(* ; "Edited 31-Jan-2026 11:51 by rmk")
(* ; "Edited 9-Jan-2026 11:28 by rmk")
(* ; "Edited 6-May-2025 11:54 by rmk")
(* ; "Edited 27-Apr-2025 22:26 by rmk")
(* ; "Edited 21-Apr-2025 20:32 by rmk")
@@ -1388,14 +1417,14 @@
 "Make sure the caret blinks in the position of a successful deletion")
(FSETSEL TEXTSEL HASCARET T))
(\TEDIT.SETCARET TEXTSEL PANE TEXTOBJ T))
(COPY (CL:IF TTYSEL
(COPY (\TEDIT.SEL.OFF TSTREAM CURSEL)
(CL:IF TTYSEL
(\TEDIT.COPY CURSEL TTYSEL TSTREAM TTYSTREAM)
(\TEDIT.FOREIGN.COPY TTYW CURSEL TSTREAM))
(\TEDIT.SEL.OFF TSTREAM CURSEL))
(\TEDIT.FOREIGN.COPY CURSEL TSTREAM)))
(MOVE (\TEDIT.SEL.OFF TSTREAM CURSEL)
(if TTYSEL
then (\TEDIT.MOVE CURSEL TTYSEL TSTREAM TTYSTREAM)
else (\TEDIT.FOREIGN.COPY TTYW CURSEL TSTREAM)
else (\TEDIT.FOREIGN.COPY CURSEL TSTREAM)
(* ; "TEXTSEL moves to deletion point")
(\TEDIT.UPDATE.SEL TEXTSEL (FGETSEL CURSEL CH#)
0
@@ -1618,7 +1647,8 @@
then (TEDIT.INSERT TSTREAM I])
(\TEDIT.FOREIGN.COPY
[LAMBDA (TTYW SOURCESEL SOURCESTREAM BKSYSBUFP) (* ; "Edited 28-Mar-2025 12:51 by rmk")
[LAMBDA (SOURCESEL SOURCESTREAM BKSYSBUFP) (* ; "Edited 31-Jan-2026 09:20 by rmk")
(* ; "Edited 28-Mar-2025 12:51 by rmk")
(* ; "Edited 27-Aug-2024 13:38 by rmk")
(* ; "Edited 7-Jul-2024 09:26 by rmk")
(* ; "Edited 29-Apr-2024 13:37 by rmk")
@@ -1630,7 +1660,8 @@
(CL:WHEN (IGREATERP (GETSEL SOURCESEL DCH)
0) (* ; "If empty, nothing to do")
[if (AND NIL (NOT BKSYSBUFP)
(WINDOWPROP TTYW 'COPYINSERTFN))
(PROCESSPROP (TTY.PROCESS)
'WINDOW))
then
(* ;; "This is a stub for a definition that knows how to do a looked string object, given that the destination TTY window has a COPYINSERTFN. OBJECTFROMSEL is in {LFG}tedit/UNBREAKABLESTRING")
@@ -2060,7 +2091,8 @@
PROMPTWINDOW])
(TEDIT.PROMPTPRINT
[LAMBDA (TSTREAM MSG CLEAR? FLASH?) (* ; "Edited 14-Dec-2025 17:41 by rmk")
[LAMBDA (TSTREAM MSG CLEAR? FLASH?) (* ; "Edited 7-Feb-2026 18:51 by rmk")
(* ; "Edited 14-Dec-2025 17:41 by rmk")
(* ; "Edited 29-Dec-2024 14:45 by rmk")
(* ; "Edited 26-Nov-2023 10:10 by rmk")
(* ; "Edited 10-Sep-2023 00:27 by rmk")
@@ -2072,31 +2104,33 @@
(* ;; "Print a message in the editor's prompt window (if none, use the global promptwindow). Optionally clear the window first.")
(LET ((TEXTOBJ (TEXTOBJ TSTREAM T))
PWINDOW MAINWINDOW)
(if TEXTOBJ
then (CL:WHEN (SETQ MAINWINDOW (\TEDIT.MAINW TEXTOBJ))
[SETQ PWINDOW
(CAR (NLSETQ (SELECTQ PWINDOW
(DON'T (CL:WHEN (GETTEXTPROP TEXTOBJ 'PWINDOW.ON.DEMAND)
(GETPROMPTWINDOW MAINWINDOW)))
(NIL (CL:WHEN TSTREAM
[GETPROMPTWINDOW MAINWINDOW NIL NIL
(NOT (GETTEXTPROP TEXTOBJ 'PWINDOW.ON.DEMAND]))
PWINDOW]) (* ;
(PROG ((TEXTOBJ (TEXTOBJ TSTREAM T))
PWINDOW MAINWINDOW)
(CL:UNLESS TEXTOBJ
(PROMPTPRINT MSG)
(RETURN))
(CL:WHEN (SETQ MAINWINDOW (\TEDIT.MAINW TSTREAM))
(SETQ PWINDOW (FGETTOBJ TEXTOBJ PROMPTWINDOW))
[SETQ PWINDOW (CAR (NLSETQ (SELECTQ PWINDOW
(DON'T (CL:WHEN (GETTEXTPROP TEXTOBJ 'PWINDOW.ON.DEMAND)
(GETPROMPTWINDOW MAINWINDOW)))
(NIL (CL:WHEN TSTREAM
[GETPROMPTWINDOW MAINWINDOW NIL NIL
(NOT (GETTEXTPROP TEXTOBJ
'PWINDOW.ON.DEMAND]))
PWINDOW]) (* ;
 "Try to find an editor's prompt window for our message")
(COND
((WINDOWP PWINDOW) (* ;
(if (WINDOWP PWINDOW)
then (* ;
 "We found a window to use. Print the message.")
(CL:WHEN CLEAR? (CLEARW PWINDOW))
(CL:WHEN FLASH? (FLASHWINDOW PWINDOW 1 75))
(PRIN1 MSG PWINDOW))
(T (* ;
(CL:WHEN CLEAR? (CLEARW PWINDOW))
(CL:WHEN FLASH? (FLASHWINDOW PWINDOW 1 75))
(PRIN1 MSG PWINDOW)
else (* ;
 "Failing all else, use global PROMPTWINDOW.")
(FRESHLINE PROMPTWINDOW)
(CL:WHEN FLASH? (FLASHWINDOW PWINDOW 1 75))
(printout PROMPTWINDOW MSG)))
else (PROMPTPRINT MSG])
(FRESHLINE PROMPTWINDOW)
(CL:WHEN FLASH? (FLASHWINDOW PWINDOW 1 75))
(printout PROMPTWINDOW MSG])
(TEDIT.PROMPTCLEAR
[LAMBDA (TSTREAM FONT) (* ; "Edited 14-Dec-2025 17:34 by rmk")
@@ -3664,36 +3698,36 @@
(RPAQ? TEDIT.TITLED.ICON.TEMPLATE (create TITLEDICON ICON _ TEDITICON MASK _ TEDITMASK TITLEREG _
TEDIT.ICON.TITLE.REGION))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (17143 18039 (TEDIT.DEFER.UPDATES 17153 . 18037)) (18040 45281 (\TEDIT.WINDOW.CREATE
18050 . 24913) (\TEDIT.WINDOW.GETREGION 24915 . 29619) (\TEDIT.WINDOW.SETUP 29621 . 33951) (
\TEDIT.MINIMAL.WINDOW.SETUP 33953 . 41913) (\TEDIT.CLEARPANE 41915 . 42632) (\TEDIT.FILL.PANES 42634
. 45279)) (45282 68983 (\TEDIT.CURSORMOVEDFN 45292 . 50902) (\TEDIT.CURSOROUTFN 50904 . 51592) (
\TEDIT.ACTIVE.WINDOWP 51594 . 52664) (\TEDIT.EXPANDFN 52666 . 53229) (\TEDIT.MAINW 53231 . 54511) (
\TEDIT.MAINSTREAM 54513 . 54847) (\TEDIT.PRIMARYPANE 54849 . 55619) (\TEDIT.PANELIST 55621 . 56117) (
\TEDIT.NEWREGIONFN 56119 . 58635) (\TEDIT.SET.WINDOW.EXTENT 58637 . 63619) (\TEDIT.SHRINK.ICONCREATE
63621 . 66354) (\TEDIT.SHRINKFN 66356 . 66765) (\TEDIT.PANEREGION 66767 . 68981)) (69015 102061 (
\TEDIT.BUTTONEVENTFN 69025 . 81998) (\TEDIT.BUTTONEVENTFN.DOOPERATION 82000 . 89263) (
\TEDIT.BUTTONEVENTFN.GETOPERATION 89265 . 91107) (\TEDIT.BUTTONEVENTFN.CURSEL.INIT 91109 . 94779) (
\TEDIT.BUTTONEVENTFN.INACTIVE 94781 . 97211) (\TEDIT.BUTTONEVENTFN.INTITLE 97213 . 99048) (
\TEDIT.COPYINSERTFN 99050 . 100182) (\TEDIT.FOREIGN.COPY 100184 . 102059)) (102062 119625 (
\TEDIT.PANE.SPLIT 102072 . 106020) (\TEDIT.SPLITW 106022 . 114081) (\TEDIT.UNSPLITW 114083 . 118282) (
\TEDIT.LINKPANES 118284 . 119047) (\TEDIT.UNLINKPANE 119049 . 119623)) (121059 121950 (TEDITWINDOWP
121069 . 121948)) (121987 125090 (TEDIT.GETINPUT 121997 . 124440) (\TEDIT.MAKEFILENAME 124442 . 125088
)) (125139 132985 (TEDIT.PROMPTWINDOW 125149 . 125463) (TEDIT.PROMPTPRINT 125465 . 128195) (
TEDIT.PROMPTCLEAR 128197 . 130032) (TEDIT.PROMPTFLASH 130034 . 131292) (\TEDIT.PROMPT.PAGEFULLFN
131294 . 132983)) (133223 143801 (\TEDIT.FILENAME 133233 . 134005) (\TEDIT.DEFAULT.TITLE 134007 .
136386) (\TEDIT.WINDOW.TITLE 136388 . 138557) (\TEDIT.LIKELY.FILENAME 138559 . 141283) (
\TEDIT.UPDATE.TITLE 141285 . 143799)) (143844 156328 (TEDIT.DEACTIVATE.WINDOW 143854 . 149427) (
\TEDIT.RESHAPEFN 149429 . 151514) (\TEDIT.REPAINTFN 151516 . 151740) (\TEDIT.CLOSESPLITS 151742 .
154187) (\TEDIT.CLOSEPANE 154189 . 156326)) (156329 199128 (\TEDIT.SCROLLFN 156339 . 158570) (
\TEDIT.SCROLLCH.TOP 158572 . 160683) (\TEDIT.SCROLLCH.BOTTOM 160685 . 165015) (\TEDIT.SCROLLUP 165017
. 170743) (\TEDIT.TOPLINE.YTOP 170745 . 172414) (\TEDIT.SCROLLDOWN 172416 . 179455) (
\TEDIT.SCROLL.CARET 179457 . 182295) (\TEDIT.VISIBLECARETP 182297 . 184591) (\TEDIT.VISIBLECHARP
184593 . 185684) (\TEDIT.BITMAPLINES 185686 . 189606) (\TEDIT.SETPANE.TOPLINE 189608 . 190220) (
\TEDIT.SHIFTLINES 190222 . 199126)) (199129 209998 (\TEDIT.ONSCREEN? 199139 . 203690) (
\TEDIT.ONSCREEN.REGION 203692 . 207343) (\TEDIT.AFTERMOVEFN 207345 . 208242) (OFFSCREENP 208244 .
209996)) (210040 212854 (\TEDIT.PROCIDLEFN 210050 . 211710) (\TEDIT.PROCENTRYFN 211712 . 212157) (
\TEDIT.PROCEXITFN 212159 . 212852)) (212933 226158 (\TEDIT.DOWNCARET 212943 . 213736) (
\TEDIT.FLASHCARET 213738 . 215849) (\TEDIT.UPCARET 215851 . 216955) (TEDIT.NORMALIZECARET 216957 .
220175) (\TEDIT.SETCARET 220177 . 225528) (\TEDIT.CARET 225530 . 226156)))))
(FILEMAP (NIL (17097 17993 (TEDIT.DEFER.UPDATES 17107 . 17991)) (17994 46195 (\TEDIT.WINDOW.CREATE
18004 . 24867) (\TEDIT.WINDOW.GETREGION 24869 . 30356) (\TEDIT.WINDOW.SETUP 30358 . 34865) (
\TEDIT.MINIMAL.WINDOW.SETUP 34867 . 42827) (\TEDIT.CLEARPANE 42829 . 43546) (\TEDIT.FILL.PANES 43548
. 46193)) (46196 69923 (\TEDIT.CURSORMOVEDFN 46206 . 51733) (\TEDIT.CURSOROUTFN 51735 . 52532) (
\TEDIT.ACTIVE.WINDOWP 52534 . 53604) (\TEDIT.EXPANDFN 53606 . 54169) (\TEDIT.MAINW 54171 . 55451) (
\TEDIT.MAINSTREAM 55453 . 55787) (\TEDIT.PRIMARYPANE 55789 . 56559) (\TEDIT.PANELIST 56561 . 57057) (
\TEDIT.NEWREGIONFN 57059 . 59575) (\TEDIT.SET.WINDOW.EXTENT 59577 . 64559) (\TEDIT.SHRINK.ICONCREATE
64561 . 67294) (\TEDIT.SHRINKFN 67296 . 67705) (\TEDIT.PANEREGION 67707 . 69921)) (69955 105080 (
\TEDIT.BUTTONEVENTFN 69965 . 84672) (\TEDIT.BUTTONEVENTFN.DOOPERATION 84674 . 92145) (
\TEDIT.BUTTONEVENTFN.GETOPERATION 92147 . 93989) (\TEDIT.BUTTONEVENTFN.CURSEL.INIT 93991 . 97661) (
\TEDIT.BUTTONEVENTFN.INACTIVE 97663 . 100093) (\TEDIT.BUTTONEVENTFN.INTITLE 100095 . 101930) (
\TEDIT.COPYINSERTFN 101932 . 103064) (\TEDIT.FOREIGN.COPY 103066 . 105078)) (105081 122644 (
\TEDIT.PANE.SPLIT 105091 . 109039) (\TEDIT.SPLITW 109041 . 117100) (\TEDIT.UNSPLITW 117102 . 121301) (
\TEDIT.LINKPANES 121303 . 122066) (\TEDIT.UNLINKPANE 122068 . 122642)) (124078 124969 (TEDITWINDOWP
124088 . 124967)) (125006 128109 (TEDIT.GETINPUT 125016 . 127459) (\TEDIT.MAKEFILENAME 127461 . 128107
)) (128158 136241 (TEDIT.PROMPTWINDOW 128168 . 128482) (TEDIT.PROMPTPRINT 128484 . 131451) (
TEDIT.PROMPTCLEAR 131453 . 133288) (TEDIT.PROMPTFLASH 133290 . 134548) (\TEDIT.PROMPT.PAGEFULLFN
134550 . 136239)) (136479 147057 (\TEDIT.FILENAME 136489 . 137261) (\TEDIT.DEFAULT.TITLE 137263 .
139642) (\TEDIT.WINDOW.TITLE 139644 . 141813) (\TEDIT.LIKELY.FILENAME 141815 . 144539) (
\TEDIT.UPDATE.TITLE 144541 . 147055)) (147100 159584 (TEDIT.DEACTIVATE.WINDOW 147110 . 152683) (
\TEDIT.RESHAPEFN 152685 . 154770) (\TEDIT.REPAINTFN 154772 . 154996) (\TEDIT.CLOSESPLITS 154998 .
157443) (\TEDIT.CLOSEPANE 157445 . 159582)) (159585 202384 (\TEDIT.SCROLLFN 159595 . 161826) (
\TEDIT.SCROLLCH.TOP 161828 . 163939) (\TEDIT.SCROLLCH.BOTTOM 163941 . 168271) (\TEDIT.SCROLLUP 168273
. 173999) (\TEDIT.TOPLINE.YTOP 174001 . 175670) (\TEDIT.SCROLLDOWN 175672 . 182711) (
\TEDIT.SCROLL.CARET 182713 . 185551) (\TEDIT.VISIBLECARETP 185553 . 187847) (\TEDIT.VISIBLECHARP
187849 . 188940) (\TEDIT.BITMAPLINES 188942 . 192862) (\TEDIT.SETPANE.TOPLINE 192864 . 193476) (
\TEDIT.SHIFTLINES 193478 . 202382)) (202385 213254 (\TEDIT.ONSCREEN? 202395 . 206946) (
\TEDIT.ONSCREEN.REGION 206948 . 210599) (\TEDIT.AFTERMOVEFN 210601 . 211498) (OFFSCREENP 211500 .
213252)) (213296 216110 (\TEDIT.PROCIDLEFN 213306 . 214966) (\TEDIT.PROCENTRYFN 214968 . 215413) (
\TEDIT.PROCEXITFN 215415 . 216108)) (216189 229414 (\TEDIT.DOWNCARET 216199 . 216992) (
\TEDIT.FLASHCARET 216994 . 219105) (\TEDIT.UPCARET 219107 . 220211) (TEDIT.NORMALIZECARET 220213 .
223431) (\TEDIT.SETCARET 223433 . 228784) (\TEDIT.CARET 228786 . 229412)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,11 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "16-Feb-2026 08:56:58" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;249 52790
(FILECREATED " 1-May-2026 08:16:04" {MEDLEY}<library>tedit>tedit-exports.all;255 52514
:EDIT-BY rmk
:PREVIOUS-DATE "14-Jan-2026 14:50:53" {WMEDLEY}<library>TEDIT>tedit-exports.all;248)
:PREVIOUS-DATE "15-Apr-2026 23:45:28" {MEDLEY}<library>TEDIT>tedit-exports.all;254)
(PRETTYCOMPRINT ((E (MAPC (MKLIST FROMFILES) (FUNCTION (LAMBDA (F) (MAPC (IMPORTFILE F FLG) (FUNCTION
@@ -17,7 +16,7 @@ PRINT))))))))
(PUTPROPS FTEXTOBJ MACRO ((X) (TEXTOBJ! (CL:IF (type? TEXTOBJ X) X (GETTSTR X TEXTOBJ)))))
(GLOBALVARS CHECK-TEDIT-ASSERTIONS)
(RPAQ? CHECK-TEDIT-ASSERTIONS T)
(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE " 4-Feb-2026 16:02:02"))
(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE "10-Mar-2026 18:07:31"))
(RPAQQ \BTREEWORDSPERSLOT 4)
(RPAQQ \BTREEMAXCOUNT 8)
(CONSTANTS (\BTREEWORDSPERSLOT 4) (\BTREEMAXCOUNT 8))
@@ -51,7 +50,7 @@ DLEN1 DOWN2 DLEN2 DOWN3 DLEN3 DOWN4 DLEN4 DOWN5 DLEN5 DOWN6 DLEN6 DOWN7 DLEN7 DO
(\DTEST (OR (NEXTPIECE I.V.) (GO $$OUT)) (QUOTE PIECE)))))
(I.S.OPR (QUOTE backpieces) NIL (QUOTE (first (SETQ I.V. (\DTEST (OR BODY (GO $$OUT)) (QUOTE PIECE)))
by (\DTEST (OR (PREVPIECE I.V.) (GO $$OUT)) (QUOTE PIECE)))))
(PUTPROP (QUOTE TEDIT-PCTREE) (QUOTE IMPORTDATE) (IDATE "14-Feb-2026 13:22:06"))
(PUTPROP (QUOTE TEDIT-PCTREE) (QUOTE IMPORTDATE) (IDATE " 9-Apr-2026 17:25:38"))
(DATATYPE SELECTION ((* ;;
"Description of a piece of selected text for TEdit. Text has to be selected before it can be operated on by the user. The caret is to the left of CH# if POINT is LEFT, to the keft of CHLIM if POINT is RIGHT."
) (* ;; "If DCH > 0, highlighting goes from CH# to (SUB1 CHLIM = (SUB1 (IPLUS CH# DCH)).") (* ;;
@@ -128,7 +127,7 @@ TSTREAM ONLYPANE DONTFIX)))
(PUTPROPS \TEDIT.SEL.OFF MACRO ((TSTREAM SEL ONLYPANE) (* ;
"Takes down SEL in TSTREAM, where SEL defaults to the current selection") (\TEDIT.SHOWSEL SEL NIL
TSTREAM ONLYPANE)))
(PUTPROP (QUOTE TEDIT-SELECTION) (QUOTE IMPORTDATE) (IDATE "16-Feb-2026 00:38:33"))
(PUTPROP (QUOTE TEDIT-SELECTION) (QUOTE IMPORTDATE) (IDATE "16-Apr-2026 09:27:41"))
(RECORD TAB (TABX . TABKIND))
(RECORD TABSPEC (DEFAULTTAB . TABS))
(DATATYPE LINECACHE ((* ;; "Image cache for display lines.") LCBITMAP (* ;
@@ -263,21 +262,22 @@ $$CHARSLOTLIMIT))))) T)
(DATATYPE PIECE ((* ;
"The piece describes either a string or part of a file. , or a generalized OBJECT.") PCONTENTS (* ;
"The background source of data for this piece (stream, string, block, object, depending on the PTYPE)."
) (PTYPE BITS 4) (* ; "How the characters are delivered: thinfile, fatstring, object, substream")
PBYTELEN (* ; "Length of this character piece in bytes. PBYTELEN = PLEN*PBYTESPERCHAR") PFPOS (* ;
"The FILEPTR of the start of the piece in the file") PLEN (* ; "Length of the piece, in characters.")
NEXTPIECE (* ; "-> Next piece in this textobj.") (PREVPIECE FULLXPOINTER) (* ;
"-> Prior piece in this text object.") PCHARLOOKS (* ; "Character formatting info ") PBYTESPERCHAR (*
; "The number of bytes per character, given that all characters in a piece are the same length.") (
) (PTYPE BITS 4) (* ; "How the characters are delivered: thinfile, fatstring, object, substream") NIL
(* ; "Was PBYTELEN: Length of this character piece in bytes. PBYTELEN = PLEN*PBYTESPERCHAR") PFPOS (*
; "The FILEPTR of the start of the piece in the file") PLEN (* ;
"Length of the piece, in characters.") NEXTPIECE (* ; "-> Next piece in this textobj.") (PREVPIECE
FULLXPOINTER) (* ; "-> Prior piece in this text object.") PCHARLOOKS (* ; "Character formatting info "
) PBYTESPERCHAR (* ;
"The number of bytes per character, given that all characters in a piece are the same length.") (
PPARALAST FLAG) (* ; "This piece ends paragraph") PPARALOOKS (* ; "Paragraph looks for this piece") (
PNEW FLAG) (* ;
"This text is new here; used by the tentative edit system, and anyone else interested.") (NIL FLAG) (
* ; "Was PFATP") (PBINABLE FLAG) (* ; "8-bit bytes are binable (THINSTRING and THINFILE) ") (PTREENODE
XPOINTER) (* ; "Points to the PCTB tree-node that contains this piece.") (PCHARSET BYTE) (* ;
"High-order charset for FATFILE1 pieces") (PUTF8BYTESPERCHAR BYTE)) (* ;
"The number of bytes in the UTF-8 encoding of all the Unicode characters in this piece") (ACCESSFNS ((
POBJ (AND (EQ OBJECT.PTYPE (PTYPE DATUM)) (type? IMAGEOBJ (PCONTENTS DATUM)) (PCONTENTS DATUM)) (AND (
EQ OBJECT.PTYPE (PTYPE DATUM)) (SETPC DATUM PCONTENTS NEWVALUE))))) PFPOS _ 0 PLEN _ 0 PBYTELEN _ 0)
* ; "Was PFATP") (NIL FLAG) (PTREENODE XPOINTER) (* ;
"Points to the PCTB tree-node that contains this piece.") (NIL BYTE) (* ;
"Was PCHARSET: High-order charset for FATFILE1 pieces") NIL) (* ;
"Was PUTF8BYTESPERCHAR: The number of bytes in the UTF-8 encoding of all the Unicode characters in this piece. But this just duplicates PBYTESPERCHAR for UTF-8 pieces"
) (ACCESSFNS ((POBJ (AND (EQ OBJECT.PTYPE (PTYPE DATUM)) (type? IMAGEOBJ (PCONTENTS DATUM)) (PCONTENTS
DATUM)) (AND (EQ OBJECT.PTYPE (PTYPE DATUM)) (SETPC DATUM PCONTENTS NEWVALUE))))) PFPOS _ 0 PLEN _ 0)
(DATATYPE TEXTOBJ ((* ;;
"This is where TEdit stores its state information, and internal data about the text being edited.")
PCTB (* ; "The piece table") TEXTLEN (* ; "# of chars in the text") PRIMARYPANE (* ;
@@ -376,13 +376,12 @@ IMAGEDATA _ NIL)))
(PUTPROPS PTYPE MACRO ((PC) (ffetch (PIECE PTYPE) of PC)))
(PUTPROPS PCONTENTS MACRO ((PC) (ffetch (PIECE PCONTENTS) of PC)))
(PUTPROPS PCHARLOOKS MACRO ((PC) (ffetch (PIECE PCHARLOOKS) of PC)))
(PUTPROPS PCHARSET MACRO ((PC) (ffetch (PIECE PCHARSET) of PC)))
(PUTPROPS PPARALOOKS MACRO ((PC) (ffetch (PIECE PPARALOOKS) of PC)))
(PUTPROPS PPARALAST MACRO ((PC) (ffetch (PIECE PPARALAST) of PC)))
(PUTPROPS PFPOS MACRO ((PC) (ffetch (PIECE PFPOS) of PC)))
(PUTPROPS PBYTELEN MACRO ((PC) (ffetch (PIECE PBYTELEN) of PC)))
(PUTPROPS PBYTELEN MACRO (OPENLAMBDA (PC) (ITIMES (ffetch (PIECE PLEN) of PC) (ffetch (PIECE
PBYTESPERCHAR) of PC))))
(PUTPROPS PNEW MACRO ((PC) (ffetch (PIECE PNEW) of PC)))
(PUTPROPS PBINABLE MACRO ((PC) (ffetch (PIECE PBINABLE) of PC)))
(PUTPROPS PBYTESPERCHAR MACRO ((PC) (ffetch (PIECE PBYTESPERCHAR) of PC)))
(PUTPROPS POBJ MACRO ((PC) (ffetch (PIECE POBJ) of PC)))
(PUTPROPS SETPC MACRO ((PC FIELD NEWVALUE) (replace (PIECE FIELD) of PC with NEWVALUE)))
@@ -391,7 +390,7 @@ IMAGEDATA _ NIL)))
(PUTPROPS FGETPC MACRO ((PC FIELD) (ffetch (PIECE FIELD) of PC)))
(PUTPROPS THINPIECEP MACRO ((PC) (* ;;
"Assume that objects start out thin, for CHARSET in \TEDIT.PUT.PCTB. The putfn might immediately change that, but we don't care."
) (SELECTC (PTYPE PC) (THIN.PTYPES T) (UTF8.PTYPE (EQ 1 (FGETPC PC PUTF8BYTESPERCHAR))) NIL)))
) (SELECTC (PTYPE PC) (THIN.PTYPES T) (UTF8.PTYPE (EQ 1 (FGETPC PC PBYTESPERCHAR))) NIL)))
(PUTPROPS VISIBLEPIECEP MACRO ((PC) (AND PC (NEQ 0 (PLEN PC)) (NOT (FGETCLOOKS (PCHARLOOKS PC)
CLINVISIBLE)))))
(PUTPROPS \NEXT.VISIBLE.PIECE MACRO ((PC) (find NPC inpieces (AND PC (NEXTPIECE PC)) suchthat (
@@ -411,14 +410,13 @@ VISIBLEPIECEP PPC))))
(PUTPROPS FSETTSTR MACRO ((TSTR FIELD NEWVALUE) (freplace (TEXTSTREAM FIELD) of TSTR with NEWVALUE)))
(PUTPROPS TEXTSTREAM! MACRO (OPENLAMBDA (TSTR) (AND (\DTEST TSTR (QUOTE STREAM)) (TEXTOBJ! (FGETTSTR
TSTR TEXTOBJ)) TSTR)))
(RPAQQ PTYPES ((THINFILE.PTYPE 0) (FATFILE1.PTYPE 1) (FATFILE2.PTYPE 2) (THINSTRING.PTYPE 3) (
FATSTRING.PTYPE 4) (SUBSTREAM.PTYPE 5) (OBJECT.PTYPE 6) (LOOKS.PTYPE 7) (UTF16BE.PTYPE 8) (
UTF16LE.PTYPE 9) (UTF8.PTYPE 11) (FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE
UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE)) (
BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE
THINSTRING.PTYPE)) (FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE))))
(RPAQQ PTYPES ((THINFILE.PTYPE 0) (FATFILE2.PTYPE 2) (THINSTRING.PTYPE 3) (FATSTRING.PTYPE 4) (
SUBSTREAM.PTYPE 5) (OBJECT.PTYPE 6) (LOOKS.PTYPE 7) (UTF16BE.PTYPE 8) (UTF16LE.PTYPE 9) (UTF8.PTYPE 11
) (FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (
STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE)) (BINABLE.PTYPES (LIST THINFILE.PTYPE
THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (FAT.PTYPES (LIST
FATFILE2.PTYPE FATSTRING.PTYPE))))
(RPAQQ THINFILE.PTYPE 0)
(RPAQQ FATFILE1.PTYPE 1)
(RPAQQ FATFILE2.PTYPE 2)
(RPAQQ THINSTRING.PTYPE 3)
(RPAQQ FATSTRING.PTYPE 4)
@@ -428,20 +426,19 @@ THINSTRING.PTYPE)) (FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTY
(RPAQQ UTF16BE.PTYPE 8)
(RPAQQ UTF16LE.PTYPE 9)
(RPAQQ UTF8.PTYPE 11)
(RPAQ FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE
UTF16LE.PTYPE))
(RPAQ FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE))
(RPAQ STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE))
(RPAQ BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(RPAQ THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE))
(RPAQ FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE))
(CONSTANTS (THINFILE.PTYPE 0) (FATFILE1.PTYPE 1) (FATFILE2.PTYPE 2) (THINSTRING.PTYPE 3) (
FATSTRING.PTYPE 4) (SUBSTREAM.PTYPE 5) (OBJECT.PTYPE 6) (LOOKS.PTYPE 7) (UTF16BE.PTYPE 8) (
UTF16LE.PTYPE 9) (UTF8.PTYPE 11) (FILE.PTYPES (LIST THINFILE.PTYPE FATFILE1.PTYPE FATFILE2.PTYPE
UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE)) (
BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE
THINSTRING.PTYPE)) (FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE)))
(RPAQ FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE))
(CONSTANTS (THINFILE.PTYPE 0) (FATFILE2.PTYPE 2) (THINSTRING.PTYPE 3) (FATSTRING.PTYPE 4) (
SUBSTREAM.PTYPE 5) (OBJECT.PTYPE 6) (LOOKS.PTYPE 7) (UTF16BE.PTYPE 8) (UTF16LE.PTYPE 9) (UTF8.PTYPE 11
) (FILE.PTYPES (LIST THINFILE.PTYPE FATFILE2.PTYPE UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (
STRING.PTYPES (LIST THINSTRING.PTYPE FATSTRING.PTYPE)) (BINABLE.PTYPES (LIST THINFILE.PTYPE
THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (FAT.PTYPES (LIST
FATFILE2.PTYPE FATSTRING.PTYPE)))
(GLOBALVARS \TEXTIMAGEOPS \TEXTFDEV)
(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE "16-Feb-2026 08:56:40"))
(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE " 1-May-2026 08:15:56"))
(PUTPROPS \TEDIT.MOUSESTATE MACRO (BUTTON (* ;;
"Test to see if only the specified mouse button is down. DOES NOT call GETMOUSESTATE, so the mouse-button info is the same as the last time it was called."
) (SELECTQ (CAR BUTTON) (LEFT (QUOTE (EQ LASTMOUSEBUTTONS 4))) (MIDDLE (QUOTE (EQ LASTMOUSEBUTTONS 1))
@@ -455,8 +452,8 @@ I in ARGS as J on ARGS when (NOT (STRINGP I)) collect (LIST (QUOTE OR) I (LIST (
\BIN STREAM)) BITSPERWORD)))
(PUTPROPS \SMALLPOUT MACRO (OPENLAMBDA (STREAM W) (* ; "Signed smallp, unlike \WOUT") (\BOUT STREAM (
LOGAND 255 (LRSH W 8))) (\BOUT STREAM (LOGAND W 255))))
(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE "15-Feb-2026 23:45:51"))
(PUTPROP (QUOTE TEDIT-OLDFILE) (QUOTE IMPORTDATE) (IDATE " 8-Sep-2025 22:10:10"))
(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE "29-Apr-2026 23:49:14"))
(PUTPROP (QUOTE TEDIT-OLDFILE) (QUOTE IMPORTDATE) (IDATE "10-Apr-2026 09:29:21"))
(DATATYPE CHARLOOKS ((* ;; "Describes the appearance (%"Looks%") of characters in a TEdit document.")
(* ;; "NOTE: If fields change EQCLOOKS should change too.") CLFONT (* ;
"The font descriptor for these characters") CLFONTUNPARSE (* ;;
@@ -538,7 +535,7 @@ LINELEAD _ 0)
(PUTPROPS FSETPLOOKS MACRO ((PLOOKS FIELD NEWVALUE) (freplace (PARALOOKS FIELD) of PLOOKS with
NEWVALUE)))
(PUTPROPS PARALOOKS! MACRO ((PL) (\DTEST PL (QUOTE PARALOOKS))))
(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE "16-Feb-2026 00:36:00"))
(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE "10-Apr-2026 09:34:11"))
(PUTPROP (QUOTE TEDIT-STYLES) (QUOTE IMPORTDATE) (IDATE "28-Jul-2025 23:25:43"))
(DATATYPE TEDITCARET (TCNOWTIME (* Used to hold the current time, when checking to see if a transition
is due) TCTHENTIME (* Time when the next transition is to take place) TCFORCEDDOWN (* TCFORCEDOWN = T
@@ -602,8 +599,8 @@ GETPANEPROP (PANEPROPS P) NEXTPANE))) (GO $$OUT))) by (OR (GETPANEPROP (PANEPROP
$$OUT)))))
(PUTPROPS ALLBUTTONSUP MACRO (NIL (ZEROP (LOGAND 7 LASTMOUSEBUTTONS))))
(PUTPROP (QUOTE TEDIT-WINDOW) (QUOTE IMPORTDATE) (IDATE " 7-Feb-2026 18:53:22"))
(PUTPROP (QUOTE TEDIT-BUTTONS) (QUOTE IMPORTDATE) (IDATE "25-Jan-2026 09:14:04"))
(PUTPROP (QUOTE TEDIT-MENU) (QUOTE IMPORTDATE) (IDATE " 9-Feb-2026 09:10:43"))
(PUTPROP (QUOTE TEDIT-BUTTONS) (QUOTE IMPORTDATE) (IDATE "29-Apr-2026 17:57:09"))
(PUTPROP (QUOTE TEDIT-MENU) (QUOTE IMPORTDATE) (IDATE "29-Apr-2026 15:35:33"))
(PUTPROP (QUOTE TEDIT-FIND) (QUOTE IMPORTDATE) (IDATE "21-Apr-2025 22:42:57"))
(RPAQQ \TEDIT.TTCCODES ((NONE . 0) (CHARDELETE . 1) (:CHARDELETE.BACKWARD . 1) (WORDDELETE . 2) (
:WORDDELETE.BACKWORD . 2) (DELETE . 3) (:DELETE . 3) (FN . 4) (REDO . 5) (:REDO . 5) (UNDO . 6) (:UNDO
@@ -626,7 +623,7 @@ TEDITHISTORYEVENT THLEN) of DATUM) 0))))) (INIT (DEFPRINT (QUOTE TEDITHISTORYEVE
(PUTPROPS GETTH MACRO ((EVENT FIELD) (fetch (TEDITHISTORYEVENT FIELD) of EVENT)))
(PUTPROPS SETTH MACRO ((EVENT FIELD NEWVALUE) (replace (TEDITHISTORYEVENT FIELD) of EVENT with
NEWVALUE)))
(PUTPROP (QUOTE TEDIT-HISTORY) (QUOTE IMPORTDATE) (IDATE " 1-Aug-2025 14:58:56"))
(PUTPROP (QUOTE TEDIT-HISTORY) (QUOTE IMPORTDATE) (IDATE "19-Feb-2026 12:39:37"))
(RECORD PAGEFORMATTINGSTATE ((* ;; "Contains the state for a TEdit page-formatting job.") PAGE# (* ;
"The current page number. Counted from 1") FIRSTPAGE (* ;;
"T if the current page is the 'first page' . Is set initially, and can be set again by the user at will. Gets reset after each page image is printed."
@@ -662,8 +659,8 @@ $$VALUES)) (PROG1 (CAR $$VALUES) (\,@ (FOR V IN (CAR ARGS) collect (COND (V (BQU
$$VALUES)))) (T (BQUOTE (SETQ $$VALUES (CDR $$VALUES))))))))))))
(PUTPROPS TEDIT.VALUES MACRO (ARGS (BQUOTE (LIST (\,@ ARGS)))))
(PUTPROP (QUOTE TEDIT-PAGE) (QUOTE IMPORTDATE) (IDATE "27-Jan-2026 10:30:27"))
(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE "23-Jan-2026 15:49:26"))
(PUTPROP (QUOTE TEDIT-TFBRAVO) (QUOTE IMPORTDATE) (IDATE "21-Jan-2026 12:15:57"))
(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE "30-Apr-2026 11:55:15"))
(PUTPROP (QUOTE TEDIT-TFBRAVO) (QUOTE IMPORTDATE) (IDATE "10-Apr-2026 09:25:52"))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
STOP

Binary file not shown.

187
lispusers/BROKEN-ATOMS Normal file
View File

@@ -0,0 +1,187 @@
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "14-Apr-2026 12:14:44" {PROJECTS}<BROKENATOMS>BROKEN-ATOMS.;10 7207
:CHANGES-TO (FUNCTIONS WITHOUT-BROKEN-ATOMS TEST-PRETTY-FILE TEST-DEEP-COMPUTATION
CURE-BROKEN-ATOM)
(VARS BROKEN-ATOMSCOMS)
:PREVIOUS-DATE "18-Feb-2026 16:08:40" {PROJECTS}<BROKENATOMS>BROKEN-ATOMS.;3)
(PRETTYCOMPRINT BROKEN-ATOMSCOMS)
(RPAQQ BROKEN-ATOMSCOMS
(
(* ;; "the representation of a broken atom")
(RECORDS BROKEN-ATOM)
(FUNCTIONS CURE-BROKEN-ATOM)
(* ;; "for DEFPRINT")
(FNS BROKEN-ATOM-PRINTER)
(* ;; "special form")
(FUNCTIONS WITHOUT-BROKEN-ATOMS)
(* ;; "setup")
(P (DEFPRINT 'BROKEN-ATOM 'BROKEN-ATOM-PRINTER))
(* ;; "Debugging/testing")
(FUNCTIONS TEST-INTERNAL-BA TEST-EXTERNAL-BA TEST-DEEP-COMPUTATION TEST-PRETTY-FILE)))
(* ;; "the representation of a broken atom")
(DECLARE%: EVAL@COMPILE
(DATATYPE BROKEN-ATOM ((PACKAGE POINTER)
(NAME POINTER)
(EXTERNAL FLAG)))
)
(/DECLAREDATATYPE 'BROKEN-ATOM '(POINTER POINTER FLAG)
'((BROKEN-ATOM 0 POINTER)
(BROKEN-ATOM 2 POINTER)
(BROKEN-ATOM 2 (FLAGBITS . 0)))
'4)
(CL:DEFUN CURE-BROKEN-ATOM (CONDITION)
"Given an XCL:MISSING-EXTERNAL-SYMBOL condition, return a corresponding BROKEN-ATOM"
(COND
((TYPEP CONDITION 'XCL:MISSING-PACKAGE) (* ; "no such package ")
(create BROKEN-ATOM
PACKAGE _ (XCL:MISSING-PACKAGE-PACKAGE-NAME CONDITION)
NAME _ (XCL:MISSING-PACKAGE-SYMBOL-NAME CONDITION)
EXTERNAL _ (XCL:MISSING-PACKAGE-EXTERNAL CONDITION)))
((TYPEP CONDITION 'XCL:MISSING-EXTERNAL-SYMBOL) (* ;
 "package exists, no such external symbol")
(create BROKEN-ATOM
PACKAGE _ (CL:PACKAGE-NAME (XCL:MISSING-EXTERNAL-SYMBOL-PACKAGE CONDITION))
NAME _ (XCL:MISSING-EXTERNAL-SYMBOL-NAME CONDITION)
EXTERNAL _ NIL))
(T (HELP "Don't know how to cure" CONDITION))))
(* ;; "for DEFPRINT")
(DEFINEQ
(BROKEN-ATOM-PRINTER
[LAMBDA (BROKEN-ATOM STREAM)
(CONS (CONCAT (fetch (BROKEN-ATOM PACKAGE) of BROKEN-ATOM)
(if (fetch (BROKEN-ATOM EXTERNAL) of BROKEN-ATOM)
then ":"
else "::")
(fetch (BROKEN-ATOM NAME) of BROKEN-ATOM])
)
(* ;; "special form")
(DEFMACRO WITHOUT-BROKEN-ATOMS (&BODY FORMS)
"Handle any broken-atom errors by producing a BROKEN-ATOM that prints as if the original atom were intact"
`[HANDLER-BIND [[XCL:MISSING-PACKAGE #'(CL:LAMBDA (C)
(CONDITIONS:INVOKE-RESTART
'CREATE-MISSING-PACKAGE-BA (CURE-BROKEN-ATOM
C]
(XCL:MISSING-EXTERNAL-SYMBOL #'(CL:LAMBDA (C)
(CONDITIONS:INVOKE-RESTART
'CREATE-EXTERNAL-BA (CURE-BROKEN-ATOM
C]
(CONDITIONS:RESTART-BIND [(CREATE-MISSING-PACKAGE-BA
#'(CL:LAMBDA (V)
(RETFROM (FUNCTION RESOLVE-MISSING-PACKAGE)
V)
V))
(CREATE-EXTERNAL-BA #'(CL:LAMBDA (V)
(RETFROM (FUNCTION
RESOLVE-MISSING-EXTERNAL-SYMBOL
)
V)
V]
(PROGN ,@FORMS])
(* ;; "setup")
(DEFPRINT 'BROKEN-ATOM 'BROKEN-ATOM-PRINTER)
(* ;; "Debugging/testing")
(CL:DEFUN TEST-INTERNAL-BA ()
[LET ((FILE NIL))
(CL:WITH-OPEN-STREAM (OUT (OPENSTREAM "{nodircore}" 'OUTPUT))
(SETQ FILE OUT)
(PRINTOUT OUT "BROKEN::INTERNAL-ATOM" T))
(CL:WITH-OPEN-STREAM (IN (OPENSTREAM FILE 'INPUT))
(WITHOUT-BROKEN-ATOMS (RATOM IN])
(CL:DEFUN TEST-EXTERNAL-BA ()
[LET ((FILE NIL))
(CL:WITH-OPEN-STREAM (OUT (OPENSTREAM "{nodircore}" 'OUTPUT))
(SETQ FILE OUT)
(PRINTOUT OUT "BROKEN:EXTERNAL-ATOM" T))
(CL:WITH-OPEN-STREAM (IN (OPENSTREAM FILE 'INPUT))
(WITHOUT-BROKEN-ATOMS (RATOM IN])
(CL:DEFUN TEST-DEEP-COMPUTATION ()
"Test that we can handle internal calls to READ that encounter broken atoms"
(* ;; "make sure it works when there's no error")
(LET [(RESULT (WITHOUT-BROKEN-ATOMS (CL:LOOP :FOR X :FROM 0 :TO 9 :COLLECT X]
(PRINTOUT T "No error loop result: " RESULT T))
(* ;; "and when reading legit atoms")
(LET [(RESULT (WITHOUT-BROKEN-ATOMS (CL:LOOP :FOR X :FROM 0 :TO 9 :COLLECT (CL:READ-FROM-STRING
(CONCAT "IL:ATOM" X]
(PRINTOUT T "No error read loop result: " RESULT T))
(* ;; "test XCL:MISSING-PACKAGE.")
(COND
((CL:FIND-PACKAGE :BROKEN)
(DELETE-PACKAGE :BROKEN)))
(LET [(RESULT (WITHOUT-BROKEN-ATOMS (CL:LOOP :FOR X :FROM 0 :TO 9 :COLLECT (CL:READ-FROM-STRING
(CONCAT "BROKEN:ATOM"
X]
(PRINTOUT T "No such package loop result: " RESULT T))
(* ;; "test XCL:MISSING-EXTERNAL-SYMBOL")
(CL:UNWIND-PROTECT
(PROGN (CL:MAKE-PACKAGE :BROKEN)
(LET [(RESULT (WITHOUT-BROKEN-ATOMS (CL:LOOP :FOR X :FROM 0 :TO 9 :COLLECT
(CL:READ-FROM-STRING (CONCAT "BROKEN:ATOM" X
]
(PRINTOUT T "Not external symbol loop result: " RESULT T)))
[COND
((CL:FIND-PACKAGE :BROKEN)
(DELETE-PACKAGE 'BROKEN]))
(CL:DEFUN TEST-PRETTY-FILE (SOURCE-FILE-NAME OUTPUT-FILE-NAME OUTPUT-TYPE)
"Prettyprint a Lisp source file to an imagestream file"
(CL:WITH-OPEN-STREAM (OUTPUT-STREAM (OPENIMAGESTREAM OUTPUT-FILE-NAME OUTPUT-TYPE))
(WITHOUT-BROKEN-ATOMS (PRETTYFILEINDEX SOURCE-FILE-NAME NIL OUTPUT-STREAM T))
(FULLNAME OUTPUT-STREAM)))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1403 2315 (CURE-BROKEN-ATOM 1403 . 2315)) (2346 2699 (BROKEN-ATOM-PRINTER 2356 . 2697))
(2731 4397 (WITHOUT-BROKEN-ATOMS 2731 . 4397)) (4503 4831 (TEST-INTERNAL-BA 4503 . 4831)) (4833 5160
(TEST-EXTERNAL-BA 4833 . 5160)) (5162 6829 (TEST-DEEP-COMPUTATION 5162 . 6829)) (6831 7184 (
TEST-PRETTY-FILE 6831 . 7184)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "10-Feb-2026 21:28:55" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;286 138607
(FILECREATED "28-Apr-2026 23:41:24" {MEDLEY}<lispusers>COMPAREDIRECTORIES.;289 139726
:EDIT-BY rmk
:CHANGES-TO (FNS CD-MENUFN)
:CHANGES-TO (FNS CDFILES.PATS CDFILES.MATCH CDBROWSER-COPY)
:PREVIOUS-DATE " 8-Nov-2025 13:07:39" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;285)
:PREVIOUS-DATE "28-Apr-2026 21:38:49" {MEDLEY}<lispusers>COMPAREDIRECTORIES.;288)
(PRETTYCOMPRINT COMPAREDIRECTORIESCOMS)
@@ -507,32 +507,37 @@
UNLESS (CDFILES.MATCH SUBDIR NAME EXT THISDEPTH EXCLUDES) COLLECT FULLNAME])
(CDFILES.MATCH
[LAMBDA (SUBDIR NAME EXT THISDEPTH PATTERNS) (* ; "Edited 26-Jan-2022 15:33 by rmk")
[LAMBDA (SUBDIR NAME EXT THISDEPTH PATTERNS) (* ; "Edited 28-Apr-2026 23:40 by rmk")
(* ; "Edited 26-Jan-2022 15:33 by rmk")
(* ; "Edited 23-Dec-2021 21:47 by rmk")
(thereis P in PATTERNS suchthat
(* ;; "True if the components of the fullname match at least one of the patterns")
(* ;; "The SUBDIR test is tricky. If the exclusion pattern was internal/fonts/**, this shows up as (* * internal/fonts 65535), it has to match internal/fonts/display/completed/. Below we test for an initial substring")
(THEREIS P IN PATTERNS SUCHTHAT (AND [OR (STRING.EQUAL NAME (CAR P)
FILEDIRCASEARRAY)
(EQ '* (CAR P))
(AND (EQ (CHARCODE %.)
(CHCON1 (CAR P)))
(EQ (CHARCODE %.)
(CHCON1 NAME))
(OR (STRING.EQUAL NAME (SUBATOM (CAR P)
2))
(EQ (CHARCODE *)
(NTHCHARCODE (CAR P)
2]
(OR (STRING.EQUAL EXT (CADR P))
(EQ '* (CADR P)))
(OR (STRING.EQUAL SUBDIR (CADDR P))
(NULL (CADDR P))
(EQ '* (CADDR P)))
(ILEQ THISDEPTH (CADDDR P])
(AND [OR (STRING.EQUAL NAME (CAR P)
FILEDIRCASEARRAY)
(EQ '* (CAR P))
(AND (EQ (CHARCODE %.)
(CHCON1 (CAR P)))
(EQ (CHARCODE %.)
(CHCON1 NAME))
(OR (STRING.EQUAL NAME (SUBATOM (CAR P)
2))
(EQ (CHARCODE *)
(NTHCHARCODE (CAR P)
2]
(OR (STRING.EQUAL EXT (CADR P))
(EQ '* (CADR P)))
(ILEQ THISDEPTH (CADDDR P))
(OR (STRING.EQUAL SUBDIR (CADDR P))
(NULL (CADDR P))
(EQ '* (CADDR P))
(STRPOS (CADDR P)
SUBDIR 1 NIL T])
(CDFILES.PATS
[LAMBDA (PATTERNS) (* ; "Edited 17-Jun-2023 23:36 by rmk")
[LAMBDA (PATTERNS) (* ; "Edited 28-Apr-2026 23:01 by rmk")
(* ; "Edited 17-Jun-2023 23:36 by rmk")
(* ; "Edited 23-Dec-2021 17:02 by rmk")
(* ;; "Returns (NAME EXT SUBDIR DEPTH) items where NAME or EXT may be the wildcard *, SD is the subdirectory (if any) and DEPTH is the number of / or > in the subdirectory")
@@ -544,15 +549,15 @@
(* * NIL 1)
)
ELSE (FOR P N E SD DEPTH UNPACK INSIDE PATTERNS
JOIN (SETQ UNPACK (UNPACKFILENAME.STRING P)) (* ;
JOIN (SETQ UNPACK (UNPACKFILENAME P)) (* ;
 "String so we can tell the difference between x and x.")
[SETQ SD (MKATOM (LISTGET UNPACK 'SUBDIRECTORY]
(SETQ SD (LISTGET UNPACK 'SUBDIRECTORY))
(* ;; "Count the subdirectory depth")
[SETQ DEPTH (IF (EQ SD '*)
THEN MAX.SMALLP
ELSE (FOR I (CNT _ 1) FROM 1 DO (SELCHARQ (NTHCHARCODE SD I)
[SETQ DEPTH (if (EQ SD '*)
then MAX.SMALLP
else (for I (CNT _ 1) from 1 do (SELCHARQ (NTHCHARCODE SD I)
((/ >)
(ADD CNT 1))
(NIL (RETURN CNT))
@@ -560,28 +565,31 @@
(SETQ N (LISTGET UNPACK 'NAME))
(SETQ N (if (NULL N)
then '*
elseif (EQ N '**)
then (SETQ DEPTH MAX.SMALLP)
'*
elseif (NEQ 0 (NCHARS N))
then (MKATOM N)))
then N))
(SETQ E (LISTGET UNPACK 'EXTENSION))
(SETQ E (if (NULL E)
then '*
elseif (NEQ 0 (NCHARS E))
then (MKATOM E)))
(if [OR (AND (STRING.EQUAL N 'COM)
then E))
(if [OR (AND (EQ N 'COM)
(NULL E))
(AND (STRING.EQUAL E 'COM)
(AND (EQ E 'COM)
(MEMB N ' (* NIL)]
THEN (FOR CE IN *COMPILED-EXTENSIONS* COLLECT (LIST '* CE SD DEPTH))
ELSE (CONS (IF N
THEN (LIST N E SD DEPTH)
ELSEIF E
THEN
then (for CE in *COMPILED-EXTENSIONS* collect (LIST '* CE SD DEPTH))
else (CONS (if N
then (LIST N E SD DEPTH)
elseif E
then
(* ;; "This is the case .XXX, which presumably identifies a dotted file. If this is supposed to be all files with extension XXX, it shoud be specified as *.XXX, the case above. So we move .E into the N field.")
(LIST (PACK* '%. E)
NIL SD DEPTH)
ELSE `
else `
(* * (\, SD) (\, DEPTH))
])
@@ -2146,7 +2154,9 @@
NIL])
(CDBROWSER-COPY
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 17:39 by rmk")
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Apr-2026 18:54 by rmk")
(* ; "Edited 31-Mar-2026 10:49 by rmk")
(* ; "Edited 28-Oct-2025 17:39 by rmk")
(* ; "Edited 25-Oct-2025 23:58 by rmk")
(* ; "Edited 24-May-2022 15:49 by rmk")
(* ; "Edited 25-Apr-2022 09:24 by rmk")
@@ -2184,7 +2194,8 @@
(PRIN3 "No source file to copy" T)
(RETURN NIL))
(CL:WHEN [AND (EQ DATERELBAD (FETCH (CDENTRY DATEREL) OF CDENTRY))
(PROGN (FLASHWINDOW T)
(PROGN (GIVE.TTY.PROCESS T)
(FLASHWINDOW T)
(EQ 'N (ASKUSER NIL NIL
"Target is newer than source. Really copy? "]
(RETURN NIL))
@@ -2194,6 +2205,7 @@
))
'VERSION))
(PROGN (FLASHWINDOW T)
(GIVE.TTY.PROCESS T)
(EQ 'N (ASKUSER NIL NIL (CONCAT SOURCEFILE
" is not the newest version. Really copy? "
]
@@ -2202,8 +2214,10 @@
(CL:UNLESS DESTFILE
(SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR)))
[SETQ RESULT (if UNIXDEST
then (SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER)
'ORIGINALFILES DESTFILE (COPYFILE DESTFILE '{NODIRCORE))
then (CL:WHEN (INFILEP DESTFILE)
(SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER)
'ORIGINALFILES DESTFILE (COPYFILE DESTFILE
'{NODIRCORE})))
[PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY
(COPYFILE SOURCEFILE (PACKFILENAME
'HOST
@@ -2323,25 +2337,25 @@
(MOVD? 'NILL 'TEDIT.FILEDATE)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (2653 23632 (COMPAREDIRECTORIES 2663 . 7998) (COMPAREDIRECTORIES.INFOS 8000 . 11229) (
COMPAREDIRECTORIES.CANDIDATES 11231 . 14616) (CDENTRIES.SELECT 14618 . 19520) (
COMPAREDIRECTORIES.INFOS.TYPE 19522 . 20866) (MATCHNAME 20868 . 21548) (CD.INSURECDVALUE 21550 . 23164
) (CD.UPDATEWIDTHS 23166 . 23630)) (23633 34338 (CDFILES 23643 . 29740) (CDFILES.MATCH 29742 . 31367)
(CDFILES.PATS 31369 . 34336)) (34339 52357 (CDPRINT 34349 . 36866) (CDPRINT.HEADER 36868 . 37765) (
CDPRINT.LINE 37767 . 41196) (CDPRINT.MAXWIDTHS 41198 . 45313) (CDPRINT.COLHEADERS 45315 . 46600) (
CDPRINT.COLUMNS 46602 . 51722) (CDTEDIT 51724 . 52355)) (52358 61479 (CDMAP 52368 . 53800) (CDENTRY
53802 . 54111) (CDSUBSET 54113 . 55552) (CDMERGE 55554 . 59538) (CDMERGE.COMMON 59540 . 60855) (
CD.SORT 60857 . 61477)) (61480 69018 (BINCOMP 61490 . 65779) (EOLTYPE 65781 . 68343) (EOLTYPE.SHOW
68345 . 69016)) (69546 82073 (FIND-UNCOMPILED-FILES 69556 . 73199) (FIND-UNSOURCED-FILES 73201 . 75585
) (FIND-SOURCE-FILES 75587 . 77325) (FIND-COMPILED-FILES 77327 . 79204) (FIND-UNLOADED-FILES 79206 .
80059) (FIND-LOADED-FILES 80061 . 80489) (FIND-MULTICOMPILED-FILES 80491 . 82071)) (82074 90505 (
CREATED-AS 82084 . 86881) (SOURCE-FOR-COMPILED-P 86883 . 89810) (COMPILE-SOURCE-DATE-DIFF 89812 .
90503)) (90506 101269 (FIX-DIRECTORY-DATES 90516 . 93966) (FIX-EQUIV-DATES 93968 . 95493) (
COPY-COMPARED-FILES 95495 . 97316) (COPY-MISSING-FILES 97318 . 99475) (COMPILED-ON-SAME-SOURCE 99477
. 101267)) (101463 109341 (CDBROWSER 101473 . 105440) (CDBROWSER.STRINGS 105442 . 109339)) (109503
111239 (CD.TABLEITEM 109513 . 109733) (CD.TABLEITEM.PRINTFN 109735 . 109934) (CD.TABLEITEM.COPYFN
109936 . 110994) (CDTABLEBROWSER.HEADING.REPAINTFN 110996 . 111237)) (111240 138091 (
CDTABLEBROWSER.WHENSELECTEDFN 111250 . 111718) (CD.COMMANDSELECTEDFN 111720 . 117893) (CD-MENUFN
117895 . 124372) (CD-COMPARE-FILES 124374 . 127901) (CDBROWSER-COPY 127903 . 132965) (
CDBROWSER-DELETE-FILE 132967 . 137570) (CD-SWAPDIRS 137572 . 138089)))))
(FILEMAP (NIL (2683 23662 (COMPAREDIRECTORIES 2693 . 8028) (COMPAREDIRECTORIES.INFOS 8030 . 11259) (
COMPAREDIRECTORIES.CANDIDATES 11261 . 14646) (CDENTRIES.SELECT 14648 . 19550) (
COMPAREDIRECTORIES.INFOS.TYPE 19552 . 20896) (MATCHNAME 20898 . 21578) (CD.INSURECDVALUE 21580 . 23194
) (CD.UPDATEWIDTHS 23196 . 23660)) (23663 34971 (CDFILES 23673 . 29770) (CDFILES.MATCH 29772 . 31782)
(CDFILES.PATS 31784 . 34969)) (34972 52990 (CDPRINT 34982 . 37499) (CDPRINT.HEADER 37501 . 38398) (
CDPRINT.LINE 38400 . 41829) (CDPRINT.MAXWIDTHS 41831 . 45946) (CDPRINT.COLHEADERS 45948 . 47233) (
CDPRINT.COLUMNS 47235 . 52355) (CDTEDIT 52357 . 52988)) (52991 62112 (CDMAP 53001 . 54433) (CDENTRY
54435 . 54744) (CDSUBSET 54746 . 56185) (CDMERGE 56187 . 60171) (CDMERGE.COMMON 60173 . 61488) (
CD.SORT 61490 . 62110)) (62113 69651 (BINCOMP 62123 . 66412) (EOLTYPE 66414 . 68976) (EOLTYPE.SHOW
68978 . 69649)) (70179 82706 (FIND-UNCOMPILED-FILES 70189 . 73832) (FIND-UNSOURCED-FILES 73834 . 76218
) (FIND-SOURCE-FILES 76220 . 77958) (FIND-COMPILED-FILES 77960 . 79837) (FIND-UNLOADED-FILES 79839 .
80692) (FIND-LOADED-FILES 80694 . 81122) (FIND-MULTICOMPILED-FILES 81124 . 82704)) (82707 91138 (
CREATED-AS 82717 . 87514) (SOURCE-FOR-COMPILED-P 87516 . 90443) (COMPILE-SOURCE-DATE-DIFF 90445 .
91136)) (91139 101902 (FIX-DIRECTORY-DATES 91149 . 94599) (FIX-EQUIV-DATES 94601 . 96126) (
COPY-COMPARED-FILES 96128 . 97949) (COPY-MISSING-FILES 97951 . 100108) (COMPILED-ON-SAME-SOURCE 100110
. 101900)) (102096 109974 (CDBROWSER 102106 . 106073) (CDBROWSER.STRINGS 106075 . 109972)) (110136
111872 (CD.TABLEITEM 110146 . 110366) (CD.TABLEITEM.PRINTFN 110368 . 110567) (CD.TABLEITEM.COPYFN
110569 . 111627) (CDTABLEBROWSER.HEADING.REPAINTFN 111629 . 111870)) (111873 139210 (
CDTABLEBROWSER.WHENSELECTEDFN 111883 . 112351) (CD.COMMANDSELECTEDFN 112353 . 118526) (CD-MENUFN
118528 . 125005) (CD-COMPARE-FILES 125007 . 128534) (CDBROWSER-COPY 128536 . 134084) (
CDBROWSER-DELETE-FILE 134086 . 138689) (CD-SWAPDIRS 138691 . 139208)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "12-Oct-2025 17:39:29" {WMEDLEY}<lispusers>EDITFONT.;41 26261
(FILECREATED "16-Mar-2026 23:19:02" {WMEDLEY}<lispusers>EDITFONT.;42 26474
:EDIT-BY rmk
:CHANGES-TO (RECORDS CHARITEM)
(FNS EF.SAVE)
:CHANGES-TO (FNS EDITFONT)
(RECORDS CHARITEM)
:PREVIOUS-DATE " 7-Oct-2025 14:56:00" {WMEDLEY}<lispusers>EDITFONT.;40)
:PREVIOUS-DATE "12-Oct-2025 17:39:29" {WMEDLEY}<lispusers>EDITFONT.;41)
(PRETTYCOMPRINT EDITFONTCOMS)
@@ -429,7 +429,8 @@
(RETURN FONT])
(EDITFONT
[LAMBDA (FONT CHARSET ROWMAJOR NCOLUMNS TITLETAG) (* ; "Edited 7-Oct-2025 14:55 by rmk")
[LAMBDA (FONT CHARSET ROWMAJOR NCOLUMNS TITLETAG) (* ; "Edited 16-Mar-2026 23:17 by rmk")
(* ; "Edited 7-Oct-2025 14:55 by rmk")
(* ; "Edited 5-Oct-2025 15:06 by rmk")
(* ; "Edited 4-Sep-2025 09:27 by rmk")
(* ; "Edited 29-Aug-2025 22:34 by rmk")
@@ -440,6 +441,8 @@
(* kbr%: "21-Oct-85 15:35")
(* kbr%: "21-Oct-85 15:35")
(SETQ FONT (FONTCREATE FONT))
(CL:UNLESS (EQ 'DISPLAY (FONTPROP FONT 'DEVICE))
(ERROR FONT " is not a display font"))
(SETQ CHARSET (OR (CHARSET.DECODE CHARSET)
0))
(LET (CHARITEMS MENU TITLE HEIGHT WIDTH REGION POS WINDOW)
@@ -494,10 +497,10 @@
(EF.INIT)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1146 16903 (EF.INIT 1156 . 1790) (EF.PROMPT 1792 . 2374) (EF.MESSAGE 2376 . 2588) (
EF.CLOSEFN 2590 . 3117) (EF.CHARITEMS 3119 . 4955) (EF.BUTTONEVENTFN 4957 . 5369) (EF.WHENSELECTEDFN
5371 . 5775) (EF.EDITBM 5777 . 7271) (EF.MIDDLEBUTTONFN 7273 . 7518) (EF.CHANGESIZE 7520 . 8849) (
EF.DELETE 8851 . 10032) (EF.ENTER 10034 . 10975) (EF.REPLACE 10977 . 11950) (EF.SAVE 11952 . 16195) (
COPYFONT 16197 . 16472) (READSTRIKEFONTFILE 16474 . 16901)) (16904 26073 (BLANKCHARSETCREATE 16914 .
22999) (EDITFONT 23001 . 26071)))))
(FILEMAP (NIL (1147 16904 (EF.INIT 1157 . 1791) (EF.PROMPT 1793 . 2375) (EF.MESSAGE 2377 . 2589) (
EF.CLOSEFN 2591 . 3118) (EF.CHARITEMS 3120 . 4956) (EF.BUTTONEVENTFN 4958 . 5370) (EF.WHENSELECTEDFN
5372 . 5776) (EF.EDITBM 5778 . 7272) (EF.MIDDLEBUTTONFN 7274 . 7519) (EF.CHANGESIZE 7521 . 8850) (
EF.DELETE 8852 . 10033) (EF.ENTER 10035 . 10976) (EF.REPLACE 10978 . 11951) (EF.SAVE 11953 . 16196) (
COPYFONT 16198 . 16473) (READSTRIKEFONTFILE 16475 . 16902)) (16905 26286 (BLANKCHARSETCREATE 16915 .
23000) (EDITFONT 23002 . 26284)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,14 @@
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8)
(FILECREATED " 2-Mar-2026 14:00:13" {WMEDLEY}<lispusers>GITFNS.;576 133513
(FILECREATED "29-Apr-2026 12:51:53" {MEDLEY}<lispusers>GITFNS.;592 137200
:EDIT-BY rmk
:CHANGES-TO (FNS GIT-MY-NEXT-BRANCH)
:CHANGES-TO (FNS GIT-GWC-COMMAND)
(COMMANDS gwc)
(VARS GITFNSCOMS)
:PREVIOUS-DATE "26-Feb-2026 00:39:22" {WMEDLEY}<lispusers>GITFNS.;575)
:PREVIOUS-DATE "29-Apr-2026 09:00:33" {MEDLEY}<lispusers>GITFNS.;588)
(PRETTYCOMPRINT GITFNSCOMS)
@@ -51,7 +53,7 @@
(INITVARS (GIT-MERGE-COMPARES T)
(GIT-CDBROWSER-SEPARATE-DIRECTIONS T))
(COMMANDS gwc bbc prc cob b? cdg cdw)
(FNS PRC-COMMAND)
(FNS PRC-COMMAND GIT-GWC-COMMAND)
(* ;; "")
@@ -60,7 +62,7 @@
(FNS ALLSUBDIRS MEDLEYSUBDIRS GITSUBDIRS)
(FNS TOGIT FROMGIT)
(FNS MYMEDLEYSUBDIR GITSUBDIR STRIPDIR STRIPHOST STRIPNAME STRIPWHERE)
(FNS WORKINGSUBDIR GITSUBDIR STRIPDIR STRIPHOST STRIPNAME STRIPWHERE)
(FNS GFILE4MFILE MFILE4GFILE GIT-REPO-FILENAME)
(* ;; "")
@@ -169,6 +171,9 @@
(GIT-MAKE-PROJECT
[LAMBDA (PROJECTNAME CLONEPATH WORKINGPATH EXCLUSIONS DEFAULTSUBDIRS)
(* ; "Edited 29-Apr-2026 09:00 by rmk")
(* ; "Edited 17-Apr-2026 12:33 by rmk")
(* ; "Edited 15-Apr-2026 16:33 by rmk")
(* ; "Edited 25-Feb-2026 23:25 by rmk")
(* ; "Edited 25-Oct-2025 16:53 by rmk")
(* ; "Edited 22-Oct-2025 12:45 by rmk")
@@ -275,7 +280,8 @@
"for " PROJECTNAME]
(SETQ PROJECT (create GIT-PROJECT
PROJECTNAME ← PROJECTNAME
GITHOST ← (PACK* "{" (PSEUDOHOST PROJECTNAME CLONEPATH)
GITHOST ← (PACK* "{" (PSEUDOHOST (CONCAT "G" PROJECTNAME)
CLONEPATH)
"}")
WHOST ← (AND WORKINGPATH (PACK* "{" (PSEUDOHOST (CONCAT "W"
PROJECTNAME)
@@ -439,18 +445,7 @@
(RPAQ? GIT-CDBROWSER-SEPARATE-DIRECTIONS T)
(DEFCOMMAND gwc (SUBDIR . OTHERS)
(* ;; "Compares the specified local git-medley subdirectories against my working Medley. The SUBDIRS are the arguments up to one that looks like a project")
(LET ((SUBDIRS (AND SUBDIR (CONS SUBDIR OTHERS)))
PROJECT)
(SETQ SUBDIRS (FOR STAIL ON SUBDIRS COLLECT (IF (GIT-GET-PROJECT (CAR STAIL)
NIL T)
THEN (SETQ PROJECT (CAR STAIL))
(GO $$OUT))
(CAR STAIL)))
(GIT-WORKING-COMPARE-DIRECTORIES SUBDIRS NIL NIL NIL T PROJECT)))
(DEFCOMMAND gwc (SUBDIR . OTHERS) (GIT-GWC-COMMAND SUBDIR OTHERS))
(DEFCOMMAND bbc (BRANCH1 BRANCH2 LOCAL PROJECT)
@@ -535,7 +530,8 @@
(DEFINEQ
(PRC-COMMAND
[LAMBDA (REMOTEBRANCH DRAFTS PROJECT) (* ; "Edited 29-Jan-2025 19:19 by rmk")
[LAMBDA (REMOTEBRANCH DRAFTS PROJECT) (* ; "Edited 16-Mar-2026 11:54 by rmk")
(* ; "Edited 29-Jan-2025 19:19 by rmk")
(* ; "Edited 13-May-2024 18:49 by rmk")
(* ; "Edited 2-May-2024 11:44 by rmk")
(* ; "Edited 1-Apr-2024 20:24 by rmk")
@@ -592,7 +588,10 @@
then (SETQ MENUWINDOW (ADDMENU (GIT-BRANCH-MENU (GIT-PRC-BRANCHES DRAFTS
PROJECT PRS)
(CONCAT (LENGTH PRS)
" pull requests"))
" pull requests in "
(GIT-GET-PROJECT PROJECT
'PROJECTNAME))
PROJECT)
NIL NIL T))
(* ;; "Position the new menu just under the current TTY window, to keep it out of the way of the comparison windows. If we have menus open for other projects, those probably should be pushed down to make room for the new menu, and moved up when a higher menu is closed. An edge case that is not worth the effort. ")
@@ -612,6 +611,32 @@
PROJECT))
else (CONCAT "No open " (OR REMOTEBRANCH "")
" pull requests"])
(GIT-GWC-COMMAND
[LAMBDA (SUBDIR OTHERS) (* ; "Edited 29-Apr-2026 12:51 by rmk")
(* ;; "Compares the specified local git-medley subdirectories against my working Medley. The SUBDIRS are the arguments up to one that looks like a project, which may be followed by - and some excluded files")
(LET ((SUBDIRS (AND SUBDIR (CONS SUBDIR OTHERS)))
EXCLUDEDFILES PROJECT)
(SETQ SUBDIRS (for STAIL on SUBDIRS unless (CL:WHEN (AND (NULL PROJECT)
(SETQ PROJECT (GIT-GET-PROJECT
(CAR STAIL)
NIL T)))
(CL:UNLESS (EQ '- (CADR STAIL))
(RETURN $$VAL))
T) collect (CL:WHEN (EQ '- (CAR STAIL))
(SETQ EXCLUDEDFILES
(CDR STAIL))
(RETURN $$VAL))
(CAR STAIL)))
(CL:UNLESS PROJECT
(SETQ PROJECT (GIT-GET-PROJECT PROJECT)))
(if (AND (fetch GITHOST of PROJECT)
(fetch WHOST of PROJECT))
then (GIT-WORKING-COMPARE-DIRECTORIES SUBDIRS NIL EXCLUDEDFILES NIL T PROJECT)
else (PRINTOUT T "gwc requires " (fetch PROJECTNAME of PROJECT)
" to have both git and working directories" T T])
)
@@ -723,7 +748,7 @@
)
(DEFINEQ
(MYMEDLEYSUBDIR
(WORKINGSUBDIR
[LAMBDA (SUBDIR STAR PROJECT) (* ; "Edited 13-May-2022 10:40 by rmk")
(* ; "Edited 7-May-2022 23:15 by rmk")
(UNSLASHIT (PACK* (PACKFILENAME 'HOST (FETCH WHOST OF PROJECT)
@@ -1394,13 +1419,12 @@
" branches"])
(GIT-BRANCH-MENU
[LAMBDA (BRANCHES TITLE PIN?) (* ; "Edited 1-May-2024 14:36 by rmk")
[LAMBDA (BRANCHES TITLE) (* ; "Edited 18-Apr-2026 21:36 by rmk")
(* ; "Edited 1-May-2024 14:36 by rmk")
(* ; "Edited 6-Jul-2023 22:31 by rmk")
(* ; "Edited 30-Jun-2023 16:58 by rmk")
(* ; "Edited 18-May-2022 13:44 by rmk")
(CL:WHEN (SETQ BRANCHES (MKLIST BRANCHES))
(CL:WHEN PIN?
[SETQ BRANCHES (APPEND BRANCHES '((" Pin menu" 'PinMenu])
(create MENU
TITLE ← (OR TITLE (CONCAT (LENGTH BRANCHES)
" branches"))
@@ -1409,7 +1433,8 @@
WHENSELECTEDFN ← (FUNCTION GIT-BRANCH-WHENSELECTEDFN)))])
(GIT-BRANCH-WHENSELECTEDFN
[LAMBDA (ITEM MENU BUTTON) (* ; "Edited 2-Oct-2025 23:08 by rmk")
[LAMBDA (ITEM MENU BUTTON) (* ; "Edited 16-Mar-2026 12:05 by rmk")
(* ; "Edited 2-Oct-2025 23:08 by rmk")
(* ; "Edited 30-Sep-2025 14:58 by rmk")
(* ; "Edited 21-Mar-2025 19:07 by rmk")
(* ; "Edited 11-May-2024 11:05 by rmk")
@@ -1420,9 +1445,11 @@
(LET [(PR (CAR (LAST ITEM]
(if (EQ BUTTON 'MIDDLE)
then (ShellOpen (CONCAT "https://github.com/Interlisp/medley/pull/" (fetch (PULLREQUEST
PRNUMBER)
of PR)))
then (ShellOpen (CONCAT "https://github.com/Interlisp/"
(L-CASE (GIT-GET-PROJECT (fetch PRPROJECT of PR)
'PROJECTNAME))
"/pull/"
(fetch (PULLREQUEST PRNUMBER) of PR)))
else
(* ;; "This prints notices in its own TTY window")
@@ -1943,6 +1970,8 @@
(GIT-WORKING-COMPARE-DIRECTORIES
[LAMBDA (SUBDIRS SELECT EXCLUDEDFILES FIXDIRECTORYDATES UPDATE PROJECT)
(* ;; "Edited 29-Apr-2026 08:46 by rmk")
(* ;; "Edited 28-Oct-2025 14:00 by rmk")
(* ;; "Edited 25-Oct-2025 23:32 by rmk")
@@ -1953,18 +1982,12 @@
(* ;; "Edited 26-Sep-2023 22:41 by rmk")
(* ;; "Edited 17-Jun-2023 22:54 by rmk")
(* ;; "Edited 10-Jun-2023 21:32 by rmk")
(* ;; "Edited 20-Jul-2022 21:18 by rmk")
(* ;; "Edited 25-Jun-2022 21:37 by rmk")
(* ;; "Edited 17-May-2022 17:39 by rmk")
(* ;; "Edited 10-May-2022 10:41 by rmk")
(* ;;
 "Edited 29-Mar-2022 13:58 by rmk: working medley subdirectories with the current local git branch.")
@@ -1984,7 +2007,8 @@
(LET ((SUBDIRSTRING (if (EQ SUBDIRS 'all)
then (SETQ SUBDIRS (ALLSUBDIRS PROJECT))
"ALL subdirectories"
else SUBDIRS)))
else SUBDIRS))
(EXCLUSIONS))
(for SUBDIR TITLE CDVAL (WPROJ ← (CONCAT "Working " (L-CASE (fetch PROJECTNAME of PROJECT)
T)))
(NENTRIES ← 0)
@@ -1992,11 +2016,12 @@
first (PRINTOUT T "Comparing " SUBDIRSTRING 6 " of " WPROJ " and Git " BRANCH2 T)
(BKSYSBUF " ") inside SUBDIRS
collect (TERPRI T)
(SETQ CDVAL (COMPAREDIRECTORIES (MYMEDLEYSUBDIR SUBDIR T PROJECT)
(SETQ CDVAL (COMPAREDIRECTORIES (WORKINGSUBDIR SUBDIR T PROJECT)
(GITSUBDIR SUBDIR T PROJECT)
(OR SELECT '(> < ~= -* *-))
'(*.* *>*.* .* *>.*)
(for E DPOS in (GIT-GET-PROJECT PROJECT 'EXCLUSIONS)
(for E DPOS in (APPEND (MKLIST EXCLUDEDFILES)
(GIT-GET-PROJECT PROJECT 'EXCLUSIONS))
collect (SETQ DPOS (STRPOS SUBDIR (FILENAMEFIELD E
'DIRECTORY)
1 NIL T T FILEDIRCASEARRAY))
@@ -2209,7 +2234,7 @@
(OR LABEL2 FILE2])
(GIT-CD-MENUFN
[LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 28-Oct-2025 11:50 by rmk")
[LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 28-Oct-2025 11:30 by rmk")
(* ; "Edited 25-Oct-2025 23:44 by rmk")
(* ; "Edited 21-Sep-2022 21:34 by rmk")
(* ; "Edited 22-May-2022 19:13 by rmk")
@@ -2218,9 +2243,32 @@
(* ;; "MENUITEM is of the form (display-atom <this function> . extrainfo). The selector for the selectq is either the CAR of the extrainfo or the display atom")
(DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY USERDATA PWINDOW))
(DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY USERDATA))
(SELECTQ (OR (CADDR MENUITEM)
(CAR MENUITEM))
(Delete% -> (FLASHWINDOW PWINDOW)
(GIVE.TTY.PROCESS PWINDOW)
(CL:WHEN [OR (EQ KEY 'MIDDLE)
(EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete " LABEL2 " ? "]
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL T)))
(|Delete ALL <-|
(FLASHWINDOW PWINDOW)
(GIVE.TTY.PROCESS PWINDOW)
(if (NAMEFIELD LABEL1 T)
then (CL:WHEN [OR (EQ KEY 'MIDDLE)
(EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete ALL versions of "
(NAMEFIELD LABEL1 T)
" ? "]
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL T))
else (PRINTOUT T "Nothing to delete")))
(Delete% BOTH (FLASHWINDOW PWINDOW)
(GIVE.TTY.PROCESS PWINDOW)
(CL:WHEN (EQ 'Y (ASKUSER NIL 'N (CONCAT
"Delete all Medley and git versions of "
(NAMEFIELD LABEL1 T)
" ? ")))
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL T)
(CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL T T)))
(Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT (CADDDR MENUITEM)))
(SHOULDNT])
@@ -2422,33 +2470,33 @@
(PUTPROPS GITFNS FILETYPE :TCOMPL)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4178 21056 (GIT-CLONEP 4188 . 5619) (GIT-INIT 5621 . 6251) (GIT-MAKE-PROJECT 6253 .
14110) (GIT-GET-PROJECT 14112 . 16037) (GIT-PUT-PROJECT-FIELD 16039 . 17680) (GIT-PROJECT-PATH 17682
. 18726) (FIND-ANCESTOR-DIRECTORY 18728 . 19079) (GIT-FIND-CLONE 19081 . 20164) (GIT-MAINBRANCH 20166
. 20561) (GIT-MAINBRANCH? 20563 . 21054)) (26519 31448 (PRC-COMMAND 26529 . 31446)) (31504 34292 (
ALLSUBDIRS 31514 . 32800) (MEDLEYSUBDIRS 32802 . 33495) (GITSUBDIRS 33497 . 34290)) (34293 36698 (
TOGIT 34303 . 35711) (FROMGIT 35713 . 36696)) (36699 39709 (MYMEDLEYSUBDIR 36709 . 37165) (GITSUBDIR
37167 . 37610) (STRIPDIR 37612 . 37990) (STRIPHOST 37992 . 38232) (STRIPNAME 38234 . 38987) (
STRIPWHERE 38989 . 39707)) (39710 41945 (GFILE4MFILE 39720 . 40416) (MFILE4GFILE 40418 . 40987) (
GIT-REPO-FILENAME 40989 . 41943)) (41994 52251 (GIT-COMMIT 42004 . 42830) (GIT-PUSH 42832 . 43592) (
GIT-PULL 43594 . 44346) (GIT-APPROVAL 44348 . 44697) (GIT-GET-FILE 44699 . 46614) (GIT-FILE-EXISTS?
46616 . 46890) (GIT-REMOTE-UPDATE 46892 . 47727) (GIT-REMOTE-ADD 47729 . 48036) (GIT-FILE-DATE 48038
. 49085) (GIT-FILE-HISTORY 49087 . 51021) (GIT-PRINT-FILE-HISTORY 51023 . 52075) (GIT-FETCH 52077 .
52249)) (52281 64233 (GIT-BRANCH-DIFF 52291 . 59180) (GIT-COMMIT-DIFFS 59182 . 60073) (
GIT-BRANCH-RELATIONS 60075 . 63759) (GIT-MODIFIED 63761 . 64231)) (64278 83045 (GIT-BRANCH-NUM 64288
. 64861) (GIT-CHECKOUT 64863 . 66149) (GIT-WHICH-BRANCH 66151 . 66558) (GIT-MAKE-BRANCH 66560 . 69139
) (GIT-BRANCHES 69141 . 71738) (GIT-BRANCH-EXISTS? 71740 . 72611) (GIT-PICK-BRANCH 72613 . 73103) (
GIT-BRANCH-MENU 73105 . 73994) (GIT-BRANCH-WHENSELECTEDFN 73996 . 75535) (GIT-PULL-REQUESTS 75537 .
79422) (GIT-SHORT-BRANCH-NAME 79424 . 79715) (GIT-LONG-NAME 79717 . 80034) (GIT-PRC-BRANCHES 80036 .
83043)) (83075 87829 (GIT-MY-CURRENT-BRANCH 83085 . 83455) (GIT-MY-BRANCHP 83457 . 84075) (
GIT-MY-NEXT-BRANCH 84077 . 85877) (GIT-MY-BRANCHES 85879 . 87827)) (87875 91959 (GIT-ADD-WORKTREE
87885 . 89492) (GIT-REMOVE-WORKTREE 89494 . 90426) (GIT-LIST-WORKTREES 90428 . 91239) (WORKTREEDIR
91241 . 91957)) (92007 125045 (GIT-GET-DIFFERENT-FILES 92017 . 98925) (
GIT-BRANCHES-COMPARE-DIRECTORIES 98927 . 106566) (GIT-WORKING-COMPARE-DIRECTORIES 106568 . 112370) (
GIT-COMPARE-WORKTREE 112372 . 116350) (GITCDOBJBUTTONFN 116352 . 120850) (GIT-CD-LABELFN 120852 .
121938) (GIT-CD-MENUFN 121940 . 123026) (GIT-WORKING-COMPARE-FILES 123028 . 123648) (
GIT-BRANCHES-COMPARE-FILES 123650 . 124814) (GIT-PR-COMPARE 124816 . 125043)) (125115 133446 (CDGITDIR
125125 . 125812) (GIT-COMMAND 125814 . 127372) (GITORIGIN 127374 . 128071) (GIT-INITIALS 128073 .
128377) (GIT-COMMAND-TO-FILE 128379 . 131864) (GIT-RESULT-TO-LINES 131866 . 132779) (STRIPLOCAL 132781
. 133444)))))
(FILEMAP (NIL (4257 21537 (GIT-CLONEP 4267 . 5698) (GIT-INIT 5700 . 6330) (GIT-MAKE-PROJECT 6332 .
14591) (GIT-GET-PROJECT 14593 . 16518) (GIT-PUT-PROJECT-FIELD 16520 . 18161) (GIT-PROJECT-PATH 18163
. 19207) (FIND-ANCESTOR-DIRECTORY 19209 . 19560) (GIT-FIND-CLONE 19562 . 20645) (GIT-MAINBRANCH 20647
. 21042) (GIT-MAINBRANCH? 21044 . 21535)) (26309 33483 (PRC-COMMAND 26319 . 31601) (GIT-GWC-COMMAND
31603 . 33481)) (33539 36327 (ALLSUBDIRS 33549 . 34835) (MEDLEYSUBDIRS 34837 . 35530) (GITSUBDIRS
35532 . 36325)) (36328 38733 (TOGIT 36338 . 37746) (FROMGIT 37748 . 38731)) (38734 41743 (
WORKINGSUBDIR 38744 . 39199) (GITSUBDIR 39201 . 39644) (STRIPDIR 39646 . 40024) (STRIPHOST 40026 .
40266) (STRIPNAME 40268 . 41021) (STRIPWHERE 41023 . 41741)) (41744 43979 (GFILE4MFILE 41754 . 42450)
(MFILE4GFILE 42452 . 43021) (GIT-REPO-FILENAME 43023 . 43977)) (44028 54285 (GIT-COMMIT 44038 . 44864)
(GIT-PUSH 44866 . 45626) (GIT-PULL 45628 . 46380) (GIT-APPROVAL 46382 . 46731) (GIT-GET-FILE 46733 .
48648) (GIT-FILE-EXISTS? 48650 . 48924) (GIT-REMOTE-UPDATE 48926 . 49761) (GIT-REMOTE-ADD 49763 .
50070) (GIT-FILE-DATE 50072 . 51119) (GIT-FILE-HISTORY 51121 . 53055) (GIT-PRINT-FILE-HISTORY 53057 .
54109) (GIT-FETCH 54111 . 54283)) (54315 66267 (GIT-BRANCH-DIFF 54325 . 61214) (GIT-COMMIT-DIFFS 61216
. 62107) (GIT-BRANCH-RELATIONS 62109 . 65793) (GIT-MODIFIED 65795 . 66265)) (66312 85259 (
GIT-BRANCH-NUM 66322 . 66895) (GIT-CHECKOUT 66897 . 68183) (GIT-WHICH-BRANCH 68185 . 68592) (
GIT-MAKE-BRANCH 68594 . 71173) (GIT-BRANCHES 71175 . 73772) (GIT-BRANCH-EXISTS? 73774 . 74645) (
GIT-PICK-BRANCH 74647 . 75137) (GIT-BRANCH-MENU 75139 . 76040) (GIT-BRANCH-WHENSELECTEDFN 76042 .
77749) (GIT-PULL-REQUESTS 77751 . 81636) (GIT-SHORT-BRANCH-NAME 81638 . 81929) (GIT-LONG-NAME 81931 .
82248) (GIT-PRC-BRANCHES 82250 . 85257)) (85289 90043 (GIT-MY-CURRENT-BRANCH 85299 . 85669) (
GIT-MY-BRANCHP 85671 . 86289) (GIT-MY-NEXT-BRANCH 86291 . 88091) (GIT-MY-BRANCHES 88093 . 90041)) (
90089 94173 (GIT-ADD-WORKTREE 90099 . 91706) (GIT-REMOVE-WORKTREE 91708 . 92640) (GIT-LIST-WORKTREES
92642 . 93453) (WORKTREEDIR 93455 . 94171)) (94221 128732 (GIT-GET-DIFFERENT-FILES 94231 . 101139) (
GIT-BRANCHES-COMPARE-DIRECTORIES 101141 . 108780) (GIT-WORKING-COMPARE-DIRECTORIES 108782 . 114597) (
GIT-COMPARE-WORKTREE 114599 . 118577) (GITCDOBJBUTTONFN 118579 . 123077) (GIT-CD-LABELFN 123079 .
124165) (GIT-CD-MENUFN 124167 . 126713) (GIT-WORKING-COMPARE-FILES 126715 . 127335) (
GIT-BRANCHES-COMPARE-FILES 127337 . 128501) (GIT-PR-COMPARE 128503 . 128730)) (128802 137133 (CDGITDIR
128812 . 129499) (GIT-COMMAND 129501 . 131059) (GITORIGIN 131061 . 131758) (GIT-INITIALS 131760 .
132064) (GIT-COMMAND-TO-FILE 132066 . 135551) (GIT-RESULT-TO-LINES 135553 . 136466) (STRIPLOCAL 136468
. 137131)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "27-Jan-2026 13:21:10" {WMEDLEY}<lispusers>HELPSYS.;21 88654
(FILECREATED "20-Apr-2026 08:07:50" {MEDLEY}<lispusers>HELPSYS.;24 89018
:EDIT-BY rmk
:CHANGES-TO (FNS DOCS.LOOKUP GENERIC.MAN.LOOKUP)
(VARS HELPSYSCOMS)
:CHANGES-TO (FNS REPO.LOOKUP)
:PREVIOUS-DATE " 5-May-2025 22:04:32" {WMEDLEY}<lispusers>HELPSYS.;15)
:PREVIOUS-DATE "27-Jan-2026 13:21:10" {MEDLEY}<lispusers>HELPSYS.;21)
(PRETTYCOMPRINT HELPSYSCOMS)
@@ -340,21 +339,27 @@
else "git web--browse"])
(REPO.LOOKUP
[LAMBDA (ENTRY TYPES) (* ; "Edited 13-Jan-2023 10:46 by lmm")
[LAMBDA (ENTRY TYPES) (* ; "Edited 20-Apr-2026 08:06 by rmk")
(* ; "Edited 13-Jan-2023 10:46 by lmm")
(* ; "Edited 16-Aug-2022 16:26 by lmm")
(for FL in (UNION (WHEREIS ENTRY (OR TYPES HELPSYS.REPO.TYPES)
T)
(LIST ENTRY)) bind POS FND
(for FL POS FND TSTREAM in (UNION (WHEREIS ENTRY (OR TYPES HELPSYS.REPO.TYPES)
T)
(LIST ENTRY))
when [SETQ FND (OR (FINDFILE-WITH-EXTENSIONS FL NIL '(TEDIT TXT TED))
(AND (SETQ POS (STRPOS "-" FL))
(FINDFILE-WITH-EXTENSIONS (SUBSTRING FL 1 (CL:1- POS))
NIL
'(TEDIT TXT TTY TED]
join (CL:WITH-OPEN-FILE (STR (PATHNAME FND)
:DIRECTION :INPUT)
(CL:WHEN (SETQ POS (FFILEPOS ENTRY STR))
(TEDIT-SEE STR NIL NIL (CL:FORMAT NIL "~a [~a]" FL ENTRY))
(LIST FL))])
collect (SETQ TSTREAM (OPENTEXTSTREAM FND))
[TEDIT TSTREAM NIL NIL `(READONLY T LEAVETTY T FONT ,DEFAULTFONT TITLE
,(CL:IF (EQ FL ENTRY)
FL
(CONCAT ENTRY " on " FL))]
(CL:UNLESS (EQ FL ENTRY)
(CL:WHEN (SETQ POS (TEDIT.FIND TSTREAM ENTRY))
(TEDIT.SETSEL TSTREAM POS (NCHARS ENTRY))
(TEDIT.NORMALIZECARET TSTREAM)))
FL])
)
(RPAQQ CLHS.INDEX
@@ -1716,14 +1721,14 @@
(PUTPROPS HELPSYS FILETYPE :FAKE-COMPILE-FILE)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4640 10992 (HELPSYS 4650 . 6491) (IRM.LOOKUP 6493 . 8131) (GENERIC.MAN.LOOKUP 8133 .
10001) (IRM.SMART.LOOKUP 10003 . 10159) (IRM.RESET 10161 . 10570) (DOCS.LOOKUP 10572 . 10990)) (11249
18568 (CLHS.INDEX 11259 . 14223) (CLHS.LOOKUP 14225 . 16231) (CLHS.OPENER 16233 . 17556) (REPO.LOOKUP
17558 . 18566)) (71663 73181 (IRM.GET.DINFOGRAPH 71673 . 72548) (IRM.DISPLAY.REF 72550 . 73179)) (
73183 73545 (IRM.LOAD-GRAPH 73183 . 73545)) (73870 79374 (IRM.DISPLAY.CREF 73880 . 75594) (
IRM.CREF.BOX 75596 . 76423) (IRM.PUT.CREF 76425 . 76650) (IRM.GET.CREF 76652 . 77023) (
IRM.CREF.BUTTONEVENTFN 77025 . 79372)) (79929 88235 (\IRM.GET.REF 79939 . 81270) (\IRM.SMART.REF 81272
. 83199) (\IRM.CHOOSE.REF 83201 . 84452) (\IRM.WILD.REF 84454 . 85709) (\IRM.WILDCARD 85711 . 86077)
(\IRM.WILD.MATCH 86079 . 87309) (\IRM.GET.HASHFILE 87311 . 87774) (\IRM.GET.KEYWORDS 87776 . 88233)) (
88372 88528 (\IRM.AROUND-EXIT 88372 . 88528)))))
(FILEMAP (NIL (4582 10934 (HELPSYS 4592 . 6433) (IRM.LOOKUP 6435 . 8073) (GENERIC.MAN.LOOKUP 8075 .
9943) (IRM.SMART.LOOKUP 9945 . 10101) (IRM.RESET 10103 . 10512) (DOCS.LOOKUP 10514 . 10932)) (11191
18932 (CLHS.INDEX 11201 . 14165) (CLHS.LOOKUP 14167 . 16173) (CLHS.OPENER 16175 . 17498) (REPO.LOOKUP
17500 . 18930)) (72027 73545 (IRM.GET.DINFOGRAPH 72037 . 72912) (IRM.DISPLAY.REF 72914 . 73543)) (
73547 73909 (IRM.LOAD-GRAPH 73547 . 73909)) (74234 79738 (IRM.DISPLAY.CREF 74244 . 75958) (
IRM.CREF.BOX 75960 . 76787) (IRM.PUT.CREF 76789 . 77014) (IRM.GET.CREF 77016 . 77387) (
IRM.CREF.BUTTONEVENTFN 77389 . 79736)) (80293 88599 (\IRM.GET.REF 80303 . 81634) (\IRM.SMART.REF 81636
. 83563) (\IRM.CHOOSE.REF 83565 . 84816) (\IRM.WILD.REF 84818 . 86073) (\IRM.WILDCARD 86075 . 86441)
(\IRM.WILD.MATCH 86443 . 87673) (\IRM.GET.HASHFILE 87675 . 88138) (\IRM.GET.KEYWORDS 88140 . 88597)) (
88736 88892 (\IRM.AROUND-EXIT 88736 . 88892)))))
STOP

Binary file not shown.

View File

@@ -1,24 +0,0 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "12-Aug-2022 12:29:18" {DSK}<home>larry>medley>lispusers>UNIXYCD.;1 568
:CHANGES-TO (VARS UNIXYCDCOMS)
:PREVIOUS-DATE "12-Aug-2022 11:14:47" {DSK}<home>larry>medley>lispusers>UNIXYCD.;1)
(PRETTYCOMPRINT UNIXYCDCOMS)
(RPAQQ UNIXYCDCOMS ((COMMANDS "cd" "ls" "pwd")))
(DEFCOMMAND "cd" (DIR)
(/CNDIR DIR))
(DEFCOMMAND "ls" (FIRST . REST)
(DODIR (CONS FIRST REST)))
(DEFCOMMAND "pwd" ()
(DIRECTORYNAME T))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
STOP

View File

@@ -1,13 +0,0 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "12-Aug-2022 12:29:30" ("compiled on " {DSK}<home>larry>medley>lispusers>UNIXYCD.;1)
"12-Aug-2022 10:18:11" bcompl'd in "Welcome to Fuller sysout 12-Aug-2022 ..." dated
"12-Aug-2022 10:22:21")
(FILECREATED "12-Aug-2022 12:29:18" {DSK}<home>larry>medley>lispusers>UNIXYCD.;1 568 :CHANGES-TO (VARS
UNIXYCDCOMS) :PREVIOUS-DATE "12-Aug-2022 11:14:47" {DSK}<home>larry>medley>lispusers>UNIXYCD.;1)
(PRETTYCOMPRINT UNIXYCDCOMS)
(RPAQQ UNIXYCDCOMS ((COMMANDS "cd" "ls" "pwd")))
(DEFCOMMAND "cd" (DIR) (/CNDIR DIR))
(DEFCOMMAND "ls" (FIRST . REST) (DODIR (CONS FIRST REST)))
(DEFCOMMAND "pwd" NIL (DIRECTORYNAME T))
NIL

View File

@@ -1,13 +0,0 @@
UNIXYCD & .LCOM .TXT
This file implements little commands:
cd change Lisp's current directory to home
cd dir dir can be a path separated by / or >.
if no "hostname" is given, it's assumed {DSK}
ls [dir] list current directory or a directory that's given
non-feature: ls foo only prints foo; you need to
specify ls foo/
pwd print working directory

View File

@@ -57,7 +57,12 @@ main() {
# save dribble file to loadups; extract and save fails
"${MEDLEYDIR}"/scripts/cpv ${logindir}/HCFILES.DRIBBLE "${MEDLEYDIR}"/loadups/hcfiles.dribble
grep "IL:FAIL" < "${MEDLEYDIR}"/loadups/hcfiles.dribble > ${logindir}/fails
if [ -f "$(command -v perl)" ] && [ -x "$(command -v perl)" ]
then
perl "${MEDLEYDIR}"/scripts/getFails.pl '^[^\n]*IL:FAIL' 'DONE' "${MEDLEYDIR}"/loadups/hcfiles.dribble > ${logindir}/fails
else
echo Unable to extract FAIL information from "${MEDLEYDIR}"/loadups/hcfiles.dribble > ${logindir}/fails
fi
"${MEDLEYDIR}"/scripts/cpv ${logindir}/fails "${MEDLEYDIR}"/loadups/hcfiles-fails.txt
# cleanup

31
scripts/getFails.pl Normal file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/env perl
use strict;
use warnings;
die "Usage: $0 <pattern1> <pattern2> [file...]\n" unless @ARGV >= 2;
my $pat1 = shift;
my $pat2 = shift;
my $regex1line = qr/${pat1}.*?${pat2}/; # all on 1 line
my $regexStart = qr/${pat1}/; # the line has the start pattern
my $regexEnd = qr/${pat2}/; # the line has the end pattern
my $flag = 0;
while (<>) {
if ($flag) { # we're in a multi-line block
print;
if (/$regexEnd/) { # does this line end the multi-line block?
$flag = 0;
print "\n"; # separator
};
}
elsif (/$regex1line/) { # all on 1 line
print;
print "\n"; # separator
}
elsif (/$regexStart/) { # begin a multi-line block
print;
$flag = 1;
}
}

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED " 6-Feb-2026 23:22:00" {WMEDLEY}<sources>FILEIO.;142 166519
(FILECREATED "26-Apr-2026 23:27:40" {WMEDLEY}<sources>FILEIO.;146 165936
:EDIT-BY rmk
:CHANGES-TO (FNS DIRECTORYNAME)
:CHANGES-TO (FNS \DO.PARAMS.AT.OPEN)
:PREVIOUS-DATE "12-Sep-2025 08:19:06" {WMEDLEY}<sources>FILEIO.;141)
:PREVIOUS-DATE "26-Apr-2026 21:00:55" {WMEDLEY}<sources>FILEIO.;145)
(PRETTYCOMPRINT FILEIOCOMS)
@@ -1446,7 +1446,10 @@
(GO RETRY])
(\DO.PARAMS.AT.OPEN
[LAMBDA (STREAM ACCESS PARAMETERS) (* ; "Edited 25-Dec-2024 10:54 by rmk")
[LAMBDA (STREAM ACCESS PARAMETERS) (* ; "Edited 26-Apr-2026 23:27 by rmk")
(* ; "Edited 21-Apr-2026 20:57 by mth")
(* ; "Edited 20-Apr-2026 17:36 by mth")
(* ; "Edited 25-Dec-2024 10:54 by rmk")
(* ; "Edited 15-Jul-2024 22:29 by rmk")
(* ; "Edited 25-Aug-2023 08:43 by rmk")
(* ; "Edited 6-Jul-2022 00:00 by rmk")
@@ -1469,44 +1472,40 @@
(DECLARE (USEDFREE STREAM-AFTER-OPEN-FNS))
(\EXTERNALFORMAT STREAM :DEFAULT)
[for X ATTR VAL EOL in PARAMETERS do [(COND
[(LISTP X)
(SETQ ATTR (CAR X))
(SETQ VAL (CAR (LISTP (CDR X]
(T (SETQ ATTR X)
(SETQ VAL T)))
(SELECTQ ATTR
(BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
(ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
(CHARSET (CHARSET STREAM VAL))
((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT)
(for X ATTR VAL EOL in PARAMETERS
do (COND
[(LISTP X)
(SETQ ATTR (CAR X))
(SETQ VAL (CAR (LISTP (CDR X]
(T (SETQ ATTR X)
(SETQ VAL T)))
(SELECTQ ATTR
(BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
(ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
(CHARSET (CHARSET STREAM VAL))
((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT)
(* ;;
 "This allows an EOL and format to be intermixed, the last ones of each are installed")
(* ;;
 "VAL can be :UTF-8, CR, (UTF:8 CR), i.e. specify either one or both")
(for V inside VAL do (if (MEMB V '(LF CR CRLF ANY))
then (SETQ EOL V)
else (\EXTERNALFORMAT STREAM V))))
(CONVHANKAKU (CONVHANKAKU STREAM VAL))
((EOL EOLCONVENTION EOLC)
(SETQ EOL VAL))
NIL) finally
(if (LISTP VAL)
then (* ;
 "VAL could be (:UTF-8 CR) e.g. from CL:OPEN")
(\EXTERNALFORMAT STREAM (CAR VAL))
(* ;
 "Can override the EOL of the format")
(SETQ EOL (CADR VAL))
elseif (SETQ EOL (CAR)
VAL)
else (\EXTERNALFORMAT STREAM VAL)))
(CONVHANKAKU (CONVHANKAKU STREAM VAL))
((EOL EOLCONVENTION EOLC)
(SETQ EOL VAL] finally
(* ;; "If EOL is not specified, default input streams to ANY. ")
(* ;;
 "If not specified, default EOL to ANY--SETFILEINFO checks for output streams")
(SETFILEINFO STREAM 'EOL
(OR EOL 'ANY]
(FOR FN IN STREAM-AFTER-OPEN-FNS DO (APPLY* FN STREAM ACCESS PARAMETERS])
(CL:UNLESS (OR EOL (\GETSTREAM STREAM 'OUTPUT T))
(SETQ EOL 'ANY))
(CL:WHEN EOL
(SETFILEINFO STREAM 'EOL EOL)))
(for FN in STREAM-AFTER-OPEN-FNS do (APPLY* FN STREAM ACCESS PARAMETERS])
(\RENAMEFILE
[LAMBDA (OLDFILE NEWFILE) (* ; "Edited 25-Dec-2024 10:14 by rmk")
[LAMBDA (OLDFILE NEWFILE) (* ; "Edited 25-Apr-2026 16:03 by rmk")
(* ; "Edited 25-Dec-2024 10:14 by rmk")
(* ; "Edited 16-Dec-2024 21:07 by rmk")
(* hdj " 7-May-86 12:22")
(SETQ OLDFILE (\ADD.CONNECTED.DIR OLDFILE))
@@ -1521,7 +1520,7 @@
NEW-DEVICE
(TRUEFILENAME NEWFILE)))
(CL:IF (PSEUDOHOSTP NEWFILE)
(PSEUDOFILENAME NEWFULLNAME)
(PSEUDOFILENAME NEWFULLNAME (FILENAMEFIELD NEWFILE 'HOST))
NEWFULLNAME))])
(\REVALIDATEFILE
@@ -3161,39 +3160,39 @@ update the map")
(ADDTOVAR LAMA \IS.NOT.RANDACCESSP \ILLEGAL.DEVICEOP STREAMPROP)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (27706 31822 (STREAMPROP 27716 . 28150) (GETSTREAMPROP 28152 . 28901) (PUTSTREAMPROP
28903 . 31670) (STREAMP 31672 . 31820)) (31865 35244 (\DEFPRINT.BY.NAME 31875 . 33027) (
\STREAM.DEFPRINT 33029 . 34937) (\FDEV.DEFPRINT 34939 . 35242)) (35502 40543 (\GETACCESS 35512 . 35966
) (\SETACCESS 35968 . 40541)) (60769 66738 (\DEFINEDEVICE 60779 . 63095) (\GETDEVICEFROMNAME 63097 .
63570) (\GETDEVICEFROMHOSTNAME 63572 . 64616) (\REMOVEDEVICE 64618 . 65741) (\REMOVEDEVICE.NAMES 65743
. 66736)) (66778 94509 (\CLOSEFILE 66788 . 67613) (\DELETEFILE 67615 . 67909) (\DEVICEEVENT 67911 .
69681) (\GENERATEFILES 69683 . 70630) (\GENERATENEXTFILE 70632 . 71283) (\GENERATEFILEINFO 71285 .
71746) (\GETFILENAME 71748 . 72137) (\GENERIC.OUTFILEP 72139 . 72609) (\OPENFILE 72611 . 75189) (
\DO.PARAMS.AT.OPEN 75191 . 79387) (\RENAMEFILE 79389 . 80345) (\REVALIDATEFILE 80347 . 82949) (
\PAGED.REVALIDATEFILELST 82951 . 84509) (\PAGED.REVALIDATEFILES 84511 . 86230) (\PAGED.REVALIDATEFILE
86232 . 88515) (\BUFFERED.REVALIDATEFILE 88517 . 90803) (\BUFFERED.REVALIDATEFILELST 90805 . 91989) (
\PRINT-REVALIDATION-RESULT 91991 . 92833) (\TRUNCATEFILE 92835 . 93226) (\FILE-CONFLICT 93228 . 94507)
) (94545 99208 (\GENERATENOFILES 94555 . 96651) (\NULLFILEGENERATOR 96653 . 96897) (\NOFILESNEXTFILEFN
96899 . 98890) (\NOFILESINFOFN 98892 . 99206)) (99327 101235 (\FILE.NOT.OPEN 99337 . 99850) (
\FILE.WONT.OPEN 99852 . 100180) (\ILLEGAL.DEVICEOP 100182 . 100464) (\IS.NOT.RANDACCESSP 100466 .
100912) (\STREAM.NOT.OPEN 100914 . 101233)) (101370 103668 (\FDEVINSTANCE 101380 . 103666)) (104870
111841 (CNDIR 104880 . 106185) (DIRECTORYNAME 106187 . 109967) (DIRECTORYNAMEP 109969 . 110585) (
HOSTNAMEP 110587 . 111394) (\ADD.CONNECTED.DIR 111396 . 111839)) (111886 140833 (\BACKFILEPTR 111896
. 112084) (\BACKPEEKBIN 112086 . 112447) (\BACKBIN 112449 . 112800) (BIN 112802 . 113019) (\BIN
113021 . 113298) (\BINS 113300 . 113586) (BOUT 113588 . 113950) (\BOUT 113952 . 114267) (\BOUTS 114269
. 114580) (COPYBYTES 114582 . 117914) (COPYCHARS 117916 . 121714) (COPYFILE 121716 . 123076) (
\COPYOPENFILE 123078 . 126277) (\INFER.FILE.TYPE 126279 . 127233) (EOFP 127235 . 127532) (FORCEOUTPUT
127534 . 127781) (\FLUSH.OPEN.STREAMS 127783 . 128139) (CHARSET 128141 . 129500) (ACCESS-CHARSET
129502 . 130139) (GETEOFPTR 130141 . 130391) (GETFILEINFO 130393 . 133586) (\TYPE.FROM.FILETYPE 133588
. 134058) (\FILETYPE.FROM.TYPE 134060 . 134239) (GETFILEPTR 134241 . 134493) (SETFILEINFO 134495 .
138732) (SETFILEPTR 138734 . 140453) (BOUT16 140455 . 140640) (BIN16 140642 . 140831)) (140936 148116
(\GENERIC.BINS 140946 . 141226) (\GENERIC.BOUTS 141228 . 141493) (\GENERIC.RENAMEFILE 141495 . 143743)
(\GENERIC.OPENP 143745 . 145060) (\GENERIC.READP 145062 . 146214) (\GENERIC.CHARSET 146216 . 148114))
(148117 148456 (\MAP-OPEN-STREAMS 148127 . 148454)) (150311 152391 (\EOF.ACTION 150321 . 150572) (
\EOSERROR 150574 . 150767) (\GETEOFPTR 150769 . 150951) (\INCFILEPTR 150953 . 151303) (\PEEKBIN 151305
. 151496) (\SETCLOSEDFILELENGTH 151498 . 151832) (\SETEOFPTR 151834 . 152022) (\SETFILEPTR 152024 .
152389)) (152392 152934 (\FIXPOUT 152402 . 152702) (\FIXPIN 152704 . 152932)) (152935 153501 (\BOUTEOL
152945 . 153499)) (156397 166261 (\BUFFERED.BIN 156407 . 157259) (\BUFFERED.PEEKBIN 157261 . 158043)
(\BUFFERED.BOUT 158045 . 158905) (\BUFFERED.BINS 158907 . 162592) (\BUFFERED.BOUTS 162594 . 164395) (
\BUFFERED.COPYBYTES 164397 . 166259)))))
(FILEMAP (NIL (27711 31827 (STREAMPROP 27721 . 28155) (GETSTREAMPROP 28157 . 28906) (PUTSTREAMPROP
28908 . 31675) (STREAMP 31677 . 31825)) (31870 35249 (\DEFPRINT.BY.NAME 31880 . 33032) (
\STREAM.DEFPRINT 33034 . 34942) (\FDEV.DEFPRINT 34944 . 35247)) (35507 40548 (\GETACCESS 35517 . 35971
) (\SETACCESS 35973 . 40546)) (60774 66743 (\DEFINEDEVICE 60784 . 63100) (\GETDEVICEFROMNAME 63102 .
63575) (\GETDEVICEFROMHOSTNAME 63577 . 64621) (\REMOVEDEVICE 64623 . 65746) (\REMOVEDEVICE.NAMES 65748
. 66741)) (66783 93926 (\CLOSEFILE 66793 . 67618) (\DELETEFILE 67620 . 67914) (\DEVICEEVENT 67916 .
69686) (\GENERATEFILES 69688 . 70635) (\GENERATENEXTFILE 70637 . 71288) (\GENERATEFILEINFO 71290 .
71751) (\GETFILENAME 71753 . 72142) (\GENERIC.OUTFILEP 72144 . 72614) (\OPENFILE 72616 . 75194) (
\DO.PARAMS.AT.OPEN 75196 . 78665) (\RENAMEFILE 78667 . 79762) (\REVALIDATEFILE 79764 . 82366) (
\PAGED.REVALIDATEFILELST 82368 . 83926) (\PAGED.REVALIDATEFILES 83928 . 85647) (\PAGED.REVALIDATEFILE
85649 . 87932) (\BUFFERED.REVALIDATEFILE 87934 . 90220) (\BUFFERED.REVALIDATEFILELST 90222 . 91406) (
\PRINT-REVALIDATION-RESULT 91408 . 92250) (\TRUNCATEFILE 92252 . 92643) (\FILE-CONFLICT 92645 . 93924)
) (93962 98625 (\GENERATENOFILES 93972 . 96068) (\NULLFILEGENERATOR 96070 . 96314) (\NOFILESNEXTFILEFN
96316 . 98307) (\NOFILESINFOFN 98309 . 98623)) (98744 100652 (\FILE.NOT.OPEN 98754 . 99267) (
\FILE.WONT.OPEN 99269 . 99597) (\ILLEGAL.DEVICEOP 99599 . 99881) (\IS.NOT.RANDACCESSP 99883 . 100329)
(\STREAM.NOT.OPEN 100331 . 100650)) (100787 103085 (\FDEVINSTANCE 100797 . 103083)) (104287 111258 (
CNDIR 104297 . 105602) (DIRECTORYNAME 105604 . 109384) (DIRECTORYNAMEP 109386 . 110002) (HOSTNAMEP
110004 . 110811) (\ADD.CONNECTED.DIR 110813 . 111256)) (111303 140250 (\BACKFILEPTR 111313 . 111501) (
\BACKPEEKBIN 111503 . 111864) (\BACKBIN 111866 . 112217) (BIN 112219 . 112436) (\BIN 112438 . 112715)
(\BINS 112717 . 113003) (BOUT 113005 . 113367) (\BOUT 113369 . 113684) (\BOUTS 113686 . 113997) (
COPYBYTES 113999 . 117331) (COPYCHARS 117333 . 121131) (COPYFILE 121133 . 122493) (\COPYOPENFILE
122495 . 125694) (\INFER.FILE.TYPE 125696 . 126650) (EOFP 126652 . 126949) (FORCEOUTPUT 126951 .
127198) (\FLUSH.OPEN.STREAMS 127200 . 127556) (CHARSET 127558 . 128917) (ACCESS-CHARSET 128919 .
129556) (GETEOFPTR 129558 . 129808) (GETFILEINFO 129810 . 133003) (\TYPE.FROM.FILETYPE 133005 . 133475
) (\FILETYPE.FROM.TYPE 133477 . 133656) (GETFILEPTR 133658 . 133910) (SETFILEINFO 133912 . 138149) (
SETFILEPTR 138151 . 139870) (BOUT16 139872 . 140057) (BIN16 140059 . 140248)) (140353 147533 (
\GENERIC.BINS 140363 . 140643) (\GENERIC.BOUTS 140645 . 140910) (\GENERIC.RENAMEFILE 140912 . 143160)
(\GENERIC.OPENP 143162 . 144477) (\GENERIC.READP 144479 . 145631) (\GENERIC.CHARSET 145633 . 147531))
(147534 147873 (\MAP-OPEN-STREAMS 147544 . 147871)) (149728 151808 (\EOF.ACTION 149738 . 149989) (
\EOSERROR 149991 . 150184) (\GETEOFPTR 150186 . 150368) (\INCFILEPTR 150370 . 150720) (\PEEKBIN 150722
. 150913) (\SETCLOSEDFILELENGTH 150915 . 151249) (\SETEOFPTR 151251 . 151439) (\SETFILEPTR 151441 .
151806)) (151809 152351 (\FIXPOUT 151819 . 152119) (\FIXPIN 152121 . 152349)) (152352 152918 (\BOUTEOL
152362 . 152916)) (155814 165678 (\BUFFERED.BIN 155824 . 156676) (\BUFFERED.PEEKBIN 156678 . 157460)
(\BUFFERED.BOUT 157462 . 158322) (\BUFFERED.BINS 158324 . 162009) (\BUFFERED.BOUTS 162011 . 163812) (
\BUFFERED.COPYBYTES 163814 . 165676)))))
STOP

Binary file not shown.

View File

@@ -1,15 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 3-May-2021 23:13:56" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;4 139646
changes to%: (FNS \ETHEREVENTFN \ETHER-AVAILABLE)
(VARS LLETHERCOMS)
(FILECREATED "23-Jan-2026 12:42:02" {DSK}<Users>briggs>PROJECTS>Medley>sources>LLETHER.;4 138728
previous date%: " 2-May-2021 12:37:02" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;3)
:EDIT-BY nhb
:CHANGES-TO (FNS \SETETHERFLAGS)
:PREVIOUS-DATE "20-Dec-2025 14:12:06" {DSK}<Users>briggs>PROJECTS>Medley>sources>LLETHER.;3)
(* ; "
Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT LLETHERCOMS)
@@ -17,19 +15,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
[(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (SOURCE)
LLNSDECLS))
[COMS (* ;
 "Stuff that should be somewhere else!")
 "Stuff that should be somewhere else!")
(INITVARS (ERRORMESSAGESTREAM T)
(PROMPTWINDOW T))
(GLOBALVARS ERRORMESSAGESTREAM PROMPTWINDOW)
(COMS (* ;
 "Queue management for data which can be chain-linked through the first cell")
 "Queue management for data which can be chain-linked through the first cell")
(DECLARE%: DONTCOPY (EXPORT (RECORDS SYSQUEUE QABLEITEM)
(MACROS \QUEUEHEAD)))
(INITRECORDS SYSQUEUE)
(SYSRECORDS SYSQUEUE)
(FNS CANONICAL.HOSTNAME \ENQUEUE \DEQUEUE \QUEUELENGTH \ONQUEUE \UNQUEUE)
(* ;
 "Queue management constructed by TCONC")
 "Queue management constructed by TCONC")
(EXPORT (MACROS \DETCONC \ENTCONC \PEEKTCONC]
(COMS (* ; "General packet management")
(DECLARE%: DONTCOPY
@@ -124,7 +122,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE DONTCOPY (GLOBALVARS \CENTICLOCKFACTOR \CENTICLOCKBOX)
(RECORDS CENTICLOCK)))
(COMS (* ;
 "3MB stuff, which is not needed in DandeLion")
 "3MB stuff, which is not needed in DandeLion")
(FNS \3MBGETPACKET \3MB.CREATENDB \3MBSENDPACKET \3MBWATCHER \3MBENCAPSULATE
\3MB.BROADCASTP \3MBFLUSH)
(INITVARS (\MAXWATCHERGETS 5))
@@ -168,19 +166,18 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE SYSQUEUE ((NIL BYTE)
(SYSQUEUEHEAD POINTER)
(NIL BYTE)
(SYSQUEUETAIL POINTER)))
(SYSQUEUEHEAD POINTER)
(NIL BYTE)
(SYSQUEUETAIL POINTER)))
(BLOCKRECORD QABLEITEM ((NIL BITS 4)
(QLINK POINTER) (* ;
 "Link to next thing in queue always in first pointer of datum, independent of what the datum is")
)
(BLOCKRECORD QABLEITEM ((NIL BITS 4)
(LINK POINTER)
(* ;
 "Let's also be able to call it a LINK")
)))
(QLINK POINTER) (* ;
 "Link to next thing in queue always in first pointer of datum, independent of what the datum is")
)
(BLOCKRECORD QABLEITEM ((NIL BITS 4)
(LINK POINTER)(* ;
 "Let's also be able to call it a LINK")
)))
)
(/DECLAREDATATYPE 'SYSQUEUE '(BYTE POINTER BYTE POINTER)
@@ -192,7 +189,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(PUTPROPS \QUEUEHEAD MACRO ((Q)
(fetch (SYSQUEUE SYSQUEUEHEAD) of Q)))
(fetch (SYSQUEUE SYSQUEUEHEAD) of Q)))
)
(* "END EXPORTED DEFINITIONS")
@@ -208,9 +205,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(ADDTOVAR SYSTEMRECLST
(DATATYPE SYSQUEUE ((NIL BYTE)
(SYSQUEUEHEAD POINTER)
(NIL BYTE)
(SYSQUEUETAIL POINTER)))
(SYSQUEUEHEAD POINTER)
(NIL BYTE)
(SYSQUEUETAIL POINTER)))
)
(DEFINEQ
@@ -362,9 +359,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(PUTPROPS \DETCONC MACRO [OPENLAMBDA (TQ)
(PROG1 (\PEEKTCONC TQ)
(if [NULL (CAR (RPLACA TQ (CDAR TQ]
then (RPLACD TQ)))])
(PROG1 (\PEEKTCONC TQ)
(if [NULL (CAR (RPLACA TQ (CDAR TQ]
then (RPLACD TQ)))])
(PUTPROPS \ENTCONC MACRO (= . TCONC))
@@ -382,48 +379,48 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE ETHERPACKET ((NIL BYTE)
(EPLINK POINTER) (* ; "For queue maintenence")
(EPFLAGS BYTE) (* ;
 "optional flags for some applications")
(EPUSERFIELD POINTER) (* ;
 "Arbitrary pointer for applications")
(NIL BYTE)
(EPPLIST POINTER) (* ;
 "Extra field for use as an A-list for properties")
(EPTRANSMITTING FLAG) (* ;
 "True while packet is being transmitted and hence cannot be reused")
(EPRECEIVING FLAG) (* ;
 "True when a packet has been seen at the head of the network's input queue at least once")
(NIL BITS 6)
(EPREQUEUE POINTER) (* ;
 "Where to requeue this packet after transmission")
(NIL BYTE)
(EPSOCKET POINTER)
(NIL BYTE)
(EPNETWORK POINTER)
(EPTYPE WORD) (* ;
 "Type of packet to be encapsulated (PUP or XIP or 10TO3)")
(NIL WORD)
(EPTIMESTAMP FIXP) (* ;
 "Gets RCLK value when transmitted/received")
(EPREQUEUEFN POINTER) (* ; "FN to perform requeueing")
(NIL 4 WORD) (* ; "Space for expansion")
(EPLINK POINTER) (* ; "For queue maintenence")
(EPFLAGS BYTE) (* ;
 "optional flags for some applications")
(EPUSERFIELD POINTER) (* ;
 "Arbitrary pointer for applications")
(NIL BYTE)
(EPPLIST POINTER) (* ;
 "Extra field for use as an A-list for properties")
(EPTRANSMITTING FLAG) (* ;
 "True while packet is being transmitted and hence cannot be reused")
(EPRECEIVING FLAG) (* ;
 "True when a packet has been seen at the head of the network's input queue at least once")
(NIL BITS 6)
(EPREQUEUE POINTER) (* ;
 "Where to requeue this packet after transmission")
(NIL BYTE)
(EPSOCKET POINTER)
(NIL BYTE)
(EPNETWORK POINTER)
(EPTYPE WORD) (* ;
 "Type of packet to be encapsulated (PUP or XIP or 10TO3)")
(NIL WORD)
(EPTIMESTAMP FIXP) (* ;
 "Gets RCLK value when transmitted/received")
(EPREQUEUEFN POINTER) (* ; "FN to perform requeueing")
(NIL 4 WORD) (* ; "Space for expansion")
(* ;
 "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")
(EPENCAPSULATION 8 WORD) (* ;
 "10mb encapsulation, or 3mb encapsulation with padding")
(EPBODY 289 WORD) (* ;
 "Body of packet, header up to 16 words plus data up to 546 bytes")
))
 "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")
(EPENCAPSULATION 8 WORD) (* ;
 "10mb encapsulation, or 3mb encapsulation with padding")
(EPBODY 289 WORD) (* ;
 "Body of packet, header up to 16 words plus data up to 546 bytes")
))
(ACCESSFNS ETHERAUX ((AUXPTR (CDR (ASSOC 'AUXPTR (fetch EPPLIST of DATUM)))
(\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE))
(AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM)))
0)
(\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE))
(AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM)))
0)
(\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE))))
(\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE))
(AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM)))
0)
(\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE))
(AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM)))
0)
(\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE))))
)
(/DECLAREDATATYPE 'ETHERPACKET
@@ -1140,26 +1137,26 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(ADDTOVAR SYSTEMRECLST
(DATATYPE ETHERPACKET ((NIL BYTE)
(EPLINK POINTER)
(EPFLAGS BYTE)
(EPUSERFIELD POINTER)
(NIL BYTE)
(EPPLIST POINTER)
(EPTRANSMITTING FLAG)
(EPRECEIVING FLAG)
(NIL BITS 6)
(EPREQUEUE POINTER)
(NIL BYTE)
(EPSOCKET POINTER)
(NIL BYTE)
(EPNETWORK POINTER)
(EPTYPE WORD)
(NIL WORD)
(EPTIMESTAMP FIXP)
(EPREQUEUEFN POINTER)
(NIL 4 WORD)
(EPENCAPSULATION 8 WORD)
(EPBODY 289 WORD)))
(EPLINK POINTER)
(EPFLAGS BYTE)
(EPUSERFIELD POINTER)
(NIL BYTE)
(EPPLIST POINTER)
(EPTRANSMITTING FLAG)
(EPRECEIVING FLAG)
(NIL BITS 6)
(EPREQUEUE POINTER)
(NIL BYTE)
(EPSOCKET POINTER)
(NIL BYTE)
(EPNETWORK POINTER)
(EPTYPE WORD)
(NIL WORD)
(EPTIMESTAMP FIXP)
(EPREQUEUEFN POINTER)
(NIL 4 WORD)
(EPENCAPSULATION 8 WORD)
(EPBODY 289 WORD)))
)
(DEFINEQ
@@ -1499,21 +1496,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
HOSTNAMEP _ 'NILL])
(\ETHEREVENTFN
[LAMBDA (DEV EVENT) (* ; "Edited 3-May-2021 23:12 by larry")
[LAMBDA (DEV EVENT) (* ; "Edited 17-Dec-2025 11:01 by nhb")
(* ; "Edited 3-May-2021 23:12 by larry")
(PROG (NDB TURNOFFNS TIMESET)
(SELECTQ EVENT
((NIL AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM RESTART)
(SETQ \PUP.READY (SETQ \NS.READY (SETQ \IP.READY)))
(OR (\ETHER-AVAILABLE)
(RETURN))
(\SETETHERFLAGS)
(\SETLOCALNSNUMBERS)
(\FLUSHNDBS EVENT)
(SETQ \10MBLOCALNDB (COND
(\10MBFLG (SETQ NDB (\10MB.CREATENDB \10MBFLG))
(COND
(\LOCALNDBS (replace NDBNEXT of
\LOCALNDBS
(\LOCALNDBS (replace NDBNEXT of \LOCALNDBS
with NDB))
(T (SETQ \LOCALNDBS NDB)))
NDB)))
@@ -1536,10 +1531,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
((BEFOREMAKESYS BEFORELOGOUT BEFORESYSOUT BEFORESAVEVM)
(COND
((EQ EVENT 'BEFORESAVEVM) (* ;
 "Save passwords in place outside vmem to avoid having to reenter them later")
 "Save passwords in place outside vmem to avoid having to reenter them later")
(\STASH.PASSWORDS))
(T (* ;
 "No need to flush this before SAVEVM")
 "No need to flush this before SAVEVM")
(CLRHASH \ETHERPORTS)))
(CLRHASH LOGINPASSWORDS))
NIL])
@@ -1556,11 +1551,13 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(printout PROMPTWINDOW T "[Time not set]"])
(\SETETHERFLAGS
[LAMBDA NIL (* ; "Edited 2-May-2021 12:35 by larry")
[LAMBDA NIL (* ; "Edited 23-Jan-2026 12:39 by nhb")
(* ; "Edited 2-May-2021 12:35 by larry")
(* ;; "for Medley there is no 3MB ethernet ; used to be conditional on \MACHINETYPE")
(SETQ \10MBFLG 0)
(SETQ \10MBFLG (AND (\ETHER-AVAILABLE)
0))
(SETQ \3MBFLG NIL)
(SETQ *MAXIMUM-PACKET-SIZE* (- (TIMES 2 BYTESPERPAGE)
(UNFOLD (INDEXF (FETCH EPBODY))
@@ -1706,40 +1703,40 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: DONTCOPY
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE NDB ((NETTYPE BYTE) (* ; "10 or 3 for now")
(NDBNEXT POINTER) (* ; "Link to next NDB")
(NDBPUPNET# BYTE) (* ;
 "Pup number of this net. May be different from NS net number, though not in Xerox world")
(NDBNSNET# POINTER) (* ;
 "Can be 32-bits, so might as well leave its box around")
(NDBTASK# BYTE) (* ; "Task # of this network")
(NDBBROADCASTP POINTER) (* ;
 "Function that returns true if packet is of broadcast type")
(NDBPUPHOST# BYTE) (* ;
 "My pup address on this net. NS address is global to all nets, so not needed here")
(NDBTRANSMITTER POINTER) (* ;
 "(NDB PACKET) -- fn to send a raw packet on this net. returns NIL on failure")
(NIL BYTE)
(NDBENCAPSULATOR POINTER) (* ;
 "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")
(NDBCSB POINTER) (* ; "Pointer to CSB for this network")
(NDBIQLENGTH BYTE)
(NDBIQ POINTER) (* ;
 "Queue of empty packets for receiver")
(NDBTQ POINTER) (* ; "Queue of packets to transmit")
(NDBTRANSLATIONS POINTER) (* ;
 "Cache of translations, 3:10 or 10:3 according to network")
(NDBETHERFLUSHER POINTER) (* ; "Turns off this ether. Args NDB")
(NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER) (* ;
 "True if receiver can hear packets sent by transmitter")
(NDBIPNET# POINTER)
(NDBIPHOST# POINTER)
(NDBPUPTYPE WORD) (* ;
 "The packet encapsulation of PUP on this net")
(NIL WORD)
(NIL POINTER) (* ; "Spares")
))
(DATATYPE NDB ((NETTYPE BYTE) (* ; "10 or 3 for now")
(NDBNEXT POINTER) (* ; "Link to next NDB")
(NDBPUPNET# BYTE) (* ;
 "Pup number of this net. May be different from NS net number, though not in Xerox world")
(NDBNSNET# POINTER) (* ;
 "Can be 32-bits, so might as well leave its box around")
(NDBTASK# BYTE) (* ; "Task # of this network")
(NDBBROADCASTP POINTER) (* ;
 "Function that returns true if packet is of broadcast type")
(NDBPUPHOST# BYTE) (* ;
 "My pup address on this net. NS address is global to all nets, so not needed here")
(NDBTRANSMITTER POINTER) (* ;
 "(NDB PACKET) -- fn to send a raw packet on this net. returns NIL on failure")
(NIL BYTE)
(NDBENCAPSULATOR POINTER) (* ;
 "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")
(NDBCSB POINTER) (* ; "Pointer to CSB for this network")
(NDBIQLENGTH BYTE)
(NDBIQ POINTER) (* ;
 "Queue of empty packets for receiver")
(NDBTQ POINTER) (* ; "Queue of packets to transmit")
(NDBTRANSLATIONS POINTER) (* ;
 "Cache of translations, 3:10 or 10:3 according to network")
(NDBETHERFLUSHER POINTER) (* ; "Turns off this ether. Args NDB")
(NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER) (* ;
 "True if receiver can hear packets sent by transmitter")
(NDBIPNET# POINTER)
(NDBIPHOST# POINTER)
(NDBPUPTYPE WORD) (* ;
 "The packet encapsulation of PUP on this net")
(NIL WORD)
(NIL POINTER) (* ; "Spares")
))
(RECORD ROUTING (RTNET# RTHOPCOUNT RTGATEWAY# RTNDB RTTIMER RTRECENT))
)
@@ -1786,26 +1783,24 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(PUTPROPS ENCAPSULATE.ETHERPACKET MACRO ((NDB PACKET HOST LENGTH TYPE)
(SPREADAPPLY* (fetch NDBENCAPSULATOR
of NDB)
NDB PACKET HOST LENGTH TYPE)))
(SPREADAPPLY* (fetch NDBENCAPSULATOR of NDB)
NDB PACKET HOST LENGTH TYPE)))
(PUTPROPS TRANSMIT.ETHERPACKET MACRO ((NDB PACKET)
(SPREADAPPLY* (fetch NDBTRANSMITTER of NDB)
NDB PACKET)))
(SPREADAPPLY* (fetch NDBTRANSMITTER of NDB)
NDB PACKET)))
(PUTPROPS BROADCASTP MACRO ((PACKET)
([LAMBDA (NDB)
(AND NDB (APPLY* (fetch NDBBROADCASTP of NDB)
PACKET NDB]
(fetch EPNETWORK of PACKET))))
([LAMBDA (NDB)
(AND NDB (APPLY* (fetch NDBBROADCASTP of NDB)
PACKET NDB]
(fetch EPNETWORK of PACKET))))
(PUTPROPS \CHECK.ROUTING.TABLE MACRO [(TABLE)
(if (NEQ (NTYPX TABLE)
\ROUTING.TABLE.TYPENUM)
then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR
:CULPRIT TABLE :EXPECTED-TYPE
'RoutingTable])
(if (NEQ (NTYPX TABLE)
\ROUTING.TABLE.TYPENUM)
then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR :CULPRIT TABLE
:EXPECTED-TYPE 'RoutingTable])
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1851,28 +1846,28 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(ADDTOVAR SYSTEMRECLST
(DATATYPE NDB ((NETTYPE BYTE)
(NDBNEXT POINTER)
(NDBPUPNET# BYTE)
(NDBNSNET# POINTER)
(NDBTASK# BYTE)
(NDBBROADCASTP POINTER)
(NDBPUPHOST# BYTE)
(NDBTRANSMITTER POINTER)
(NIL BYTE)
(NDBENCAPSULATOR POINTER)
(NDBCSB POINTER)
(NDBIQLENGTH BYTE)
(NDBIQ POINTER)
(NDBTQ POINTER)
(NDBTRANSLATIONS POINTER)
(NDBETHERFLUSHER POINTER)
(NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER)
(NDBIPNET# POINTER)
(NDBIPHOST# POINTER)
(NDBPUPTYPE WORD)
(NIL WORD)
(NIL POINTER)))
(NDBNEXT POINTER)
(NDBPUPNET# BYTE)
(NDBNSNET# POINTER)
(NDBTASK# BYTE)
(NDBBROADCASTP POINTER)
(NDBPUPHOST# BYTE)
(NDBTRANSMITTER POINTER)
(NIL BYTE)
(NDBENCAPSULATOR POINTER)
(NDBCSB POINTER)
(NDBIQLENGTH BYTE)
(NDBIQ POINTER)
(NDBTQ POINTER)
(NDBTRANSLATIONS POINTER)
(NDBETHERFLUSHER POINTER)
(NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER)
(NDBIPNET# POINTER)
(NDBIPHOST# POINTER)
(NDBPUPTYPE WORD)
(NIL WORD)
(NIL POINTER)))
)
(DEFINEQ
@@ -2231,48 +2226,49 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(ACCESSFNS ETHERTRANS [(TRANSBODY (LOCF (fetch (ETHERPACKET EPBODY) of DATUM]
[BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD)
[BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD)
(* ; "Request or response")
(BASETRANSNSHOST 3 WORD)
(BASETRANSNSHOST 3 WORD)
(* ; "Known or desired NS address")
(TRANSPUPHOST BYTE)
(TRANSPUPHOST BYTE)
(* ; "Known or desired PUP address")
(NIL BYTE) (* ; "Padding")
(BASETRANSSENDERNSHOST 3 WORD)
(NIL BYTE) (* ; "Padding")
(BASETRANSSENDERNSHOST 3 WORD)
(* ; "Sender's info")
(TRANSSENDERPUPHOST BYTE)
(NIL BYTE))
[ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER
(LOCF DATUM))
(\STORENSHOSTNUMBER (LOCF DATUM)
NEWVALUE]
(ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST
(\LOADNSHOSTNUMBER (LOCF DATUM))
(\STORENSHOSTNUMBER (LOCF DATUM)
NEWVALUE]
[ACCESSFNS ETHERTRANS
([TRANSNSADDRESS
(PROGN (* ;
 "Kludge to get a pointer that looks like a full ns address")
(\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH
(ETHERPACKET EPBODY)
of T))
(INDEXF (FETCH
(ETHERTRANS
(TRANSSENDERPUPHOST BYTE)
(NIL BYTE))
[ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER (LOCF DATUM)
)
(\STORENSHOSTNUMBER (LOCF DATUM)
NEWVALUE]
(ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST (\LOADNSHOSTNUMBER
(LOCF DATUM))
(\STORENSHOSTNUMBER
(LOCF DATUM)
NEWVALUE]
[ACCESSFNS ETHERTRANS
([TRANSNSADDRESS (PROGN (* ;
 "Kludge to get a pointer that looks like a full ns address")
(\ADDBASE
DATUM
(CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY
)
of T))
(INDEXF (FETCH (ETHERTRANS
BASETRANSNSHOST
) of
T))
-2]
(TRANSSENDERNSADDRESS
(\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET
EPBODY)
of T))
(INDEXF (FETCH (ETHERTRANS
)
of T))
-2]
(TRANSSENDERNSADDRESS (\ADDBASE
DATUM
(CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY)
of T))
(INDEXF (FETCH (ETHERTRANS
BASETRANSSENDERNSHOST
)
of T))
-2]
(TYPE? (type? ETHERPACKET DATUM)))
)
of T))
-2]
(TYPE? (type? ETHERPACKET DATUM)))
)
(DECLARE%: EVAL@COMPILE
@@ -2571,7 +2567,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(RPAQ? \RAWTRACING )
(ADDTOVAR \PACKET.PRINTERS (512 . PRINTPUP)
(1537 . PRINT10TO3))
(1537 . PRINT10TO3))
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \RAWTRACING \PACKET.PRINTERS PUPTRACEFILE XIPTRACEFILE \RCLKMILLISECOND)
@@ -2615,7 +2611,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1)
(CENTICLOCKMAGNITUDE BITS 31)))
(CENTICLOCKMAGNITUDE BITS 31)))
)
)
@@ -2757,43 +2753,41 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE
(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION)
of DATUM]
(BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION) of DATUM]
(BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
(* ; "waste space")
(3MBLENGTH WORD)
(3MBLENGTH WORD)
(* ;
 "Length of packet in words, starting at the next word")
(3MBDESTHOST BYTE)
 "Length of packet in words, starting at the next word")
(3MBDESTHOST BYTE)
(* ; "Immediate destination host")
(3MBSOURCEHOST BYTE)
(3MBSOURCEHOST BYTE)
(* ; "Us")
(3MBTYPE WORD)
(3MBTYPE WORD)
(* ;
 "Type of packet -- PUP or XIP or 10TO3")
)
[ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM]
 "Type of packet -- PUP or XIP or 10TO3")
)
[ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM]
(* ; "What to hand to BCPL")
)
(TYPE? (type? ETHERPACKET DATUM)))
)
(TYPE? (type? ETHERPACKET DATUM)))
(BLOCKRECORD PBI ((PBILINK WORD)
(PBIQUEUE WORD)
(PBISOCKET WORD)
(PBINDB WORD)
(PBIINPUTP FLAG)
(PBIALLNETSP FLAG)
(PBINOZEROP FLAG)
(NIL BITS 13)
(PBITIMER WORD)
(PBILENGTH WORD)
(PBIENCAPSULATION 2 WORD)
(PBIFIRSTPUPWORD 10 WORD)
(PBIFIRSTPUPDATAWORD WORD))
[ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM)))
(PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD
of DATUM)))
(PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
(PBIQUEUE WORD)
(PBISOCKET WORD)
(PBINDB WORD)
(PBIINPUTP FLAG)
(PBIALLNETSP FLAG)
(PBINOZEROP FLAG)
(NIL BITS 13)
(PBITIMER WORD)
(PBILENGTH WORD)
(PBIENCAPSULATION 2 WORD)
(PBIFIRSTPUPWORD 10 WORD)
(PBIFIRSTPUPDATAWORD WORD))
[ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM)))
(PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD of DATUM)))
(PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
)
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
@@ -2879,8 +2873,8 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
T])
)
(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS
SEPR ") " -2 FINALLY ")"))
(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS SEPR
") " -2 FINALLY ")"))
(DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -2913,10 +2907,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: DONTCOPY
(RPAQQ D0DEVICES ((\DEVICE.3MBETHERIN 7)
(\DEVICE.3MBETHEROUT 6)
(\DEVICE.10MBETHER 21)
(\DEVICE.SA4000 3)
(\DEVICE.DISPLAY 2)))
(\DEVICE.3MBETHEROUT 6)
(\DEVICE.10MBETHER 21)
(\DEVICE.SA4000 3)
(\DEVICE.DISPLAY 2)))
(DECLARE%: EVAL@COMPILE
(RPAQQ \DEVICE.3MBETHERIN 7)
@@ -2947,33 +2941,31 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "END EXPORTED DEFINITIONS")
)
(PUTPROPS LLETHER COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991
1992 1993 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (10792 19248 (CANONICAL.HOSTNAME 10802 . 12391) (\ENQUEUE 12393 . 15038) (\DEQUEUE 15040
. 16367) (\QUEUELENGTH 16369 . 16669) (\ONQUEUE 16671 . 16937) (\UNQUEUE 16939 . 19246)) (52949 56815
(\ALLOCATE.ETHERPACKET 52959 . 54000) (\RELEASE.ETHERPACKET 54002 . 55075) (RELEASE.PUP 55077 . 55222
) (\FLUSH.PACKET.QUEUE 55224 . 55575) (\REQUEUE.ETHERPACKET 55577 . 56091) (\EP.PUT.AUX 56093 . 56813)
) (57389 68770 (\SETLOCALNSNUMBERS 57399 . 58784) (\LOADNSADDRESS 58786 . 59078) (\STORENSADDRESS
59080 . 59261) (\PRINTNSADDRESS 59263 . 60346) (\NSADDRESS.DEFPRINT 60348 . 65293) (
\NSADDRESS.PRINT.DECIMAL 65295 . 67426) (\LOADNSHOSTNUMBER 67428 . 68057) (\STORENSHOSTNUMBER 68059 .
68463) (PRINTNSHOSTNUMBER 68465 . 68768)) (68883 74631 (\ETHERINIT 68893 . 69463) (\ETHEREVENTFN 69465
. 71997) (\ETHER-AVAILABLE 71999 . 72157) (\TIME.NOT.SET 72159 . 72485) (\SETETHERFLAGS 72487 . 72938
) (\FLUSHNDBS 72940 . 74118) (\FLUSH.NDB.QUEUE 74120 . 74629)) (74632 77924 (\CHECKSUM 74642 . 76574)
(\HANDLE.RAW.OTHER 76576 . 76931) (\HANDLE.RAW.PACKET 76933 . 77445) (\ADD.PACKET.FILTER 77447 . 77679
) (\DEL.PACKET.FILTER 77681 . 77922)) (85757 86282 (ENCAPSULATE.ETHERPACKET 85767 . 86039) (
TRANSMIT.ETHERPACKET 86041 . 86280)) (86570 99166 (\AGE.ROUTING.TABLE 86580 . 88729) (
\ADD.ROUTING.TABLE.ENTRY 88731 . 89427) (\CLEAR.ROUTING.TABLE 89429 . 90156) (\MAP.ROUTING.TABLE 90158
. 90686) (PRINTROUTINGTABLE 90688 . 94313) (\ROUTINGTABLE.INFOHOOK 94315 . 99164)) (99651 106436 (
\TRANSLATE.10TO3 99661 . 101445) (\NOTE.10TO3 101447 . 103063) (\HANDLE.RAW.10TO3 103065 . 106434)) (
110418 125240 (PRINTPACKET 110428 . 110989) (\MAYBEPRINTPACKET 110991 . 112648) (PRINT10TO3 112650 .
114018) (PRINTPACKETDATA 114020 . 119310) (PRINTPACKETQUEUE 119312 . 119741) (TIME.SINCE.PACKET 119743
. 120228) (MAKE-NETWORK-TRACE-WINDOW 120230 . 123772) (\CHANGE.ETHER.TRACING 123774 . 125238)) (
125611 126426 (\CENTICLOCK 125621 . 126424)) (126881 132981 (\3MBGETPACKET 126891 . 128311) (
\3MB.CREATENDB 128313 . 129028) (\3MBSENDPACKET 129030 . 131213) (\3MBWATCHER 131215 . 131953) (
\3MBENCAPSULATE 131955 . 132503) (\3MB.BROADCASTP 132505 . 132676) (\3MBFLUSH 132678 . 132979)) (
135935 137878 (ASSURE.ETHER.ON 135945 . 136275) (INITPUPLEVEL1 136277 . 136757) (TURN.ON.ETHER 136759
. 136904) (RESTART.ETHER 136906 . 137280) (TURN.OFF.ETHER 137282 . 137600) (PRINTWORDS 137602 .
137876)) (138153 138688 (\DEVICE.INPUT 138163 . 138328) (\DEVICE.OUTPUT 138330 . 138524) (\D0.STARTIO
138526 . 138686)))))
(FILEMAP (NIL (10585 19041 (CANONICAL.HOSTNAME 10595 . 12184) (\ENQUEUE 12186 . 14831) (\DEQUEUE 14833
. 16160) (\QUEUELENGTH 16162 . 16462) (\ONQUEUE 16464 . 16730) (\UNQUEUE 16732 . 19039)) (52600 56466
(\ALLOCATE.ETHERPACKET 52610 . 53651) (\RELEASE.ETHERPACKET 53653 . 54726) (RELEASE.PUP 54728 . 54873
) (\FLUSH.PACKET.QUEUE 54875 . 55226) (\REQUEUE.ETHERPACKET 55228 . 55742) (\EP.PUT.AUX 55744 . 56464)
) (57040 68421 (\SETLOCALNSNUMBERS 57050 . 58435) (\LOADNSADDRESS 58437 . 58729) (\STORENSADDRESS
58731 . 58912) (\PRINTNSADDRESS 58914 . 59997) (\NSADDRESS.DEFPRINT 59999 . 64944) (
\NSADDRESS.PRINT.DECIMAL 64946 . 67077) (\LOADNSHOSTNUMBER 67079 . 67708) (\STORENSHOSTNUMBER 67710 .
68114) (PRINTNSHOSTNUMBER 68116 . 68419)) (68534 74394 (\ETHERINIT 68544 . 69114) (\ETHEREVENTFN 69116
. 71594) (\ETHER-AVAILABLE 71596 . 71754) (\TIME.NOT.SET 71756 . 72082) (\SETETHERFLAGS 72084 . 72701
) (\FLUSHNDBS 72703 . 73881) (\FLUSH.NDB.QUEUE 73883 . 74392)) (74395 77687 (\CHECKSUM 74405 . 76337)
(\HANDLE.RAW.OTHER 76339 . 76694) (\HANDLE.RAW.PACKET 76696 . 77208) (\ADD.PACKET.FILTER 77210 . 77442
) (\DEL.PACKET.FILTER 77444 . 77685)) (85191 85716 (ENCAPSULATE.ETHERPACKET 85201 . 85473) (
TRANSMIT.ETHERPACKET 85475 . 85714)) (86004 98600 (\AGE.ROUTING.TABLE 86014 . 88163) (
\ADD.ROUTING.TABLE.ENTRY 88165 . 88861) (\CLEAR.ROUTING.TABLE 88863 . 89590) (\MAP.ROUTING.TABLE 89592
. 90120) (PRINTROUTINGTABLE 90122 . 93747) (\ROUTINGTABLE.INFOHOOK 93749 . 98598)) (99085 105870 (
\TRANSLATE.10TO3 99095 . 100879) (\NOTE.10TO3 100881 . 102497) (\HANDLE.RAW.10TO3 102499 . 105868)) (
109860 124682 (PRINTPACKET 109870 . 110431) (\MAYBEPRINTPACKET 110433 . 112090) (PRINT10TO3 112092 .
113460) (PRINTPACKETDATA 113462 . 118752) (PRINTPACKETQUEUE 118754 . 119183) (TIME.SINCE.PACKET 119185
. 119670) (MAKE-NETWORK-TRACE-WINDOW 119672 . 123214) (\CHANGE.ETHER.TRACING 123216 . 124680)) (
125049 125864 (\CENTICLOCK 125059 . 125862)) (126315 132415 (\3MBGETPACKET 126325 . 127745) (
\3MB.CREATENDB 127747 . 128462) (\3MBSENDPACKET 128464 . 130647) (\3MBWATCHER 130649 . 131387) (
\3MBENCAPSULATE 131389 . 131937) (\3MB.BROADCASTP 131939 . 132110) (\3MBFLUSH 132112 . 132413)) (
135157 137100 (ASSURE.ETHER.ON 135167 . 135497) (INITPUPLEVEL1 135499 . 135979) (TURN.ON.ETHER 135981
. 136126) (RESTART.ETHER 136128 . 136502) (TURN.OFF.ETHER 136504 . 136822) (PRINTWORDS 136824 .
137098)) (137371 137906 (\DEVICE.INPUT 137381 . 137546) (\DEVICE.OUTPUT 137548 . 137742) (\D0.STARTIO
137744 . 137904)))))
STOP

Binary file not shown.

View File

@@ -1,14 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "25-Oct-2021 15:12:33" |{DSK}<home>larry>medley>sources>MAIKOETHER.;2| 28792
(FILECREATED "30-Dec-2025 19:09:34" |{DSK}<Users>briggs>projects>medley>sources>MAIKOETHER.;7| 26899
|changes| |to:| (FNS \\DISPLAYLINE)
(VARS MAIKOETHERCOMS)
:EDIT-BY |nhb|
|previous| |date:| "25-Mar-2021 09:50:57" |{DSK}<home>larry>medley>sources>MAIKOETHER.;1|)
:CHANGES-TO (VARS MAIKOETHERCOMS)
:PREVIOUS-DATE "30-Dec-2025 18:50:46" |{DSK}<Users>briggs>projects>medley>sources>MAIKOETHER.;6|
)
; Copyright (c) 1988-1991, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT MAIKOETHERCOMS)
@@ -23,10 +23,6 @@
(DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP)
10MBDRIVER)
(GLOBALVARS \\MAIKO.INPUT.PACKET |\\ETHERtopMonitor|)
(* |;;| "The NDB for Maiko's 10MB connection; used by \\MAIKO.ETHER-INTERRUPT:")
(GLOBALVARS \\MAIKO.10MB.NDB)
(GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR))
(ADDVARS (\\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER)
(\\MAIKO.10MBWATCHER \\10MBWATCHER)
@@ -35,9 +31,13 @@
(\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER)
(\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER)
(\\MAIKO.CHECKSUM \\CHECKSUM)))
(COMS (* \; "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(COMS
(* |;;| "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(FNS \\MAIKO.ETHER-INTERRUPT))
(COMS (* \; "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing.")
(COMS
(* |;;| "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing.")
(FNS \\MAIKO.CONSOLE-LOG-PRINT))
(COMS
(* |;;| "Asynchronous I/O handling")
@@ -48,13 +48,12 @@
(DEFINEQ
(\\10MB.RESTART.ETHER
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(SUBRCALL ETHER-RESUME)))
(\\10MB.STARTDRIVER
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 5-Apr-89 15:03 by snow")
(DECLARE (GLOBALVARS \\MAIKO.INPUT.PACKET \\10MB.EXPECTED.RECEIVE.INTERVAL
\\10MB.INPUT.TIMEOUT))
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 5-Apr-89 15:03 by snow")
(DECLARE (GLOBALVARS \\MAIKO.INPUT.PACKET \\10MB.EXPECTED.RECEIVE.INTERVAL \\10MB.INPUT.TIMEOUT))
(SUBRCALL ETHER-SUSPEND)
(OR (\\INIT.ETHER.BUFFER.POOL)
(ERROR "Unable to create buffer pool"))
@@ -65,21 +64,17 @@
0 0)
(PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with|
\\ES.PENDING)
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
\\MAIKO.INPUT.PACKET
))
(|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER
(KWOTE NDB))
'RESTARTABLE
'SYSTEM
'AFTEREXIT
'DELETE))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| \\MAIKO.INPUT.PACKET))
(|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER (KWOTE NDB))
'RESTARTABLE
'SYSTEM
'AFTEREXIT
'DELETE))
(RETURN NDB))))
(\\10MB.TURNOFFETHER
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(SUBRCALL ETHER-SUSPEND)))
(\\10MB.TURNONETHER
@@ -92,20 +87,16 @@
(PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(\\MAIKO.ETHERSUSPEND)
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB
(LOCF (|fetch| DLETHERNET
|of| \\IOPAGE)))))
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE
)))))
(|replace| DLFIRSTOCB |of| CSB |with| 0)
(|replace| DLFIRSTICB |of| CSB |with| 0)
(AND NSHOSTNUMBER (COND
((EQ NSHOSTNUMBER T)
(\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
(LOCF (|fetch| (IFPAGE |NSHost0|) |of|
|\\InterfacePage|)
)
(LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|))
\\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of|
CSB))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
NSHOSTNUMBER))))
(AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT))
(AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT))
@@ -117,7 +108,7 @@
(RETURN NDB))))
(\\10MBSENDPACKET
(LAMBDA (NDB PACKET) (* \; "Edited 11-May-88 16:10 by MASINTER")
(LAMBDA (NDB PACKET) (* \; "Edited 11-May-88 16:10 by MASINTER")
(PROG NIL
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT)))
@@ -125,23 +116,23 @@
((OR (|fetch| 10MBMULTICASTP |of| PACKET)
(EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTHOSTBASE |of| PACKET)))
(* \;
 "We would hear this packet if our hardware let us, so fake receipt")
 "We would hear this packet if our hardware let us, so fake receipt")
(PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET)))
(\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET))
(LOCF (|fetch| 10MBLENGTH |of| PACKET))
(ADD1 (|fetch| 10MBLENGTH |of| PACKET)))
(* \;
 "Copy all data that would have been transmitted")
 "Copy all data that would have been transmitted")
(|replace| EPNETWORK |of| COPYPACKET |with| NDB)
(|replace| EPTYPE |of| COPYPACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do|
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do|
(* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.")
(RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET COPYPACKET))))
@@ -154,20 +145,21 @@
(RETURN T))))
(\\10MBWATCHER
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(* |;;| "merge message and packet reading")
(PROG ((CNTR 0)
MESSAGE-BUFFER MESSAGE-LENGTH PACKET)
LP (IF (SUBRCALL MESSAGE-READP)
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ
(OR MESSAGE-BUFFER
(SETQ MESSAGE-BUFFER
(ALLOCSTRING 1024)))
1024))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
ELSE "?? system message: polling failed")))
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER
(SETQ
MESSAGE-BUFFER
(ALLOCSTRING
1024)))
1024))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
ELSE "?? system message: polling failed")))
(UNINTERRUPTABLY
(SUBRCALL ETHER-CHECK)
(SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB)))
@@ -182,31 +174,31 @@
(GO LP))))
(\\MAIKO.10MBSENDPACKET
(LAMBDA (NDB PACKET) (* \; "Edited 31-Oct-89 14:10 by bvm")
(LAMBDA (NDB PACKET) (* \; "Edited 31-Oct-89 14:10 by bvm")
(PROG NIL
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT)))
(COND
((OR (|fetch| 10MBMULTICASTP |of| PACKET)
(EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTNSADDRESSBASE |of| PACKET
)))(* \;
 "We would hear this packet if our hardware let us, so fake receipt")
(EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTNSADDRESSBASE |of| PACKET)))
(* \;
 "We would hear this packet if our hardware let us, so fake receipt")
(PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET)))
(\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET))
(LOCF (|fetch| 10MBLENGTH |of| PACKET))
(ADD1 (|fetch| 10MBLENGTH |of| PACKET)))
(* \;
 "Copy all data that would have been transmitted")
 "Copy all data that would have been transmitted")
(|replace| EPNETWORK |of| COPYPACKET |with| NDB)
(|replace| EPTYPE |of| COPYPACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do|
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do|
(* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.")
(RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET COPYPACKET))))
@@ -219,20 +211,21 @@
(RETURN T))))
(\\MAIKO.10MBWATCHER
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(* |;;| "merge message and packet reading")
(PROG ((CNTR 0)
MESSAGE-BUFFER MESSAGE-LENGTH PACKET)
LP (IF (SUBRCALL MESSAGE-READP)
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ
(OR MESSAGE-BUFFER
(SETQ MESSAGE-BUFFER
(ALLOCSTRING 1024)))
1024))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
ELSE "?? system message: polling failed")))
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER
(SETQ
MESSAGE-BUFFER
(ALLOCSTRING
1024)))
1024))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
ELSE "?? system message: polling failed")))
(UNINTERRUPTABLY
(SUBRCALL ETHER-CHECK)
(SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB)))
@@ -247,15 +240,15 @@
(GO LP))))
(\\MAIKO.ETHERRESUME
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(SUBRCALL ETHER-RESUME)))
(\\MAIKO.ETHERSUSPEND
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(SUBRCALL ETHER-SUSPEND)))
(\\MAIKO.INPUT.INTERRUPT
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:05 by MASINTER")
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:05 by MASINTER")
(* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it")
@@ -266,43 +259,38 @@
(|replace| 10MBLENGTH |of| PACKET |with| LENGTH)
(\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET)))
(|replace| EPNETWORK |of| PACKET |with| NDB)
(|replace| EPTYPE |of| PACKET |with| (|for| PAIR |in|
\\10MBTYPE.TRANSLATIONS
|bind| (TYPE _
(|fetch|
10MBTYPE
|of| PACKET
))
|when| (EQ TYPE (CAR PAIR))
|do| (RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(|replace| EPTYPE |of| PACKET |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR))
|do| (RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET)))
(RETURN (PROG1 PACKET
(SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)
|with| \\ES.PENDING)
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE
|of| \\MAIKO.INPUT.PACKET))))
)
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
\\MAIKO.INPUT.PACKET
)))))
(T (RETURN NIL))))))
(\\NS.SETTIME
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG)))
(SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL)))
(\\PROCESS.RESET.TIMERS)
(DAYTIME)))
(\\PUP.SETTIME
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG)))
(SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL)))
(\\PROCESS.RESET.TIMERS)
(DAYTIME)))
(\\MAIKO.10MBSTARTDRIVER
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 4-May-91 15:50 by jds")
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 30-Dec-2025 18:50 by nhb")
(* \; "Edited 4-May-91 15:50 by jds")
(* |;;| "Start the \"driver\" for the 10MB ethernet on Sun Medley. In particular, turn on the C ehternet code, queue up the first input packet, and start the \\10MBWATCHER process.")
@@ -312,13 +300,11 @@
(|replace| NDBTQ |of| NDB |with| (|create| SYSQUEUE))
(SETQ \\10MB.RAWPACKETQ (|create| SYSQUEUE))
(SETQ \\10MB.INPUT.TIMEOUT (TIMES \\RCLKSECOND \\10MB.EXPECTED.RECEIVE.INTERVAL))
(SETQ \\MAIKO.10MB.NDB NDB)
(\\10MB.TURNONETHER NDB NIL NIL (OR MYNSNUMBER T)
0 0)
(PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with|
\\ES.PENDING)
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
(AND (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
\\MAIKO.INPUT.PACKET
))
@@ -340,20 +326,16 @@
(PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(\\MAIKO.ETHERSUSPEND)
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB
(LOCF (|fetch| DLETHERNET
|of| \\IOPAGE)))))
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE
)))))
(|replace| DLFIRSTOCB |of| CSB |with| 0)
(|replace| DLFIRSTICB |of| CSB |with| 0)
(AND NSHOSTNUMBER (COND
((EQ NSHOSTNUMBER T)
(\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
(LOCF (|fetch| (IFPAGE |NSHost0|) |of|
|\\InterfacePage|)
)
(LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|))
\\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of|
CSB))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
NSHOSTNUMBER))))
(AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT))
(AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT))
@@ -365,14 +347,14 @@
(RETURN NDB))))
(\\MAIKO.10MB.RESTART.ETHER
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:08 by MASINTER")
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:08 by MASINTER")
(* |;;;| "Kick the Ethernet receiver task to restart the Ethernet receiver task. This function gets called when the 10MBDRIVER thinks the Ethernet has been accidentally disabled")
(SUBRCALL ETHER-RESUME)))
(\\MAIKO.CHECKSUM
(LAMBDA (BASE NWORDS INITSUM) (* \; "Edited 20-May-88 11:48 by MASINTER")
(LAMBDA (BASE NWORDS INITSUM) (* \; "Edited 20-May-88 11:48 by MASINTER")
(SUBRCALL CHECK-SUM BASE NWORDS INITSUM)))
)
@@ -391,41 +373,37 @@
(DECLARE\: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \\MAIKO.10MB.NDB)
)
(DECLARE\: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR)
)
)
(ADDTOVAR \\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER)
(\\MAIKO.10MBWATCHER \\10MBWATCHER)
(\\MAIKO.10MBSENDPACKET \\10MBSENDPACKET)
(\\MAIKO.ETHERSUSPEND \\10MB.TURNOFFETHER)
(\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER)
(\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER)
(\\MAIKO.CHECKSUM \\CHECKSUM))
(\\MAIKO.10MBWATCHER \\10MBWATCHER)
(\\MAIKO.10MBSENDPACKET \\10MBSENDPACKET)
(\\MAIKO.ETHERSUSPEND \\10MB.TURNOFFETHER)
(\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER)
(\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER)
(\\MAIKO.CHECKSUM \\CHECKSUM))
(* \;
(* |;;|
"MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(DEFINEQ
(\\MAIKO.ETHER-INTERRUPT
(LAMBDA NIL (* \; "Edited 4-May-91 13:46 by jds")
(LAMBDA NIL (* \; "Edited 30-Dec-2025 18:36 by nhb")
(* \; "Edited 4-May-91 13:46 by jds")
(* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it")
(PROG ((NDB \\MAIKO.10MB.NDB)
(PROG ((NDB \\10MBLOCALNDB)
LENGTH)
(* |;;| "First, turn off the interrupt flag:")
(REPLACE (INTERRUPTSTATE ETHERINTERRUPT) OF \\INTERRUPTSTATE WITH NIL)
(|replace| (INTERRUPTSTATE ETHERINTERRUPT) |of| \\INTERRUPTSTATE |with| NIL)
(* |;;| "Now handle it:")
@@ -437,33 +415,27 @@
READ-MORE-LOOP
(COND
((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB
|of| NDB)))
((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)))
\\ES.PENDING)
(|replace| 10MBLENGTH |of| PACKET |with| LENGTH)
(\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET)))
(|replace| EPNETWORK |of| PACKET |with| NDB)
(|replace| EPTYPE |of| PACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET
))
|when| (EQ TYPE (CAR PAIR))
|do| (RETURN (CDR PAIR)) |finally| (RETURN
TYPE)))
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do| (RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET PACKET)
(SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)
|with| \\ES.PENDING)
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
(COND
((SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE
|of|
\\MAIKO.INPUT.PACKET)
)
|of| \\MAIKO.INPUT.PACKET))
(* |;;|
 "Returned T, so there's another packet waiting already. Process it.")
 "Returned T, so there's another packet waiting already. Process it.")
(SETQ PACKET \\MAIKO.INPUT.PACKET)
(GO READ-MORE-LOOP)))))))))))
@@ -471,7 +443,7 @@
(* \;
(* |;;|
"MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing."
)
@@ -527,14 +499,13 @@
(RPAQ \\MAIKO.IO-INTERRUPT-FLAGS (\\CREATECELL \\FIXP))
(RPAQQ \\MAIKO.IO-INTERRUPT-VECTOR NIL)
(PUTPROPS MAIKOETHER COPYRIGHT ("Venue & Xerox Corporation" 1988 1989 1990 1991 2021))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (2591 22216 (\\10MB.RESTART.ETHER 2601 . 2761) (\\10MB.STARTDRIVER 2763 . 4522) (
\\10MB.TURNOFFETHER 4524 . 4684) (\\10MB.TURNONETHER 4686 . 7056) (\\10MBSENDPACKET 7058 . 9429) (
\\10MBWATCHER 9431 . 10770) (\\MAIKO.10MBSENDPACKET 10772 . 13150) (\\MAIKO.10MBWATCHER 13152 . 14497)
(\\MAIKO.ETHERRESUME 14499 . 14658) (\\MAIKO.ETHERSUSPEND 14660 . 14821) (\\MAIKO.INPUT.INTERRUPT
14823 . 17085) (\\NS.SETTIME 17087 . 17367) (\\PUP.SETTIME 17369 . 17650) (\\MAIKO.10MBSTARTDRIVER
17652 . 19307) (\\MAIKO.10MBTURNONETHER 19309 . 21684) (\\MAIKO.10MB.RESTART.ETHER 21686 . 22039) (
\\MAIKO.CHECKSUM 22041 . 22214)) (23271 26336 (\\MAIKO.ETHER-INTERRUPT 23281 . 26334)) (26458 27821 (
\\MAIKO.CONSOLE-LOG-PRINT 26468 . 27819)) (27867 28547 (\\MAIKO.IO-INTERRUPT 27877 . 28545)))))
(FILEMAP (NIL (2301 20787 (\\10MB.RESTART.ETHER 2311 . 2475) (\\10MB.STARTDRIVER 2477 . 3863) (
\\10MB.TURNOFFETHER 3865 . 4029) (\\10MB.TURNONETHER 4031 . 6121) (\\10MBSENDPACKET 6123 . 8481) (
\\10MBWATCHER 8483 . 9926) (\\MAIKO.10MBSENDPACKET 9928 . 12296) (\\MAIKO.10MBWATCHER 12298 . 13747) (
\\MAIKO.ETHERRESUME 13749 . 13912) (\\MAIKO.ETHERSUSPEND 13914 . 14079) (\\MAIKO.INPUT.INTERRUPT 14081
. 15925) (\\NS.SETTIME 15927 . 16211) (\\PUP.SETTIME 16213 . 16498) (\\MAIKO.10MBSTARTDRIVER 16500 .
18150) (\\MAIKO.10MBTURNONETHER 18152 . 20247) (\\MAIKO.10MB.RESTART.ETHER 20249 . 20606) (
\\MAIKO.CHECKSUM 20608 . 20785)) (21751 24528 (\\MAIKO.ETHER-INTERRUPT 21761 . 24526)) (24652 26015 (
\\MAIKO.CONSOLE-LOG-PRINT 24662 . 26013)) (26061 26741 (\\MAIKO.IO-INTERRUPT 26071 . 26739)))))
STOP

Binary file not shown.

View File

@@ -1,15 +1,13 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP" BASE 8)
(FILECREATED " 1-May-2021 19:49:18" {DSK}<home>larry>ilisp>medley>sources>PUP.;2 336270Q
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 8)
changes to%: (FNS \PUP.SETTIME CANONICAL.HOSTNAME)
(VARS PUPCOMS)
(FILECREATED " 2-Apr-2026 09:13:04" {DSK}<Users>briggs>projects>medley>sources>PUP.;8 333567Q
previous date%: "19-Jan-93 11:14:09" {DSK}<home>larry>ilisp>medley>sources>PUP.;1)
:EDIT-BY "briggs"
:CHANGES-TO (FNS \LOOKUPPORT)
:PREVIOUS-DATE " 3-Feb-2026 18:40:52" {DSK}<Users>briggs>projects>medley>sources>PUP.;7)
(* ; "
Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT PUPCOMS)
@@ -35,7 +33,7 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(FNS SETUPPUP SWAPPUPPORTS GETPUP SENDPUP EXCHANGEPUPS DISCARDPUPS GETPUPWORD \PUPINIT)
(FNS ETHERHOSTNAME ETHERHOSTNUMBER ETHERPORT BESTPUPADDRESS NETDAYTIME0 \PUP.SETTIME
\SETNEWTIME0 \NET.SETTIME NETDATE \LOOKUPPORT \PARSE.PORTCONSTANT \FIXLOCALNET)
(FNS PORTSTRING OCTALSTRING)
(FNS PORTSTRING)
(INITVARS (\ETHERPORTS (HASHARRAY 24Q))
(\ETHERTIMEOUT 3720Q)
(\MAXETHERTRIES 4)
@@ -45,13 +43,13 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(FNS CLEARPUP PUTPUPWORD GETPUPBYTE PUTPUPBYTE GETPUPSTRING GETPUPSTREAM PUTPUPSTRING)
(OPTIMIZERS GETPUPWORD PUTPUPWORD GETPUPBYTE PUTPUPBYTE))
(COMS (* ;
 "Reading property lists from streams")
 "Reading property lists from streams")
(FNS READPLIST)
(INITVARS \READPLIST.READTABLES)
(GLOBALVARS \READPLIST.READTABLES))
(COMS (FNS \CANONICAL.HOSTNAME \CANONICALIZE.PUP.HOSTNAME)
(P (* ;
 "Default this for when IP not loaded")
 "Default this for when IP not loaded")
(MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T))
(ADDVARS (\HOSTNAMES)
(\SYSTEMCACHEVARS \HOSTNAMES))
@@ -138,53 +136,52 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(ACCESSFNS PUP [(PUPBASE (LOCF (fetch (ETHERPACKET EPBODY) of DATUM]
[BLOCKRECORD PUPBASE ((PUPLENGTH WORD)
(PUPTCONTROL BYTE)
(PUPTYPE BYTE)
(PUPID FIXP)
(PUPDEST WORD)
(PUPDESTSOCKET FIXP)
(PUPSOURCE WORD)
(PUPSOURCESOCKET FIXP)
(PUPDATASTART 412Q WORD))
(BLOCKRECORD PUPBASE ((NIL WORD)
(TYPEWORD WORD)
(PUPIDHI WORD)
(PUPIDLO WORD)
(PUPDESTNET BYTE)
(PUPDESTHOST BYTE)
(PUPDESTSOCKETHI WORD)
(PUPDESTSOCKETLO WORD)
(PUPSOURCENET BYTE)
(PUPSOURCEHOST BYTE)
(PUPSOURCESOCKETHI WORD)
(PUPSOURCESOCKETLO WORD))
[BLOCKRECORD PUPBASE ((PUPLENGTH WORD)
(PUPTCONTROL BYTE)
(PUPTYPE BYTE)
(PUPID FIXP)
(PUPDEST WORD)
(PUPDESTSOCKET FIXP)
(PUPSOURCE WORD)
(PUPSOURCESOCKET FIXP)
(PUPDATASTART 412Q WORD))
(BLOCKRECORD PUPBASE ((NIL WORD)
(TYPEWORD WORD)
(PUPIDHI WORD)
(PUPIDLO WORD)
(PUPDESTNET BYTE)
(PUPDESTHOST BYTE)
(PUPDESTSOCKETHI WORD)
(PUPDESTSOCKETLO WORD)
(PUPSOURCENET BYTE)
(PUPSOURCEHOST BYTE)
(PUPSOURCESOCKETHI WORD)
(PUPSOURCESOCKETLO WORD))
(* ; "Temporary extra synonyms")
(SYNONYM PUPDESTNET (DESTNET))
(SYNONYM PUPDESTHOST (DESTHOST))
(SYNONYM PUPDESTSOCKETHI (DESTSKTHI))
(SYNONYM PUPDESTSOCKETLO (DESTSKTLO))
(SYNONYM PUPSOURCENET (SOURCENET))
(SYNONYM PUPSOURCEHOST (SOURCEHOST))
(SYNONYM PUPSOURCESOCKETHI (SOURCESKTHI))
(SYNONYM PUPSOURCESOCKETLO (SOURCESKTLO)))
(SYNONYM PUPDEST (DEST))
(SYNONYM PUPDESTSOCKET (DESTSKT))
(SYNONYM PUPSOURCE (SOURCE))
(SYNONYM PUPSOURCESOCKET (SOURCESKT))
(ACCESSFNS PUPDATASTART ((PUPCONTENTS (LOCF DATUM]
[ACCESSFNS PUP [(PUPCHECKSUMBASE (fetch PUPBASE of DATUM))
(PUPCHECKSUMLOC (\ADDBASE (fetch PUPBASE of DATUM)
(FOLDLO (SUB1 (fetch PUPLENGTH
of DATUM))
BYTESPERWORD]
(BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD]
(TYPE? (type? ETHERPACKET DATUM)))
(SYNONYM PUPDESTNET (DESTNET))
(SYNONYM PUPDESTHOST (DESTHOST))
(SYNONYM PUPDESTSOCKETHI (DESTSKTHI))
(SYNONYM PUPDESTSOCKETLO (DESTSKTLO))
(SYNONYM PUPSOURCENET (SOURCENET))
(SYNONYM PUPSOURCEHOST (SOURCEHOST))
(SYNONYM PUPSOURCESOCKETHI (SOURCESKTHI))
(SYNONYM PUPSOURCESOCKETLO (SOURCESKTLO)))
(SYNONYM PUPDEST (DEST))
(SYNONYM PUPDESTSOCKET (DESTSKT))
(SYNONYM PUPSOURCE (SOURCE))
(SYNONYM PUPSOURCESOCKET (SOURCESKT))
(ACCESSFNS PUPDATASTART ((PUPCONTENTS (LOCF DATUM]
[ACCESSFNS PUP [(PUPCHECKSUMBASE (fetch PUPBASE of DATUM))
(PUPCHECKSUMLOC (\ADDBASE (fetch PUPBASE of DATUM)
(FOLDLO (SUB1 (fetch PUPLENGTH of DATUM))
BYTESPERWORD]
(BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD]
(TYPE? (type? ETHERPACKET DATUM)))
(ACCESSFNS PUPADDRESS ((PUPNET# (LRSH DATUM 10Q))
(PUPHOST# (LOGAND DATUM 377Q)))
(CREATE (IPLUS (LLSH PUPNET# 10Q)
PUPHOST#)))
(PUPHOST# (LOGAND DATUM 377Q)))
(CREATE (IPLUS (LLSH PUPNET# 10Q)
PUPHOST#)))
)
(DECLARE%: EVAL@COMPILE
@@ -274,23 +271,26 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(RETURN T])])
(\FIND.LOCALPUPHOSTNUMBER
[LAMBDA (NDB EVENT QUIET) (* bvm%: "26-Jul-84 16:27")
[LAMBDA (NDB EVENT QUIET) (* ; "Edited 22-Dec-2025 11:58 by nhb")
(* ; "Edited 20-Dec-2025 13:51 by nhb")
(* bvm%: "26-Jul-84 16:27")
(* ;; "Finds out our pup address on this 10mb NDB")
(PROG (NEWNUMBER)
[COND
((NOT (\ETHER-AVAILABLE))
(RETURN NIL))
[(SETQ NEWNUMBER (\LOOKUPPUPNUMBER \MY.NSHOSTNUMBER NDB))
(COND
(PUPTRACEFLG (printout PUPTRACEFILE "My pup address = " (fetch PUPNET#
of NEWNUMBER)
(PUPTRACEFLG (printout PUPTRACEFILE "My pup address = " (fetch PUPNET# of NEWNUMBER)
"#"
(fetch PUPHOST# of NEWNUMBER)
"#" T]
(QUIET (RETURN NIL))
(T (SETQ NEWNUMBER (\PROMPT.FOR.PUP.NUMBER (AND (EQ EVENT 'AFTERLOGOUT)
(NEQ \OLDPUPHOST# 0)
(OCTALSTRING \OLDPUPHOST#]
(NEQ \OLDPUPHOST# 0)
(OCTALSTRING \OLDPUPHOST#]
(* ;; "Only rely on the host number part of reply. There is confusion for machines that exist on more than one net")
@@ -470,14 +470,14 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM)))
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(* ; "Copy of pup header")
(ERRORPUPCODE WORD)
(ERRORPUPARG WORD)
(ERRORPUPCODE WORD)
(ERRORPUPARG WORD)
(* ; "Usually zero")
(ERRORPUPSTRINGBASE WORD)
(ERRORPUPSTRINGBASE WORD)
(* ; "Human readable message")
)))
)))
)
(RPAQQ PUPERRORCODES
@@ -969,11 +969,13 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(\DAYTIME0 (create FIXP])
(\LOOKUPPORT
[LAMBDA (NAME) (* ; "Edited 1-Apr-87 12:37 by bvm:")
[LAMBDA (NAME) (* ; "Edited 2-Apr-2026 09:08 by briggs")
(* ; "Edited 1-Apr-87 12:37 by bvm:")
(* ;;; "Looks up the ether address of NAME, returning a list of dotted pairs (nethost . socket), or NIL on failure")
(AND NAME
(AND NAME (EQ (OR \PUP.READY (ASSURE.PUP.READY))
T)
(PROG ((SOC (\GETMISCSOCKET))
(OPUP (ALLOCATE.PUP))
RESULT BUF LEN IPUP)
@@ -981,35 +983,31 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(PUTPUPSTRING OPUP NAME)
[to \MAXETHERTRIES when (SETQ IPUP (EXCHANGEPUPS SOC OPUP NIL T))
do (SELECTC (fetch PUPTYPE of IPUP)
(\PT.NAMERESPONSE
[COND
((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH
of IPUP)
\PUPOVLEN)
BYTESPERWORD)
\PORTIDLEN))
1)
(COND
(PUPTRACEFLG (printout PUPTRACEFILE
"Multiple response received for " NAME T
]
[RETURN (SETQ RESULT (from 1 to LEN
as (PTR _ (fetch PUPCONTENTS
of IPUP))
by (\ADDBASE PTR \PORTIDLEN)
collect (CONS (fetch (PORT NETHOST)
of PTR)
(fetch (PORT SOCKET)
of PTR])
(\PT.NAME/ADDRERROR
(\PT.NAMERESPONSE
[COND
((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH of IPUP)
\PUPOVLEN)
BYTESPERWORD)
\PORTIDLEN))
1)
(COND
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for "
NAME ": " (GETPUPSTRING IPUP)
T)))
(RETURN))
NIL) finally (COND
(PUPTRACEFLG (printout PUPTRACEFILE
"Name lookup timed out" T]
(PUPTRACEFLG (printout PUPTRACEFILE
"Multiple response received for " NAME T]
[RETURN (SETQ RESULT (from 1 to LEN
as (PTR _ (fetch PUPCONTENTS of IPUP))
by (\ADDBASE PTR \PORTIDLEN)
collect (CONS (fetch (PORT NETHOST)
of PTR)
(fetch (PORT SOCKET) of PTR])
(\PT.NAME/ADDRERROR
(COND
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for " NAME
": " (GETPUPSTRING IPUP)
T)))
(RETURN))
NIL) finally (COND
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup timed out"
T]
(AND IPUP (RELEASE.PUP IPUP))
(RELEASE.PUP OPUP)
(RETURN RESULT])
@@ -1080,11 +1078,6 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(COND
(SOCKET (OCTALSTRING SOCKET))
(T ""])
(OCTALSTRING
[LAMBDA (N) (* bvm%: "21-JUL-81 12:16")
(GLOBALRESOURCE (\NUMSTR \NUMSTR1)
(CONCAT (\CONVERTNUMBER N 10Q NIL NIL \NUMSTR \NUMSTR1])
)
(RPAQ? \ETHERPORTS (HASHARRAY 24Q))
@@ -1174,24 +1167,22 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
)
(DEFOPTIMIZER GETPUPWORD (PUPARG WORD#)
`(\GETBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD#))
`(\GETBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD#))
(DEFOPTIMIZER PUTPUPWORD (PUPARG WORD# VALUE)
`(\PUTBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD#
,VALUE))
`(\PUTBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD#
,VALUE))
(DEFOPTIMIZER GETPUPBYTE (PUPARG BYTE#)
`(\GETBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG
'ETHERPACKET))
,BYTE#))
`(\GETBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,BYTE#))
(DEFOPTIMIZER PUTPUPBYTE (PUPARG BYTE# VALUE)
`(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG
'ETHERPACKET))
,BYTE#
,VALUE))
`(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,BYTE#
,VALUE))
@@ -1282,7 +1273,7 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
)
(* ;
 "Default this for when IP not loaded")
 "Default this for when IP not loaded")
(MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T)
@@ -1301,8 +1292,8 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(PUTPROPS BINDPUPS MACRO [X (CONS (LIST 'LAMBDA (CAR X)
(CONS 'PROGN (CDR X)))
(in (CAR X) collect (LIST 'ALLOCATE.PUP])
(CONS 'PROGN (CDR X)))
(in (CAR X) collect (LIST 'ALLOCATE.PUP])
)
(PUTPROPS BINDPUPS INFO BINDS)
@@ -1597,12 +1588,12 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE
(BLOCKRECORD PUPROUTINGINFO ( (* ;
 "Format of each entry in a pup routing info packet. We only actually use NET# and #HOPS")
(NET# BYTE)
(GATENET# BYTE)
(GATEHOST# BYTE)
(%#HOPS BYTE)))
(BLOCKRECORD PUPROUTINGINFO ( (* ;
 "Format of each entry in a pup routing info packet. We only actually use NET# and #HOPS")
(NET# BYTE)
(GATENET# BYTE)
(GATEHOST# BYTE)
(%#HOPS BYTE)))
)
(DECLARE%: EVAL@COMPILE
@@ -1628,24 +1619,24 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(DATATYPE PUPSOCKET ((NIL BITS 4)
(PUPSOCLINK POINTER) (* ; "So that we can Queue them")
(PSOCKET# FIXP)
(INQUEUE POINTER)
(INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD) (* ; "Back-fitting for Bcpl")
(PUPSOCPUPADDRESS WORD) (* ; "Local net/host")
(NIL BITS 4)
(PUPSOCEVENT POINTER) (* ;
 "Event that is notified when a pup arrives on this socket")
(NIL BITS 4)
(NIL POINTER))
(BLOCKRECORD PUPSOCKET ((NIL BITS 4)
(NIL POINTER)
(PSOCKETHI WORD)
(PSOCKETLO WORD)))
INQUEUE _ (create SYSQUEUE)
PUPSOC#ALLOCATION _ \MAX.EPKTS.ON.PUPSOCKET)
(PUPSOCLINK POINTER) (* ; "So that we can Queue them")
(PSOCKET# FIXP)
(INQUEUE POINTER)
(INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD) (* ; "Back-fitting for Bcpl")
(PUPSOCPUPADDRESS WORD) (* ; "Local net/host")
(NIL BITS 4)
(PUPSOCEVENT POINTER) (* ;
 "Event that is notified when a pup arrives on this socket")
(NIL BITS 4)
(NIL POINTER))
(BLOCKRECORD PUPSOCKET ((NIL BITS 4)
(NIL POINTER)
(PSOCKETHI WORD)
(PSOCKETLO WORD)))
INQUEUE _ (create SYSQUEUE)
PUPSOC#ALLOCATION _ \MAX.EPKTS.ON.PUPSOCKET)
)
(/DECLAREDATATYPE 'PUPSOCKET '((BITS 4)
@@ -1670,11 +1661,11 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(PUTPROPS \PUPSOCKET.FROM# MACRO (OPENLAMBDA (SOCHI SOCLO)
(for SOC in \PUPSOCKETS
when (AND (EQ (fetch PSOCKETLO of SOC)
SOCLO)
(EQ (fetch PSOCKETHI of SOC)
SOCHI)) do (RETURN SOC))))
(for SOC in \PUPSOCKETS
when (AND (EQ (fetch PSOCKETLO of SOC)
SOCLO)
(EQ (fetch PSOCKETHI of SOC)
SOCHI)) do (RETURN SOC))))
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1704,17 +1695,17 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(ADDTOVAR SYSTEMRECLST
(DATATYPE PUPSOCKET ((NIL BITS 4)
(PUPSOCLINK POINTER)
(PSOCKET# FIXP)
(INQUEUE POINTER)
(INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD)
(PUPSOCPUPADDRESS WORD)
(NIL BITS 4)
(PUPSOCEVENT POINTER)
(NIL BITS 4)
(NIL POINTER)))
(PUPSOCLINK POINTER)
(PSOCKET# FIXP)
(INQUEUE POINTER)
(INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD)
(PUPSOCPUPADDRESS WORD)
(NIL BITS 4)
(PUPSOCEVENT POINTER)
(NIL BITS 4)
(NIL POINTER)))
)
(DEFINEQ
@@ -1826,21 +1817,21 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(BLOCKRECORD PORT ((NETHOST WORD)
(SOCKET FIXP))
(BLOCKRECORD PORT ((NET BYTE)
(HOST BYTE)
(SOCKETHI WORD)
(SOCKETLO WORD))))
(SOCKET FIXP))
(BLOCKRECORD PORT ((NET BYTE)
(HOST BYTE)
(SOCKETHI WORD)
(SOCKETLO WORD))))
(ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM)))
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(* ; "Copy of pup header")
(ERRORPUPCODE WORD)
(ERRORPUPARG WORD)
(ERRORPUPCODE WORD)
(ERRORPUPARG WORD)
(* ; "Usually zero")
(ERRORPUPSTRINGBASE WORD)
(ERRORPUPSTRINGBASE WORD)
(* ; "Human readable message")
)))
)))
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1868,20 +1859,20 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(PUTPROPS \GETPUPWORD DMACRO ((PUP WORD#)
(\GETBASE (fetch PUPCONTENTS of PUP)
WORD#)))
(\GETBASE (fetch PUPCONTENTS of PUP)
WORD#)))
(PUTPROPS \PUTPUPWORD DMACRO ((PUP WORD# VALUE)
(\PUTBASE (fetch PUPCONTENTS of PUP)
WORD# VALUE)))
(\PUTBASE (fetch PUPCONTENTS of PUP)
WORD# VALUE)))
(PUTPROPS \GETPUPBYTE DMACRO ((PUP BYTE#)
(\GETBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE#)))
(\GETBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE#)))
(PUTPROPS \PUTPUPBYTE DMACRO ((PUP BYTE# VALUE)
(\PUTBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE# VALUE)))
(\PUTBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE# VALUE)))
)
(RPAQQ RAWPUPTYPES
@@ -2033,13 +2024,13 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(RPAQ? PUPTYPES RAWPUPTYPES)
(RPAQQ WELLKNOWNPUPSOCKETS ((\PUPSOCKET.TELNET 1)
(\PUPSOCKET.ROUTING 2)
(\PUPSOCKET.FTP 3)
(\PUPSOCKET.MISCSERVICES 4)
(\PUPSOCKET.ECHO 5)
(\PUPSOCKET.EFTP 20Q)
(\PUPSOCKET.PRINTERSTATUS 21Q)
(\PUPSOCKET.LEAF 43Q)))
(\PUPSOCKET.ROUTING 2)
(\PUPSOCKET.FTP 3)
(\PUPSOCKET.MISCSERVICES 4)
(\PUPSOCKET.ECHO 5)
(\PUPSOCKET.EFTP 20Q)
(\PUPSOCKET.PRINTERSTATUS 21Q)
(\PUPSOCKET.LEAF 43Q)))
(DECLARE%: EVAL@COMPILE
(RPAQQ \PUPSOCKET.TELNET 1)
@@ -2074,9 +2065,9 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(RPAQQ PUPCONSTANTS ((\PUPHEADERLEN 24Q)
(\NetMask 177400Q)
(\HILOCALSOCKET 1)
(\PORTIDLEN 3)))
(\NetMask 177400Q)
(\HILOCALSOCKET 1)
(\PORTIDLEN 3)))
(DECLARE%: EVAL@COMPILE
(RPAQQ \PUPHEADERLEN 24Q)
@@ -2097,28 +2088,28 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE
(PUTPROPS PUPDEBUGGING MACRO [(X . Y)
(COND
(PUPTRACEFLG (printout PUPTRACEFILE X . Y])
(COND
(PUPTRACEFLG (printout PUPTRACEFILE X . Y])
)
(ADDTOVAR PUPPRINTMACROS (210Q CHARS)
(214Q CHARS)
(211Q CHARS)
(213Q CHARS)
(201Q WORDS 2 CHARS 24Q |...|)
(30Q CHARS))
(214Q CHARS)
(211Q CHARS)
(213Q CHARS)
(201Q WORDS 2 CHARS 24Q |...|)
(30Q CHARS))
(DECLARE%: EVAL@COMPILE
(BLOCKRECORD TIMEPUPCONTENTS ((TIMEPUPVALUEHI WORD)
(TIMEPUPVALUELO WORD)
(TIMEPUPEASTP FLAG)
(TIMEPUPHOURS BITS 7)
(TIMEPUPMINUTES BITS 10Q)
(TIMEPUPBEGINDST WORD)
(TIMEPUPENDDST WORD)) (* ; "format of alto time response")
)
(TIMEPUPVALUELO WORD)
(TIMEPUPEASTP FLAG)
(TIMEPUPHOURS BITS 7)
(TIMEPUPMINUTES BITS 10Q)
(TIMEPUPBEGINDST WORD)
(TIMEPUPENDDST WORD)) (* ; "format of alto time response")
)
)
)
@@ -2447,10 +2438,10 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(ADDTOVAR PUPIGNORETYPES )
(ADDTOVAR PUPPRINTMACROS (4 . PRINTERRORPUP)
(220Q CHARS)
(221Q REPEAT BYTES -2 WORDS -4)
(223Q BYTES -2 WORDS)
(224Q CHARS))
(220Q CHARS)
(221Q REPEAT BYTES -2 WORDS -4)
(223Q BYTES -2 WORDS)
(224Q CHARS))
(DECLARE%: DONTEVAL@LOAD
(\PUPINIT)
@@ -2469,32 +2460,30 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(PUTPROPS PUP MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP" :BASE 10Q))
(PUTPROPS PUP FILETYPE CL:COMPILE-FILE)
(PUTPROPS PUP COPYRIGHT ("Venue & Xerox Corporation" 3676Q 3677Q 3700Q 3701Q 3702Q 3703Q 3704Q 3705Q
3706Q 3707Q 3710Q 3711Q 3745Q))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (25631Q 61606Q (\STARTPUP 25643Q . 26515Q) (ASSURE.PUP.READY 26517Q . 34612Q) (
\FIND.LOCALPUPHOSTNUMBER 34614Q . 37012Q) (\PROMPT.FOR.PUP.NUMBER 37014Q . 41034Q) (\HANDLE.RAW.PUP
41036Q . 57136Q) (\FORWARD.PUP 57140Q . 60060Q) (\SETPUPCHECKSUM 60062Q . 61604Q)) (66376Q 73470Q (
\PUPERROR 66410Q . 73466Q)) (73527Q 112663Q (SETUPPUP 73541Q . 76727Q) (SWAPPUPPORTS 76731Q . 77546Q)
(GETPUP 77550Q . 102462Q) (SENDPUP 102464Q . 106306Q) (EXCHANGEPUPS 106310Q . 110346Q) (DISCARDPUPS
110350Q . 111154Q) (GETPUPWORD 111156Q . 111475Q) (\PUPINIT 111477Q . 112661Q)) (112664Q 154244Q (
ETHERHOSTNAME 112676Q . 122024Q) (ETHERHOSTNUMBER 122026Q . 122441Q) (ETHERPORT 122443Q . 126162Q) (
BESTPUPADDRESS 126164Q . 136224Q) (NETDAYTIME0 136226Q . 136557Q) (\PUP.SETTIME 136561Q . 137206Q) (
\SETNEWTIME0 137210Q . 140270Q) (\NET.SETTIME 140272Q . 141361Q) (NETDATE 141363Q . 141720Q) (
\LOOKUPPORT 141722Q . 147561Q) (\PARSE.PORTCONSTANT 147563Q . 152673Q) (\FIXLOCALNET 152675Q . 154242Q
)) (154245Q 155602Q (PORTSTRING 154257Q . 155246Q) (OCTALSTRING 155250Q . 155600Q)) (156174Q 165305Q (
CLEARPUP 156206Q . 160721Q) (PUTPUPWORD 160723Q . 161250Q) (GETPUPBYTE 161252Q . 161575Q) (PUTPUPBYTE
161577Q . 162130Q) (GETPUPSTRING 162132Q . 163563Q) (GETPUPSTREAM 163565Q . 164514Q) (PUTPUPSTRING
164516Q . 165303Q)) (167410Q 175227Q (READPLIST 167422Q . 175225Q)) (175410Q 200610Q (
\CANONICAL.HOSTNAME 175422Q . 176467Q) (\CANONICALIZE.PUP.HOSTNAME 176471Q . 200606Q)) (203163Q
236370Q (\PUPGATELISTENER 203175Q . 207026Q) (\HANDLE.PUP.ROUTING.INFO 207030Q . 221367Q) (\ROUTE.PUP
221371Q . 225224Q) (\LOCATE.PUPNET 225226Q . 231763Q) (SORT.PUPHOSTS.BY.DISTANCE 231765Q . 234241Q) (
\PUPNET.CLOSERP 234243Q . 235424Q) (PUPNET.DISTANCE 235426Q . 236366Q)) (250017Q 257771Q (
OPENPUPSOCKET 250031Q . 254512Q) (CLOSEPUPSOCKET 254514Q . 256173Q) (PUPSOCKETNUMBER 256175Q . 256426Q
) (PUPSOCKETFROMNUMBER 256430Q . 257067Q) (PUPSOCKETEVENT 257071Q . 257350Q) (\FLUSHPUPSOCQUEUE
257352Q . 257767Q)) (257772Q 260537Q (\GETMISCSOCKET 260004Q . 260535Q)) (300551Q 313341Q (
PUP.ECHOSERVER 300563Q . 303370Q) (PUP.ECHOUSER 303372Q . 313337Q)) (313372Q 322523Q (\PEEKPUP 313404Q
. 320535Q) (\MAYBEPEEKPUP 320537Q . 322521Q)) (323124Q 334361Q (PRINTPUP 323136Q . 327306Q) (
PRINTPUPROUTE 327310Q . 331255Q) (PRINTPUPDATA 331257Q . 331727Q) (PRINTERRORPUP 331731Q . 332431Q) (
PUPTRACE 332433Q . 332744Q) (PRINTCONSTANT 332746Q . 334357Q)))))
(FILEMAP (NIL (25073Q 61361Q (\STARTPUP 25105Q . 25757Q) (ASSURE.PUP.READY 25761Q . 34054Q) (
\FIND.LOCALPUPHOSTNUMBER 34056Q . 36565Q) (\PROMPT.FOR.PUP.NUMBER 36567Q . 40607Q) (\HANDLE.RAW.PUP
40611Q . 56711Q) (\FORWARD.PUP 56713Q . 57633Q) (\SETPUPCHECKSUM 57635Q . 61357Q)) (66125Q 73217Q (
\PUPERROR 66137Q . 73215Q)) (73256Q 112412Q (SETUPPUP 73270Q . 76456Q) (SWAPPUPPORTS 76460Q . 77275Q)
(GETPUP 77277Q . 102211Q) (SENDPUP 102213Q . 106035Q) (EXCHANGEPUPS 106037Q . 110075Q) (DISCARDPUPS
110077Q . 110703Q) (GETPUPWORD 110705Q . 111224Q) (\PUPINIT 111226Q . 112410Q)) (112413Q 153423Q (
ETHERHOSTNAME 112425Q . 121553Q) (ETHERHOSTNUMBER 121555Q . 122170Q) (ETHERPORT 122172Q . 125711Q) (
BESTPUPADDRESS 125713Q . 135753Q) (NETDAYTIME0 135755Q . 136306Q) (\PUP.SETTIME 136310Q . 136735Q) (
\SETNEWTIME0 136737Q . 140017Q) (\NET.SETTIME 140021Q . 141110Q) (NETDATE 141112Q . 141447Q) (
\LOOKUPPORT 141451Q . 146740Q) (\PARSE.PORTCONSTANT 146742Q . 152052Q) (\FIXLOCALNET 152054Q . 153421Q
)) (153424Q 154427Q (PORTSTRING 153436Q . 154425Q)) (155021Q 164132Q (CLEARPUP 155033Q . 157546Q) (
PUTPUPWORD 157550Q . 160075Q) (GETPUPBYTE 160077Q . 160422Q) (PUTPUPBYTE 160424Q . 160755Q) (
GETPUPSTRING 160757Q . 162410Q) (GETPUPSTREAM 162412Q . 163341Q) (PUTPUPSTRING 163343Q . 164130Q)) (
165723Q 173542Q (READPLIST 165735Q . 173540Q)) (173723Q 177123Q (\CANONICAL.HOSTNAME 173735Q . 175002Q
) (\CANONICALIZE.PUP.HOSTNAME 175004Q . 177121Q)) (201460Q 234665Q (\PUPGATELISTENER 201472Q . 205323Q
) (\HANDLE.PUP.ROUTING.INFO 205325Q . 217664Q) (\ROUTE.PUP 217666Q . 223521Q) (\LOCATE.PUPNET 223523Q
. 230260Q) (SORT.PUPHOSTS.BY.DISTANCE 230262Q . 232536Q) (\PUPNET.CLOSERP 232540Q . 233721Q) (
PUPNET.DISTANCE 233723Q . 234663Q)) (246060Q 256032Q (OPENPUPSOCKET 246072Q . 252553Q) (CLOSEPUPSOCKET
252555Q . 254234Q) (PUPSOCKETNUMBER 254236Q . 254467Q) (PUPSOCKETFROMNUMBER 254471Q . 255130Q) (
PUPSOCKETEVENT 255132Q . 255411Q) (\FLUSHPUPSOCQUEUE 255413Q . 256030Q)) (256033Q 256600Q (
\GETMISCSOCKET 256045Q . 256576Q)) (276276Q 311066Q (PUP.ECHOSERVER 276310Q . 301115Q) (PUP.ECHOUSER
301117Q . 311064Q)) (311117Q 320250Q (\PEEKPUP 311131Q . 316262Q) (\MAYBEPEEKPUP 316264Q . 320246Q)) (
320651Q 332106Q (PRINTPUP 320663Q . 325033Q) (PRINTPUPROUTE 325035Q . 327002Q) (PRINTPUPDATA 327004Q
. 327454Q) (PRINTERRORPUP 327456Q . 330156Q) (PUPTRACE 330160Q . 330471Q) (PRINTCONSTANT 330473Q .
332104Q)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT UTF-8)
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8)
(FILECREATED "23-Feb-2026 12:15:24" {WMEDLEY}<sources>UNICODE-FORMATS.;2 216288
(FILECREATED " 7-May-2026 11:08:18" {MEDLEY}<sources>UNICODE-FORMATS.;5 218405
:EDIT-BY rmk
:CHANGES-TO (VARS UNICODE-FORMATSCOMS)
(FNS MAKE-UNICODE-FORMATS)
:CHANGES-TO (FNS SYSTEM-EXTERNALFORMAT)
:PREVIOUS-DATE "23-Feb-2026 08:52:29" {WMEDLEY}<sources>UNICODE-UTF8.;26)
:PREVIOUS-DATE "31-Mar-2026 09:03:25" {MEDLEY}<sources>UNICODE-FORMATS.;4)
(PRETTYCOMPRINT UNICODE-FORMATSCOMS)
@@ -47,6 +46,9 @@
(LAST-PRIVATE-MCCSCODE (CHARCODE "230,377"]
(FNS UNICODE-INIT)
(P (UNICODE-INIT)))
(COMS (FNS SYSTEM-EXTERNALFORMAT MTOSYSSTRING SYSTOMSTRING)
(EXPORT (GLOBALVARS *SYSTEM-EXTERNALFORMAT*))
(INITVARS (*SYSTEM-EXTERNALFORMAT* :UTF-8)))
(DECLARE%: EVAL@LOAD DONTCOPY (FILES UNICODE-TABLES))
(E (PRINTOUT NIL "(MERGE-UNICODE-TRANSLATION-TABLES NIL (QUOTE " (GET-MCCS-UNICODE-MAPPING
'ALL)
@@ -1243,6 +1245,46 @@
)
(UNICODE-INIT)
(DEFINEQ
(SYSTEM-EXTERNALFORMAT
[LAMBDA NIL (* ; "Edited 7-May-2026 11:08 by rmk")
(* ; "Edited 6-Feb-2026 11:29 by rmk")
(* ; "Edited 31-Jan-2026 18:51 by rmk")
(* ; "Edited 10-Oct-2022 11:55 by lmm")
(* ; "Edited 7-Jul-2022 10:41 by rmk")
(* ;; "Returns the name, sets the global. For now, UTF-8 or through, could be something else.")
(fetch (EXTERNALFORMAT NAME) of (SETQ *SYSTEM-EXTERNALFORMAT*
(FIND-FORMAT (for X in '("LC_CTYPE" "LC_ALL" "LANG")
when (STRPOS "UTF" (U-CASE (UNIX-GETENV X)))
do
(* ;;
 "Should it check separately for 8? Would anyone ever say UTF-16 ?")
(RETURN :UTF-8) finally (RETURN :THROUGH])
(MTOSYSSTRING
[LAMBDA (MSTRING) (* ; "Edited 6-Feb-2026 00:20 by rmk")
(MCCSTOFORMATBYTES *SYSTEM-EXTERNALFORMAT* (MKSTRING MSTRING])
(SYSTOMSTRING
[LAMBDA (SYSTRING) (* ; "Edited 5-Feb-2026 23:36 by rmk")
(* ;; "SYSSTRING is presumably shared with Unix, guarantee a copy on the way out")
(CONCAT (FORMATBYTESTOMCCS *SYSTEM-EXTERNALFORMAT* SYSTRING])
)
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS *SYSTEM-EXTERNALFORMAT*)
)
(* "END EXPORTED DEFINITIONS")
(RPAQ? *SYSTEM-EXTERNALFORMAT* :UTF-8)
(DECLARE%: EVAL@LOAD DONTCOPY
(FILESLOAD UNICODE-TABLES)
@@ -2721,19 +2763,20 @@
(64994 8322) (64995 8323) (64996 8324) (64997 8325) (64998 8326) (64999 8327) (65000 8328) (65001
8329) (65002 8331) (65003 8330) (65004 8332) (65008 (48 824)))))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3333 19425 (UTF8.OUTCHARFN 3343 . 6359) (UTF8.SLUG.OUTCHARFN 6361 . 7025) (
UTF8.INCCODEFN 7027 . 13306) (UTF8.PEEKCCODEFN 13308 . 18441) (\UTF8.BACKCCODEFN 18443 . 19423)) (
19426 24341 (UTF16BE.OUTCHARFN 19436 . 20455) (UTF16BE.INCCODEFN 20457 . 21799) (UTF16BE.PEEKCCODEFN
21801 . 23145) (\UTF16BE.BACKCCODEFN 23147 . 24339)) (24342 29073 (UTF16LE.OUTCHARFN 24352 . 25468) (
UTF16LE.INCCODEFN 25470 . 26599) (UTF16LE.PEEKCCODEFN 26601 . 27877) (\UTF16LE.BACKCCODEFN 27879 .
29071)) (29074 32121 (READBOM 29084 . 31153) (WRITEBOM 31155 . 32119)) (32122 36153 (
MAKE-UNICODE-FORMATS 32132 . 36151)) (36221 40715 (UTF8.BINCODE 36231 . 38919) (\UTF8.FETCHCODE 38921
. 40713)) (40716 46339 (UTF8.VALIDATE 40726 . 43323) (NUTF8-BYTE1-BYTES 43325 . 44062) (
NUTF8-CODE-BYTES 44064 . 45121) (NUTF8-STRING-BYTES 45123 . 46015) (N-MCHARS 46017 . 46337)) (46403
47677 (MTOUCODE 46413 . 46582) (UTOMCODE 46584 . 46781) (MTOUCODE? 46783 . 47162) (UTOMCODE? 47164 .
47675)) (47678 54250 (MTOUSTRING 47688 . 48271) (UTOMSTRING 48273 . 48856) (MTOUTF8STRING 48858 .
53137) (UTF8TOMSTRING 53139 . 54248)) (54308 60016 (XTOUCODE 54318 . 54836) (UTOXCODE 54838 . 55346) (
XTOUCODE? 55348 . 56409) (UTOXCODE? 56411 . 57494) (XTOUSTRING 57496 . 58191) (UTOXSTRING 58193 .
58936) (XTOUTF8STRING 58938 . 60014)) (60017 65196 (MERGE-UNICODE-TRANSLATION-TABLES 60027 . 62789) (
UNICODE.UNMAPPED 62791 . 65194)) (68935 69188 (UNICODE-INIT 68945 . 69186)))))
(FILEMAP (NIL (3476 19568 (UTF8.OUTCHARFN 3486 . 6502) (UTF8.SLUG.OUTCHARFN 6504 . 7168) (
UTF8.INCCODEFN 7170 . 13449) (UTF8.PEEKCCODEFN 13451 . 18584) (\UTF8.BACKCCODEFN 18586 . 19566)) (
19569 24484 (UTF16BE.OUTCHARFN 19579 . 20598) (UTF16BE.INCCODEFN 20600 . 21942) (UTF16BE.PEEKCCODEFN
21944 . 23288) (\UTF16BE.BACKCCODEFN 23290 . 24482)) (24485 29216 (UTF16LE.OUTCHARFN 24495 . 25611) (
UTF16LE.INCCODEFN 25613 . 26742) (UTF16LE.PEEKCCODEFN 26744 . 28020) (\UTF16LE.BACKCCODEFN 28022 .
29214)) (29217 32264 (READBOM 29227 . 31296) (WRITEBOM 31298 . 32262)) (32265 36296 (
MAKE-UNICODE-FORMATS 32275 . 36294)) (36364 40858 (UTF8.BINCODE 36374 . 39062) (\UTF8.FETCHCODE 39064
. 40856)) (40859 46482 (UTF8.VALIDATE 40869 . 43466) (NUTF8-BYTE1-BYTES 43468 . 44205) (
NUTF8-CODE-BYTES 44207 . 45264) (NUTF8-STRING-BYTES 45266 . 46158) (N-MCHARS 46160 . 46480)) (46546
47820 (MTOUCODE 46556 . 46725) (UTOMCODE 46727 . 46924) (MTOUCODE? 46926 . 47305) (UTOMCODE? 47307 .
47818)) (47821 54393 (MTOUSTRING 47831 . 48414) (UTOMSTRING 48416 . 48999) (MTOUTF8STRING 49001 .
53280) (UTF8TOMSTRING 53282 . 54391)) (54451 60159 (XTOUCODE 54461 . 54979) (UTOXCODE 54981 . 55489) (
XTOUCODE? 55491 . 56552) (UTOXCODE? 56554 . 57637) (XTOUSTRING 57639 . 58334) (UTOXSTRING 58336 .
59079) (XTOUTF8STRING 59081 . 60157)) (60160 65339 (MERGE-UNICODE-TRANSLATION-TABLES 60170 . 62932) (
UNICODE.UNMAPPED 62934 . 65337)) (69078 69331 (UNICODE-INIT 69088 . 69329)) (69352 71137 (
SYSTEM-EXTERNALFORMAT 69362 . 70653) (MTOSYSSTRING 70655 . 70848) (SYSTOMSTRING 70850 . 71135)))))
STOP

Binary file not shown.

View File

@@ -1,323 +0,0 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "13-Jul-2025 23:08:39" {DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>XCCS.;10 15413
:EDIT-BY rmk
:CHANGES-TO (VARS XCCSCOMS)
:PREVIOUS-DATE "25-Mar-2025 23:40:52"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>XCCS.;9)
(PRETTYCOMPRINT XCCSCOMS)
(RPAQQ XCCSCOMS
[(FNS \XCCSINCCODE \XCCSPEEKCCODE \XCCSOUTCHAR \XCCSBACKCCODE \XCCSFORMATBYTESTREAM
\XCCSCHARSETFN)
(FNS \CREATE.XCCS.EXTERNALFORMAT)
(FNS \NSIN.24BITENCODING.ERROR)
(FNS KANJICHARSETP CHINESECHARSETP)
(INITVARS (*SIGNAL-24BIT-NSENCODING-ERROR*))
(DECLARE%: EVAL@COMPILE DONTCOPY (EXPORT (CONSTANTS (\NORUNCODE 255)
(NSCHARSETSHIFT 255))
(MACROS \RUNCODED)))
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (\CREATE.XCCS.EXTERNALFORMAT])
(DEFINEQ
(\XCCSINCCODE
[LAMBDA (STREAM COUNTP) (* ; "Edited 8-Dec-2023 15:28 by rmk")
(* ; "Edited 6-Aug-2021 15:57 by rmk:")
(* ;;; "Returns a 16 bit character code. SHIFTEDCSET is STREAM's char set left shifted 8.")
(* ;;; "If COUNTP is non-NIL, the variable *BYTECOUNTER* is set freely to the number of bytes read.")
(* ;;; "This doesn't do EOL conversion, \INCHAR does that")
(DECLARE (USEDFREE *BYTECOUNTER*))
(\DTEST STREAM 'STREAM)
(LET (NUMBYTES (CSET (ffetch (STREAM CHARSET) of STREAM))
(CHAR (\BIN STREAM))) (* ;
 "Error on EOF unless ENDOFSTREAMOP does something else.")
(* ;; " NUMBYTES tracks the number of \BINs. ")
(IF (EQ CHAR NSCHARSETSHIFT)
THEN (* ;
 "Shifting character sets, toss CHAR")
(SETQ CSET (\BIN STREAM))
(IF (NEQ NSCHARSETSHIFT CSET)
THEN (* ;
 "Shift to new runcode CSET: SH CS CH")
(SETQ CHAR (\BIN STREAM))
(SETQ NUMBYTES 3)
(freplace (STREAM CHARSET) of STREAM with CSET)
ELSEIF (EQ 0 (\BIN STREAM))
THEN (* ; "SH SH CSH CS CH where CSH is 0")
(* ;;
 "The high-order character set byte must be 0, because we don't support obese characters (24 bit)")
(SETQ CSET (\BIN STREAM))
(SETQ CHAR (\BIN STREAM)) (* ; "To align with below")
(SETQ NUMBYTES 5)
(freplace (STREAM CHARSET) of STREAM with \NORUNCODE)
ELSE (\NSIN.24BITENCODING.ERROR STREAM))
(* ;; "The stream now knows the new character set, runcoded or not.")
ELSEIF (EQ CSET \NORUNCODE)
THEN (* ; "2-bytes")
(SETQ CSET CHAR)
(SETQ CHAR (\BIN STREAM))
(SETQ NUMBYTES 2)
ELSE
(* ;; "Runcoded CSET and CHAR")
(SETQ NUMBYTES 1))
(CL:WHEN COUNTP (SETQ *BYTECOUNTER* NUMBYTES))
(CL:WHEN CHAR (* ;
 "Typically NIL if ENDOFSTREAMOP returned NIL at EOF ")
(LOGOR (UNFOLD CSET 256)
CHAR))])
(\XCCSPEEKCCODE
[LAMBDA (STREAM NOERROR) (* ; "Edited 8-Dec-2023 15:32 by rmk")
(* ; "Edited 21-Jun-2021 23:44 by rmk:")
(* ;;
 "Modeled on \XCCSINCCODE, but peeks at the last byte in the sequence, leaves the stream unchanged")
(\DTEST STREAM 'STREAM)
(LET ((CSET (ffetch (STREAM CHARSET) of STREAM))
(CHAR (\PEEKBIN STREAM NOERROR)))
(* ;; "Returns a 16 bit character code. Doesn't do EOL conversion--\PEEKCCODE does that. ")
(* ;; "We don't change the charset in the stream, put the file ptr back the way it was.")
(CL:WHEN CHAR
(IF (EQ CHAR NSCHARSETSHIFT)
THEN (\BIN STREAM) (* ; "Read the peeked shifting byte")
(SETQ CSET (\BIN STREAM)) (* ; "Consume the char shift byte")
(IF (NEQ CSET NSCHARSETSHIFT)
THEN
(* ;;
 "Shift to new runcode CSET: SH CS CH. We have to BIN what we peeked, BIN, and peek again")
(SETQ CHAR (\PEEKBIN STREAM NOERROR))
(\BACKFILEPTR STREAM)
(\BACKFILEPTR STREAM)
ELSEIF (EQ 0 (\BIN STREAM))
THEN (* ; "SH SH CSH CS CH where CSH is 0")
(* ;;
 "Note: no eof error check on this \BIN -- an eof in the middle of a charset shift is an error")
(SETQ CSET (\BIN STREAM))
(SETQ CHAR (\PEEKBIN STREAM NOERROR))
(\BACKFILEPTR STREAM)
(\BACKFILEPTR STREAM)
(\BACKFILEPTR STREAM)
(\BACKFILEPTR STREAM)
ELSE (\NSIN.24BITENCODING.ERROR STREAM))
ELSEIF (EQ CSET \NORUNCODE)
THEN (* ; "2 byte runs, BIN/PEEK/BACK")
(SETQ CSET CHAR)
(\BIN STREAM)
(SETQ CHAR (\PEEKBIN STREAM NOERROR)) (* ; "One BACKFILEPTR seems OK")
(\BACKFILEPTR STREAM))
(* ;; "No need to back up for the runcoded case")
(CL:WHEN CHAR
(LOGOR (UNFOLD CSET 256)
CHAR)))])
(\XCCSOUTCHAR
[LAMBDA (STREAM CHARCODE) (* ; "Edited 13-Aug-2021 10:24 by rmk:")
(* ;; "Closed function for the :XCCS external format, also called when :XCCS is the default")
(COND
((EQ CHARCODE (CHARCODE EOL))
(FREPLACE (STREAM CHARPOSITION) OF STREAM WITH 0)
[COND
[(NOT (\RUNCODED STREAM)) (* ;
 "Charset is a constant 0, we put out the high-order byte.")
(\BOUT STREAM (\CHARSET (CHARCODE EOL]
((EQ (\CHARSET (CHARCODE EOL))
(ffetch (STREAM CHARSET) of STREAM)))
(T (* ;
 "We are runcoded, and not in character set 0, have to shift.")
(\BOUT STREAM NSCHARSETSHIFT)
(\BOUT STREAM (freplace (STREAM CHARSET) of STREAM with (\CHARSET
(CHARCODE EOL]
(* ;; "We are now in the right charset (0) for the first EOL byte. For CRLF, the CR is immediately followed by the LF byte, without the prefix 0 byte even if not runcoded, i.e. the 2 bytes are though of as a composite. The stream is left in CSET0 (the freplace above), read for another shift according to the next shift in a runcoded file.")
(\BOUTEOL STREAM))
(T (CHANGE (FFETCH (STREAM CHARPOSITION) OF STREAM)
(IPLUS16 1 DATUM))
(COND
((NOT (\RUNCODED STREAM))
(\BOUT STREAM (\CHARSET CHARCODE))
(\BOUT STREAM (\CHAR8CODE CHARCODE)))
((EQ (\CHARSET CHARCODE)
(ffetch (STREAM CHARSET) of STREAM))
(\BOUT STREAM (\CHAR8CODE CHARCODE)))
(T (\BOUT STREAM NSCHARSETSHIFT)
(\BOUT STREAM (freplace (STREAM CHARSET) of STREAM with (\CHARSET
CHARCODE))
)
(\BOUT STREAM (\CHAR8CODE CHARCODE])
(\XCCSBACKCCODE
[LAMBDA (STREAM COUNTP) (* ; "Edited 8-Dec-2023 15:34 by rmk")
(* ; "Edited 19-Jul-2022 17:12 by rmk")
(* ; "Edited 13-Aug-2021 14:08 by rmk:")
(DECLARE (USEDFREE *BYTECOUNTER*))
(LET ((BYTE (AND (\BACKFILEPTR STREAM)
(\PEEKBIN STREAM)))
(CSET (fetch (STREAM CHARSET) of STREAM)))
(CL:WHEN BYTE
(* ;; "The immediately preceding byte must be a character byte. If it is a byte in a runcode, then we are done, even if the byte before is part of a shift sequence.")
(* ;; "But if we are currently in a nonruncoded file, we have to go back one more to get the character set byte.")
(* ;; "If we can't back up, we are already at the beginning.")
(IF (EQ \NORUNCODE CSET)
THEN (IF (\BACKFILEPTR STREAM)
THEN (CL:WHEN COUNTP (SETQ *BYTECOUNTER* -2))
(LOGOR (UNFOLD (\PEEKBIN STREAM)
256)
BYTE)
ELSE (CL:WHEN COUNTP (SETQ *BYTECOUNTER* -1))
NIL)
ELSE (CL:WHEN COUNTP (SETQ *BYTECOUNTER* -1))
(LOGOR (UNFOLD CSET 256)
BYTE)))])
(\XCCSFORMATBYTESTREAM
[LAMBDA (STREAM BYTESTREAM) (* ; "Edited 26-Mar-2024 11:00 by rmk")
(* ; "Edited 19-Mar-2024 16:02 by rmk")
(\EXTERNALFORMAT BYTESTREAM (\EXTERNALFORMAT STREAM))
(* ;; "This stream may be read as a continuation of STREAM (TTYIN, LAFITE?), and we want to make sure that the bytes are encoded properly. So let's assert (and possibly mark) that that's its current situation.")
(\XCCSCHARSETFN BYTESTREAM (fetch (STREAM CHARSET) of STREAM))
BYTESTREAM])
(\XCCSCHARSETFN
[LAMBDA (STREAM CHARSET DONTMARKSTREAM) (* ; "Edited 9-Dec-2023 11:18 by rmk")
(* ;; "This differs from \GENERIC.CHARSET in that it actually writes the shifting bytes into an output stream, unless DONTMARKSTREAM. It will do write the shifts, even if it just replicates the situation that is already there (presumably CHARSET = the old CHARSET). The client should test and avoid calling if useless shifts are not desired.")
(LET [(CSET (ffetch (STREAM CHARSET) of (\DTEST STREAM 'STREAM]
(CL:WHEN CHARSET
(CL:WHEN (EQ CHARSET T)
(SETQ CHARSET \NORUNCODE))
(CL:UNLESS (EQ CHARSET CSET)
(freplace (STREAM CHARSET) of STREAM with CHARSET)
(CL:UNLESS DONTMARKSTREAM
(CL:WHEN (\IOMODEP STREAM 'OUTPUT T)
(\BOUT STREAM NSCHARSETSHIFT)
(if (EQ CHARSET \NORUNCODE)
then (\BOUT STREAM \NORUNCODE)
(\BOUT STREAM 0)
else (\BOUT STREAM CHARSET))))))
CSET])
)
(DEFINEQ
(\CREATE.XCCS.EXTERNALFORMAT
[LAMBDA (NAME EOL) (* ; "Edited 7-Dec-2023 23:03 by rmk")
(* ; "Edited 30-Jun-2022 18:08 by rmk")
(* ; "Edited 10-Sep-2021 19:49 by rmk:")
(* ;;; "Create the :XCCS external format. Stream's EOL overrides the (vacuous) default here")
(MAKE-EXTERNALFORMAT (OR NAME :XCCS)
(FUNCTION \XCCSINCCODE)
(FUNCTION \XCCSPEEKCCODE)
(FUNCTION \XCCSBACKCCODE)
(FUNCTION \XCCSOUTCHAR)
(FUNCTION \XCCSFORMATBYTESTREAM)
(OR EOL 'LF)
T NIL NIL (FUNCTION \XCCSCHARSETFN])
)
(DEFINEQ
(\NSIN.24BITENCODING.ERROR
[LAMBDA (STREAM) (* bvm%: "12-Mar-86 15:35")
(DECLARE (USEDFREE *SIGNAL-24BIT-NSENCODING-ERROR*))
(* ;;; "Called if we see the sequence shift,shift on STREAM -- means shift to 24-bit character set, which we don't support. Usually this just means we're erroneously reading a binary file as text. If this function returns, its value is taken as a character set to shift to")
(COND
(*SIGNAL-24BIT-NSENCODING-ERROR* (* ;
 "Only cause error if user/reader cares")
(ERROR "24-bit NS encoding not supported" STREAM)))
(* ; "Return charset zero")
0])
)
(DEFINEQ
(KANJICHARSETP
[LAMBDA (CHARSET) (* ; "Edited 13-Jun-2025 16:33 by rmk")
(* ;; "Returns CHARSET if it is a charset with MCCS Kanji characters")
(AND (<= 48 CHARSET 118)
CHARSET])
(CHINESECHARSETP
[LAMBDA (CHARSET) (* ; "Edited 18-Jun-2025 23:09 by rmk")
(* ; "Edited 13-Jun-2025 16:33 by rmk")
(* ;; "Returns CHARSET if it is a charset with MCCS Chinese characters")
(AND (<= 161 CHARSET 212)
CHARSET])
)
(RPAQ? *SIGNAL-24BIT-NSENCODING-ERROR* )
(DECLARE%: EVAL@COMPILE DONTCOPY
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(RPAQQ \NORUNCODE 255)
(RPAQQ NSCHARSETSHIFT 255)
(CONSTANTS (\NORUNCODE 255)
(NSCHARSETSHIFT 255))
)
(DECLARE%: EVAL@COMPILE
(PUTPROPS \RUNCODED MACRO (OPENLAMBDA (STREAM)
(* ;; "returns NIL is the stream is not runcoded, that is, if the stream has 16 bit bytes explicitly represented")
(* ;
 "note that neq is ok since charsets are known to be SMALLP's")
(NEQ (fetch CHARSET of STREAM)
\NORUNCODE)))
)
(* "END EXPORTED DEFINITIONS")
)
(DECLARE%: DONTEVAL@LOAD DOCOPY
(\CREATE.XCCS.EXTERNALFORMAT)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (997 12253 (\XCCSINCCODE 1007 . 3986) (\XCCSPEEKCCODE 3988 . 6657) (\XCCSOUTCHAR 6659 .
8879) (\XCCSBACKCCODE 8881 . 10425) (\XCCSFORMATBYTESTREAM 10427 . 11048) (\XCCSCHARSETFN 11050 .
12251)) (12254 13027 (\CREATE.XCCS.EXTERNALFORMAT 12264 . 13025)) (13028 13859 (
\NSIN.24BITENCODING.ERROR 13038 . 13857)) (13860 14500 (KANJICHARSETP 13870 . 14126) (CHINESECHARSETP
14128 . 14498)))))
STOP

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
unicode/xerox/README.TEDIT Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -42,195 +42,7 @@
# Any comments or problems, contact <ron.kaplan@post.harvard.edu>
# "165" JIS
0x7521 0x5B57 # 字
0x7522 0x600E # 怎
0x7523 0x5FEB # 快
0x7524 0x5E2B # 師
0x7525 0x8655 # 處
0x7526 0x76F8 # 相
0x7527 0x6D3B # 活
0x7528 0x89AA # 親
0x7529 0x6D77 # 海
0x752A 0x96FB # 電
0x752B 0x6BCD # 母
0x752C 0x679C # 果
0x752D 0x7ACB # 立
0x752E 0x539F # 原
0x752F 0x5408 # 合
0x7530 0x66F8 # 書
0x7531 0x5165 # 入
0x7532 0x4E26 # 並
0x7533 0x5E73 # 平
0x7534 0x696D # 業
0x7535 0x5831 # 報
0x7536 0x8EAB # 身
0x7537 0x5E02 # 市
0x7538 0x88AB # 被
0x7539 0x8A31 # 許
0x753A 0x8ACB # 請
0x753B 0x5C11 # 少
0x753C 0x9593 # 間
0x753D 0x9AD4 # 體
0x753E 0x4F4F # 住
0x753F 0x8ECA # 車
0x7540 0x8ECD # 軍
0x7541 0x908A # 邊
0x7542 0x91CD # 重
0x7543 0x52A0 # 加
0x7544 0x5716 # 圖
0x7545 0x6216 # 或
0x7546 0x6B21 # 次
0x7547 0x6BCF # 每
0x7548 0x7E3D # 總
0x7549 0x706B # 火
0x754A 0x6587 # 文
0x754B 0x5B69 # 孩
0x754C 0x4E16 # 世
0x754D 0x5B89 # 安
0x754E 0x653E # 放
0x754F 0x6A5F # 機
0x7550 0x5167 # 內
0x7551 0x95DC # 關
0x7552 0x5229 # 利
0x7553 0x50CF # 像
0x7554 0x7406 # 理
0x7555 0x6BD4 # 比
0x7556 0x611B # 愛
0x7557 0x738B # 王
0x7558 0x5225 # 別
0x7559 0x592B # 夫
0x755A 0x8207 # 與
0x755B 0x5149 # 光
0x755C 0x82B1 # 花
0x755D 0x83EF # 華
0x755E 0x8AB2 # 課
0x755F 0x80B2 # 育
0x7560 0x6545 # 故
0x7561 0x5FC5 # 必
0x7562 0x689D # 條
0x7563 0x5ABD # 媽
0x7564 0x5F1F # 弟
0x7565 0x7236 # 父
0x7566 0x901A # 通
0x7567 0x8868 # 表
0x7568 0x91D1 # 金
0x7569 0x5BEB # 寫
0x756A 0x5DF1 # 己
0x756B 0x624D # 才
0x756C 0x6CB3 # 河
0x756D 0x7701 # 省
0x756E 0x53F0 # 台
0x756F 0x6C42 # 求
0x7570 0x6536 # 收
0x7571 0x842C # 萬
0x7572 0x4E14 # 且
0x7573 0x4F55 # 何
0x7574 0x4EE3 # 代
0x7575 0x5171 # 共
0x7576 0x53D7 # 受
0x7577 0x98A8 # 風
0x7578 0x6C5F # 江
0x7579 0x62FF # 拿
0x757A 0x96E3 # 難
0x757B 0x754C # 界
0x757C 0x4FE1 # 信
0x757D 0x671B # 望
0x757E 0x7A7A # 空
0x75A1 0x6B7B # 死
0x75A2 0x73ED # 班
0x75A3 0x99AC # 馬
0x75A4 0x671F # 期
0x75A5 0x975E # 非
0x75A6 0x6A39 # 樹
0x75A7 0x53CA # 及
0x75A8 0x7D50 # 結
0x75A9 0x865F # 號
0x75AA 0x5E36 # 帶
0x75AB 0x5143 # 元
0x75AC 0x4EA4 # 交
0x75AD 0x8A72 # 該
0x75AE 0x672A # 未
0x75AF 0x7FA9 # 義
0x75B0 0x5E9C # 府
0x75B1 0x5B8C # 完
0x75B2 0x8AD6 # 論
0x75B3 0x9322 # 錢
0x75B4 0x98DB # 飛
0x75B5 0x547D # 命
0x75B6 0x5F35 # 張
0x75B7 0x54E1 # 員
0x75B8 0x6578 # 數
0x75B9 0x6797 # 林
0x75BA 0x63A5 # 接
0x75BB 0x5C40 # 局
0x75BC 0x53CB # 友
0x75BD 0x559C # 喜
0x75BE 0x6E05 # 清
0x75BF 0x6D0B # 洋
0x75C0 0x6A02 # 樂
0x75C1 0x5A5A # 婚
0x75C2 0x793E # 社
0x75C3 0x65E9 # 早
0x75C4 0x5E03 # 布
0x75C5 0x6975 # 極
0x75C6 0x773C # 眼
0x75C7 0x55CE # 嗎
0x75C8 0x7522 # 產
0x75C9 0x544A # 告
0x75CA 0x54E5 # 哥
0x75CB 0x8208 # 興
0x75CC 0x52DE # 勞
0x75CD 0x9435 # 鐵
0x75CE 0x53D6 # 取
0x75CF 0x7B97 # 算
0x75D0 0x66F4 # 更
0x75D1 0x5175 # 兵
0x75D2 0x9020 # 造
0x75D3 0x7B54 # 答
0x75D4 0x627E # 找
0x75D5 0x7F77 # 罷
0x75D6 0x5931 # 失
0x75D7 0x904B # 運
0x75D8 0x5F62 # 形
0x75D9 0x6613 # 易
0x75DA 0x7FA3 # 羣
0x75DB 0x5EA6 # 度
0x75DC 0x534A # 半
0x75DD 0x8863 # 衣
0x75DE 0x82E5 # 若
0x75DF 0x81F3 # 至
0x75E0 0x8B70 # 議
0x75E1 0x8FD1 # 近
0x75E2 0x7167 # 照
0x75E3 0x8B8A # 變
0x75E4 0x59D0 # 姐
0x75E5 0x670D # 服
0x75E6 0x5247 # 則
0x75E7 0x985E # 類
0x75E8 0x82F1 # 英
0x75E9 0x7403 # 球
0x75EA 0x5343 # 千
0x75EB 0x5F80 # 往
0x75EC 0x8B1B # 講
0x75ED 0x8A08 # 計
0x75EE 0x6230 # 戰
0x75EF 0x6728 # 木
0x75F0 0x7B11 # 笑
0x75F1 0x529F # 功
0x75F2 0x8209 # 舉
0x75F3 0x8DDF # 跟
0x75F4 0x795E # 神
0x75F5 0x6C7A # 決
0x75F6 0x6D41 # 流
0x75F7 0x71B1 # 熱
0x75F8 0x541B # 君
0x75F9 0x7A76 # 究
0x75FA 0x7D04 # 約
0x75FB 0x96BB # 隻
0x75FC 0x76F4 # 直
0x75FD 0x53E4 # 古
0x75FE 0x9EC3 # 黃
# "164" JIS
0x742C 0x32E3 # ㋣ CIRCLED KATAKANA TO
0x742D 0x32E0 # ㋠ CIRCLED KATAKANA TI
0x742E 0x32F7 # ㋷ CIRCLED KATAKANA RI

View File

@@ -0,0 +1,4 @@
# "171" UNIHAN
0x7963 0xFA20 # 蘒 -- 171,143

View File

@@ -0,0 +1,191 @@
# "241" UNIHAN
0xA121 0x7684 # 的 -- 241,041
0xA122 0x4E00 # 一 -- 241,042
0xA123 0x662F # 是 -- 241,043
0xA124 0x4E0D # 不 -- 241,044
0xA125 0x4E86 # 了 -- 241,045
0xA126 0x6211 # 我 -- 241,046
0xA127 0x6709 # 有 -- 241,047
0xA128 0x4ED6 # 他 -- 241,050
0xA129 0x4EBA # 人 -- 241,051
0xA12A 0x4E0A # 上 -- 241,052
0xA12B 0x5728 # 在 -- 241,053
0xA12C 0x4F86 # 來 -- 241,054
0xA12D 0x9019 # 這 -- 241,055
0xA12E 0x570B # 國 -- 241,056
0xA12F 0x5011 # 們 -- 241,057
0xA130 0x5927 # 大 -- 241,060
0xA131 0x5C0F # 小 -- 241,061
0xA132 0x8AAA # 說 -- 241,062
0xA133 0x5B50 # 子 -- 241,063
0xA134 0x500B # 個 -- 241,064
0xA135 0x5C31 # 就 -- 241,065
0xA136 0x8981 # 要 -- 241,066
0xA137 0x53EF # 可 -- 241,067
0xA138 0x5168 # 全 -- 241,070
0xA139 0x5230 # 到 -- 241,071
0xA13A 0x4E8C # 二 -- 241,072
0xA13B 0x4EE5 # 以 -- 241,073
0xA13C 0x4E2D # 中 -- 241,074
0xA13D 0x4F60 # 你 -- 241,075
0xA13E 0x4E5F # 也 -- 241,076
0xA13F 0x6642 # 時 -- 241,077
0xA140 0x90A3 # 那 -- 241,100
0xA141 0x5341 # 十 -- 241,101
0xA142 0x88CF # 裏 -- 241,102
0xA143 0x548C # 和 -- 241,103
0xA144 0x9053 # 道 -- 241,104
0xA145 0x8457 # 著 -- 241,105
0xA146 0x751F # 生 -- 241,106
0xA147 0x5F97 # 得 -- 241,107
0xA148 0x5BB6 # 家 -- 241,110
0xA149 0x53BB # 去 -- 241,111
0xA14A 0x5929 # 天 -- 241,112
0xA14B 0x4E09 # 三 -- 241,113
0xA14C 0x597D # 好 -- 241,114
0xA14D 0x5B78 # 學 -- 241,115
0xA14E 0x5730 # 地 -- 241,116
0xA14F 0x7232 # 爲 -- 241,117
0xA150 0x4E0B # 下 -- 241,120
0xA151 0x90FD # 都 -- 241,121
0xA152 0x9EBC # 麼 -- 241,122
0xA153 0x4E8B # 事 -- 241,123
0xA154 0x770B # 看 -- 241,124
0xA155 0x5E74 # 年 -- 241,125
0xA156 0x591A # 多 -- 241,126
0xA157 0x51FA # 出 -- 241,127
0xA158 0x6703 # 會 -- 241,130
0xA159 0x7528 # 用 -- 241,131
0xA15A 0x65E5 # 日 -- 241,132
0xA15B 0x5F88 # 很 -- 241,133
0xA15C 0x81EA # 自 -- 241,134
0xA15D 0x628A # 把 -- 241,135
0xA15E 0x56DB # 四 -- 241,136
0xA15F 0x5F8C # 後 -- 241,137
0xA160 0x904E # 過 -- 241,140
0xA161 0x6A23 # 樣 -- 241,141
0xA162 0x4E4B # 之 -- 241,142
0xA163 0x6240 # 所 -- 241,143
0xA164 0x5152 # 兒 -- 241,144
0xA165 0x6C92 # 沒 -- 241,145
0xA166 0x4E94 # 五 -- 241,146
0xA167 0x751A # 甚 -- 241,147
0xA168 0x898B # 見 -- 241,150
0xA169 0x80FD # 能 -- 241,151
0xA16A 0x9762 # 面 -- 241,152
0xA16B 0x53C8 # 又 -- 241,153
0xA16C 0x65B9 # 方 -- 241,154
0xA16D 0x8D77 # 起 -- 241,155
0xA16E 0x505A # 做 -- 241,156
0xA16F 0x672C # 本 -- 241,157
0xA170 0x7A2E # 種 -- 241,160
0xA171 0x8001 # 老 -- 241,161
0xA172 0x65BC # 於 -- 241,162
0xA173 0x884C # 行 -- 241,163
0xA174 0x6C11 # 民 -- 241,164
0xA175 0x5982 # 如 -- 241,165
0xA176 0x524D # 前 -- 241,166
0xA177 0x4F5C # 作 -- 241,167
0xA178 0x540C # 同 -- 241,170
0xA179 0x7B2C # 第 -- 241,171
0xA17A 0x6210 # 成 -- 241,172
0xA17B 0x660E # 明 -- 241,173
0xA17C 0x554F # 問 -- 241,174
0xA17D 0x767C # 發 -- 241,175
0xA17E 0x6CD5 # 法 -- 241,176
0xA1A1 0x5F9E # 從 -- 241,241
0xA1A2 0x897F # 西 -- 241,242
0xA1A3 0x7136 # 然 -- 241,243
0xA1A4 0x5FC3 # 心 -- 241,244
0xA1A5 0x60F3 # 想 -- 241,245
0xA1A6 0x9577 # 長 -- 241,246
0xA1A7 0x5169 # 兩 -- 241,247
0xA1A8 0x4FBF # 便 -- 241,250
0xA1A9 0x56E0 # 因 -- 241,251
0xA1AA 0x516B # 八 -- 241,252
0xA1AB 0x52D5 # 動 -- 241,253
0xA1AC 0x77E5 # 知 -- 241,254
0xA1AD 0x6C34 # 水 -- 241,255
0xA1AE 0x982D # 頭 -- 241,256
0xA1AF 0x6559 # 教 -- 241,257
0xA1B0 0x7D93 # 經 -- 241,260
0xA1B1 0x5C0D # 對 -- 241,261
0xA1B2 0x5DF2 # 已 -- 241,262
0xA1B3 0x9084 # 還 -- 241,263
0xA1B4 0x5916 # 外 -- 241,264
0xA1B5 0x5206 # 分 -- 241,265
0xA1B6 0x8A71 # 話 -- 241,266
0xA1B7 0x53EB # 叫 -- 241,267
0xA1B8 0x5DE5 # 工 -- 241,270
0xA1B9 0x7B49 # 等 -- 241,271
0xA1BA 0x6821 # 校 -- 241,272
0xA1BB 0x5148 # 先 -- 241,273
0xA1BC 0x6B64 # 此 -- 241,274
0xA1BD 0x6708 # 月 -- 241,275
0xA1BE 0x6771 # 東 -- 241,276
0xA1BF 0x56DE # 回 -- 241,277
0xA1C0 0x7576 # 當 -- 241,300
0xA1C1 0x958B # 開 -- 241,301
0xA1C2 0x516D # 六 -- 241,302
0xA1C3 0x800C # 而 -- 241,303
0xA1C4 0x610F # 意 -- 241,304
0xA1C5 0x4E3B # 主 -- 241,305
0xA1C6 0x4F46 # 但 -- 241,306
0xA1C7 0x5B9A # 定 -- 241,307
0xA1C8 0x5019 # 候 -- 241,310
0xA1C9 0x5E7E # 幾 -- 241,311
0xA1CA 0x5403 # 吃 -- 241,312
0xA1CB 0x516C # 公 -- 241,313
0xA1CC 0x7121 # 無 -- 241,314
0xA1CD 0x4E9B # 些 -- 241,315
0xA1CE 0x529B # 力 -- 241,316
0xA1CF 0x5E38 # 常 -- 241,317
0xA1D0 0x767D # 白 -- 241,320
0xA1D1 0x5404 # 各 -- 241,321
0xA1D2 0x5973 # 女 -- 241,322
0xA1D3 0x8D70 # 走 -- 241,323
0xA1D4 0x540D # 名 -- 241,324
0xA1D5 0x9AD8 # 高 -- 241,325
0xA1D6 0x61C9 # 應 -- 241,326
0xA1D7 0x53EA # 只 -- 241,327
0xA1D8 0x9032 # 進 -- 241,330
0xA1D9 0x624B # 手 -- 241,331
0xA1DA 0x73FE # 現 -- 241,332
0xA1DB 0x6700 # 最 -- 241,333
0xA1DC 0x7D66 # 給 -- 241,334
0xA1DD 0x5462 # 呢 -- 241,335
0xA1DE 0x807D # 聽 -- 241,336
0xA1DF 0x5B98 # 官 -- 241,337
0xA1E0 0x5C71 # 山 -- 241,340
0xA1E1 0x7269 # 物 -- 241,341
0xA1E2 0x4ECA # 今 -- 241,342
0xA1E3 0x5C07 # 將 -- 241,343
0xA1E4 0x592A # 太 -- 241,344
0xA1E5 0x4E03 # 七 -- 241,345
0xA1E6 0x6C23 # 氣 -- 241,346
0xA1E7 0x5317 # 北 -- 241,347
0xA1E8 0x4F4D # 位 -- 241,350
0xA1E9 0x653F # 政 -- 241,351
0xA1EA 0x4F7F # 使 -- 241,352
0xA1EB 0x771E # 眞 -- 241,353
0xA1EC 0x7F8E # 美 -- 241,354
0xA1ED 0x5BE6 # 實 -- 241,355
0xA1EE 0x53E3 # 口 -- 241,356
0xA1EF 0x7531 # 由 -- 241,357
0xA1F0 0x4E5D # 九 -- 241,360
0xA1F1 0x6253 # 打 -- 241,361
0xA1F2 0x6B63 # 正 -- 241,362
0xA1F3 0x5357 # 南 -- 241,363
0xA1F4 0x90E8 # 部 -- 241,364
0xA1F5 0x8DEF # 路 -- 241,365
0xA1F6 0x60C5 # 情 -- 241,366
0xA1F7 0x518D # 再 -- 241,367
0xA1F8 0x65B0 # 新 -- 241,370
0xA1F9 0x5411 # 向 -- 241,371
0xA1FA 0x5176 # 其 -- 241,372
0xA1FB 0x9EDE # 點 -- 241,373
0xA1FC 0x767E # 百 -- 241,374
0xA1FD 0x9580 # 門 -- 241,375
0xA1FE 0x8072 # 聲 -- 241,376

View File

@@ -0,0 +1,190 @@
# "242" UNIHAN
0xA221 0x5B57 # 字 -- 242,041
0xA222 0x600E # 怎 -- 242,042
0xA223 0x5FEB # 快 -- 242,043
0xA224 0x5E2B # 師 -- 242,044
0xA225 0x8655 # 處 -- 242,045
0xA226 0x76F8 # 相 -- 242,046
0xA227 0x6D3B # 活 -- 242,047
0xA228 0x89AA # 親 -- 242,050
0xA229 0x6D77 # 海 -- 242,051
0xA22A 0x96FB # 電 -- 242,052
0xA22B 0x6BCD # 母 -- 242,053
0xA22C 0x679C # 果 -- 242,054
0xA22D 0x7ACB # 立 -- 242,055
0xA22E 0x539F # 原 -- 242,056
0xA22F 0x5408 # 合 -- 242,057
0xA230 0x66F8 # 書 -- 242,060
0xA231 0x5165 # 入 -- 242,061
0xA233 0x5E73 # 平 -- 242,063
0xA234 0x696D # 業 -- 242,064
0xA235 0x5831 # 報 -- 242,065
0xA236 0x8EAB # 身 -- 242,066
0xA237 0x5E02 # 市 -- 242,067
0xA238 0x88AB # 被 -- 242,070
0xA239 0x8A31 # 許 -- 242,071
0xA23A 0x8ACB # 請 -- 242,072
0xA23B 0x5C11 # 少 -- 242,073
0xA23C 0x9593 # 間 -- 242,074
0xA23D 0x9AD4 # 體 -- 242,075
0xA23E 0x4F4F # 住 -- 242,076
0xA23F 0x8ECA # 車 -- 242,077
0xA240 0x8ECD # 軍 -- 242,100
0xA241 0x908A # 邊 -- 242,101
0xA242 0x91CD # 重 -- 242,102
0xA243 0x52A0 # 加 -- 242,103
0xA244 0x5716 # 圖 -- 242,104
0xA245 0x6216 # 或 -- 242,105
0xA246 0x6B21 # 次 -- 242,106
0xA247 0x6BCF # 每 -- 242,107
0xA248 0x7E3D # 總 -- 242,110
0xA249 0x706B # 火 -- 242,111
0xA24A 0x6587 # 文 -- 242,112
0xA24B 0x5B69 # 孩 -- 242,113
0xA24C 0x4E16 # 世 -- 242,114
0xA24D 0x5B89 # 安 -- 242,115
0xA24E 0x653E # 放 -- 242,116
0xA24F 0x6A5F # 機 -- 242,117
0xA250 0x5167 # 內 -- 242,120
0xA251 0x95DC # 關 -- 242,121
0xA252 0x5229 # 利 -- 242,122
0xA253 0x50CF # 像 -- 242,123
0xA254 0x7406 # 理 -- 242,124
0xA255 0x6BD4 # 比 -- 242,125
0xA256 0x611B # 愛 -- 242,126
0xA257 0x738B # 王 -- 242,127
0xA258 0x5225 # 別 -- 242,130
0xA259 0x592B # 夫 -- 242,131
0xA25A 0x8207 # 與 -- 242,132
0xA25B 0x5149 # 光 -- 242,133
0xA25C 0x82B1 # 花 -- 242,134
0xA25D 0x83EF # 華 -- 242,135
0xA25E 0x8AB2 # 課 -- 242,136
0xA25F 0x80B2 # 育 -- 242,137
0xA260 0x6545 # 故 -- 242,140
0xA261 0x5FC5 # 必 -- 242,141
0xA262 0x689D # 條 -- 242,142
0xA263 0x5ABD # 媽 -- 242,143
0xA264 0x5F1F # 弟 -- 242,144
0xA265 0x7236 # 父 -- 242,145
0xA266 0x901A # 通 -- 242,146
0xA267 0x8868 # 表 -- 242,147
0xA268 0x91D1 # 金 -- 242,150
0xA269 0x5BEB # 寫 -- 242,151
0xA26A 0x5DF1 # 己 -- 242,152
0xA26B 0x624D # 才 -- 242,153
0xA26C 0x6CB3 # 河 -- 242,154
0xA26D 0x7701 # 省 -- 242,155
0xA26E 0x53F0 # 台 -- 242,156
0xA26F 0x6C42 # 求 -- 242,157
0xA270 0x6536 # 收 -- 242,160
0xA271 0x842C # 萬 -- 242,161
0xA272 0x4E14 # 且 -- 242,162
0xA273 0x4F55 # 何 -- 242,163
0xA274 0x4EE3 # 代 -- 242,164
0xA275 0x5171 # 共 -- 242,165
0xA276 0x53D7 # 受 -- 242,166
0xA277 0x98A8 # 風 -- 242,167
0xA278 0x6C5F # 江 -- 242,170
0xA279 0x62FF # 拿 -- 242,171
0xA27A 0x96E3 # 難 -- 242,172
0xA27B 0x754C # 界 -- 242,173
0xA27C 0x4FE1 # 信 -- 242,174
0xA27D 0x671B # 望 -- 242,175
0xA27E 0x7A7A # 空 -- 242,176
0xA2A1 0x6B7B # 死 -- 242,241
0xA2A2 0x73ED # 班 -- 242,242
0xA2A3 0x99AC # 馬 -- 242,243
0xA2A4 0x671F # 期 -- 242,244
0xA2A5 0x975E # 非 -- 242,245
0xA2A6 0x6A39 # 樹 -- 242,246
0xA2A7 0x53CA # 及 -- 242,247
0xA2A8 0x7D50 # 結 -- 242,250
0xA2A9 0x865F # 號 -- 242,251
0xA2AA 0x5E36 # 帶 -- 242,252
0xA2AB 0x5143 # 元 -- 242,253
0xA2AC 0x4EA4 # 交 -- 242,254
0xA2AD 0x8A72 # 該 -- 242,255
0xA2AE 0x672A # 未 -- 242,256
0xA2AF 0x7FA9 # 義 -- 242,257
0xA2B0 0x5E9C # 府 -- 242,260
0xA2B1 0x5B8C # 完 -- 242,261
0xA2B2 0x8AD6 # 論 -- 242,262
0xA2B3 0x9322 # 錢 -- 242,263
0xA2B4 0x98DB # 飛 -- 242,264
0xA2B5 0x547D # 命 -- 242,265
0xA2B6 0x5F35 # 張 -- 242,266
0xA2B7 0x54E1 # 員 -- 242,267
0xA2B8 0x6578 # 數 -- 242,270
0xA2B9 0x6797 # 林 -- 242,271
0xA2BA 0x63A5 # 接 -- 242,272
0xA2BB 0x5C40 # 局 -- 242,273
0xA2BC 0x53CB # 友 -- 242,274
0xA2BD 0x559C # 喜 -- 242,275
0xA2BE 0x6E05 # 清 -- 242,276
0xA2BF 0x6D0B # 洋 -- 242,277
0xA2C0 0x6A02 # 樂 -- 242,300
0xA2C1 0x5A5A # 婚 -- 242,301
0xA2C2 0x793E # 社 -- 242,302
0xA2C3 0x65E9 # 早 -- 242,303
0xA2C4 0x5E03 # 布 -- 242,304
0xA2C5 0x6975 # 極 -- 242,305
0xA2C6 0x773C # 眼 -- 242,306
0xA2C7 0x55CE # 嗎 -- 242,307
0xA2C8 0x7522 # 產 -- 242,310
0xA2C9 0x544A # 告 -- 242,311
0xA2CA 0x54E5 # 哥 -- 242,312
0xA2CB 0x8208 # 興 -- 242,313
0xA2CC 0x52DE # 勞 -- 242,314
0xA2CD 0x9435 # 鐵 -- 242,315
0xA2CE 0x53D6 # 取 -- 242,316
0xA2CF 0x7B97 # 算 -- 242,317
0xA2D0 0x66F4 # 更 -- 242,320
0xA2D1 0x5175 # 兵 -- 242,321
0xA2D2 0x9020 # 造 -- 242,322
0xA2D3 0x7B54 # 答 -- 242,323
0xA2D4 0x627E # 找 -- 242,324
0xA2D5 0x7F77 # 罷 -- 242,325
0xA2D6 0x5931 # 失 -- 242,326
0xA2D7 0x904B # 運 -- 242,327
0xA2D8 0x5F62 # 形 -- 242,330
0xA2D9 0x6613 # 易 -- 242,331
0xA2DA 0x7FA3 # 羣 -- 242,332
0xA2DB 0x5EA6 # 度 -- 242,333
0xA2DC 0x534A # 半 -- 242,334
0xA2DD 0x8863 # 衣 -- 242,335
0xA2DE 0x82E5 # 若 -- 242,336
0xA2DF 0x81F3 # 至 -- 242,337
0xA2E0 0x8B70 # 議 -- 242,340
0xA2E1 0x8FD1 # 近 -- 242,341
0xA2E2 0x7167 # 照 -- 242,342
0xA2E3 0x8B8A # 變 -- 242,343
0xA2E4 0x59D0 # 姐 -- 242,344
0xA2E5 0x670D # 服 -- 242,345
0xA2E6 0x5247 # 則 -- 242,346
0xA2E7 0x985E # 類 -- 242,347
0xA2E8 0x82F1 # 英 -- 242,350
0xA2E9 0x7403 # 球 -- 242,351
0xA2EA 0x5343 # 千 -- 242,352
0xA2EB 0x5F80 # 往 -- 242,353
0xA2EC 0x8B1B # 講 -- 242,354
0xA2ED 0x8A08 # 計 -- 242,355
0xA2EE 0x6230 # 戰 -- 242,356
0xA2EF 0x6728 # 木 -- 242,357
0xA2F0 0x7B11 # 笑 -- 242,360
0xA2F1 0x529F # 功 -- 242,361
0xA2F2 0x8209 # 舉 -- 242,362
0xA2F3 0x8DDF # 跟 -- 242,363
0xA2F4 0x795E # 神 -- 242,364
0xA2F5 0x6C7A # 決 -- 242,365
0xA2F6 0x6D41 # 流 -- 242,366
0xA2F7 0x71B1 # 熱 -- 242,367
0xA2F8 0x541B # 君 -- 242,370
0xA2F9 0x7A76 # 究 -- 242,371
0xA2FA 0x7D04 # 約 -- 242,372
0xA2FB 0x96BB # 隻 -- 242,373
0xA2FC 0x76F4 # 直 -- 242,374
0xA2FD 0x53E4 # 古 -- 242,375
0xA2FE 0x9EC3 # 黃 -- 242,376

View File

@@ -0,0 +1,190 @@
# "243" UNIHAN
0xA321 0x661F # 星 -- 243,041
0xA322 0x984C # 題 -- 243,042
0xA323 0x4FDD # 保 -- 243,043
0xA324 0x5012 # 倒 -- 243,044
0xA325 0x7AE5 # 童 -- 243,045
0xA326 0x9060 # 遠 -- 243,046
0xA327 0x5316 # 化 -- 243,047
0xA328 0x76EE # 目 -- 243,050
0xA329 0x5750 # 坐 -- 243,051
0xA32A 0x623F # 房 -- 243,052
0xA32B 0x5F3A # 强 -- 243,053
0xA32C 0x8B80 # 讀 -- 243,054
0xA32D 0x9001 # 送 -- 243,055
0xA32E 0x672B # 末 -- 243,056
0xA32F 0x665A # 晚 -- 243,057
0xA330 0x98DF # 食 -- 243,060
0xA331 0x96D6 # 雖 -- 243,061
0xA332 0x97F3 # 音 -- 243,062
0xA333 0x6EFF # 滿 -- 243,063
0xA334 0x8FA6 # 辦 -- 243,064
0xA335 0x6027 # 性 -- 243,065
0xA336 0x6B61 # 歡 -- 243,066
0xA337 0x75C5 # 病 -- 243,067
0xA338 0x9054 # 達 -- 243,070
0xA339 0x5BB3 # 害 -- 243,071
0xA33A 0x8CB7 # 買 -- 243,072
0xA33B 0x9280 # 銀 -- 243,073
0xA33C 0x52D9 # 務 -- 243,074
0xA33D 0x5920 # 夠 -- 243,075
0xA33E 0x4EFB # 任 -- 243,076
0xA33F 0x9023 # 連 -- 243,077
0xA340 0x5546 # 商 -- 243,100
0xA341 0x7279 # 特 -- 243,101
0xA342 0x82E6 # 苦 -- 243,102
0xA343 0x5FB7 # 德 -- 243,103
0xA344 0x9662 # 院 -- 243,104
0xA345 0x6B0A # 權 -- 243,105
0xA346 0x6B65 # 步 -- 243,106
0xA347 0x5440 # 呀 -- 243,107
0xA348 0x6015 # 怕 -- 243,110
0xA349 0x77F3 # 石 -- 243,111
0xA34A 0x8272 # 色 -- 243,112
0xA34B 0x5EFA # 建 -- 243,113
0xA34C 0x6B3E # 款 -- 243,114
0xA34D 0x5A66 # 婦 -- 243,115
0xA34E 0x8A2D # 設 -- 243,116
0xA34F 0x7238 # 爸 -- 243,117
0xA350 0x5DF4 # 巴 -- 243,120
0xA351 0x571F # 土 -- 243,121
0xA352 0x8A18 # 記 -- 243,122
0xA353 0x5E0C # 希 -- 243,123
0xA354 0x58EB # 士 -- 243,124
0xA355 0x50B3 # 傳 -- 243,125
0xA356 0x7FD2 # 習 -- 243,126
0xA357 0x5236 # 制 -- 243,127
0xA358 0x63D0 # 提 -- 243,130
0xA359 0x7BC0 # 節 -- 243,131
0xA35A 0x5BB9 # 容 -- 243,132
0xA35B 0x5FF5 # 念 -- 243,133
0xA35C 0x6307 # 指 -- 243,134
0xA35D 0x7814 # 研 -- 243,135
0xA35E 0x6CBB # 治 -- 243,136
0xA35F 0x89E3 # 解 -- 243,137
0xA360 0x8239 # 船 -- 243,140
0xA361 0x904A # 遊 -- 243,141
0xA362 0x5099 # 備 -- 243,142
0xA363 0x89C0 # 觀 -- 243,143
0xA364 0x52DD # 勝 -- 243,144
0xA365 0x6539 # 改 -- 243,145
0xA366 0x9664 # 除 -- 243,146
0xA367 0x967D # 陽 -- 243,147
0xA368 0x53CD # 反 -- 243,150
0xA369 0x7D71 # 統 -- 243,151
0xA36A 0x9B5A # 魚 -- 243,152
0xA36B 0x5B83 # 它 -- 243,153
0xA36C 0x5E1D # 帝 -- 243,154
0xA36D 0x8A9E # 語 -- 243,155
0xA36E 0x7530 # 田 -- 243,156
0xA36F 0x52A9 # 助 -- 243,157
0xA370 0x6CE8 # 注 -- 243,160
0xA371 0x5348 # 午 -- 243,161
0xA372 0x8A00 # 言 -- 243,162
0xA373 0x5EE2 # 廢 -- 243,163
0xA374 0x54C1 # 品 -- 243,164
0xA375 0x6599 # 料 -- 243,165
0xA376 0x5834 # 場 -- 243,166
0xA377 0x5FD9 # 忙 -- 243,167
0xA378 0x8DD1 # 跑 -- 243,170
0xA379 0x66FE # 曾 -- 243,171
0xA37A 0x52E2 # 勢 -- 243,172
0xA37B 0x73A9 # 玩 -- 243,173
0xA37C 0x8B58 # 識 -- 243,174
0xA37D 0x6D88 # 消 -- 243,175
0xA37E 0x5C4B # 屋 -- 243,176
0xA3A1 0x601D # 思 -- 243,241
0xA3A2 0x8DB3 # 足 -- 243,242
0xA3A3 0x9808 # 須 -- 243,243
0xA3A4 0x656C # 敬 -- 243,244
0xA3A5 0x7CBE # 精 -- 243,245
0xA3A6 0x7E23 # 縣 -- 243,246
0xA3A7 0x59B9 # 妹 -- 243,247
0xA3A8 0x5979 # 她 -- 243,250
0xA3A9 0x8CBB # 費 -- 243,251
0xA3AA 0x57CE # 城 -- 243,252
0xA3AB 0x5668 # 器 -- 243,253
0xA3AC 0x96E2 # 離 -- 243,254
0xA3AD 0x9858 # 願 -- 243,255
0xA3AE 0x76AE # 皮 -- 243,256
0xA3AF 0x6551 # 救 -- 243,257
0xA3B0 0x98EF # 飯 -- 243,260
0xA3B1 0x9ED1 # 黑 -- 243,261
0xA3B2 0x8FB2 # 農 -- 243,262
0xA3B3 0x5EE3 # 廣 -- 243,263
0xA3B4 0x7D1A # 級 -- 243,264
0xA3B5 0x7A31 # 稱 -- 243,265
0xA3B6 0x7BA1 # 管 -- 243,266
0xA3B7 0x50F9 # 價 -- 243,267
0xA3B8 0x523B # 刻 -- 243,270
0xA3B9 0x7D44 # 組 -- 243,271
0xA3BA 0x4E45 # 久 -- 243,272
0xA3BB 0x7D30 # 細 -- 243,273
0xA3BC 0x826F # 良 -- 243,274
0xA3BD 0x9752 # 青 -- 243,275
0xA3BE 0x9078 # 選 -- 243,276
0xA3BF 0x6F38 # 漸 -- 243,277
0xA3C0 0x5F04 # 弄 -- 243,300
0xA3C1 0x53C3 # 參 -- 243,301
0xA3C2 0x6562 # 敢 -- 243,302
0xA3C3 0x5370 # 印 -- 243,303
0xA3C4 0x6B78 # 歸 -- 243,304
0xA3C5 0x5207 # 切 -- 243,305
0xA3C6 0x8077 # 職 -- 243,306
0xA3C7 0x88DD # 裝 -- 243,307
0xA3C8 0x756B # 畫 -- 243,310
0xA3C9 0x5C08 # 專 -- 243,311
0xA3CA 0x7D05 # 紅 -- 243,312
0xA3CB 0x96E8 # 雨 -- 243,313
0xA3CC 0x5373 # 即 -- 243,314
0xA3CD 0x8A8D # 認 -- 243,315
0xA3CE 0x6FDF # 濟 -- 243,316
0xA3CF 0x7247 # 片 -- 243,317
0xA3D0 0x990A # 養 -- 243,320
0xA3D1 0x91CF # 量 -- 243,321
0xA3D3 0x5FFD # 忽 -- 243,323
0xA3D4 0x822C # 般 -- 243,324
0xA3D5 0x5305 # 包 -- 243,325
0xA3D6 0x4EF6 # 件 -- 243,326
0xA3D7 0x8349 # 草 -- 243,327
0xA3D8 0x6F22 # 漢 -- 243,330
0xA3D9 0x723E # 爾 -- 243,331
0xA3DA 0x904D # 遍 -- 243,332
0xA3DB 0x6232 # 戲 -- 243,333
0xA3DC 0x8AF8 # 諸 -- 243,334
0xA3DD 0x8AB0 # 誰 -- 243,335
0xA3DE 0x7ADF # 竟 -- 243,336
0xA3DF 0x65E2 # 既 -- 243,337
0xA3E0 0x9109 # 鄉 -- 243,340
0xA3E1 0x80AF # 肯 -- 243,341
0xA3E2 0x6839 # 根 -- 243,342
0xA3E3 0x514D # 免 -- 243,343
0xA3E4 0x722D # 爭 -- 243,344
0xA3E5 0x5468 # 周 -- 243,345
0xA3E6 0x5566 # 啦 -- 243,346
0xA3E7 0x55AE # 單 -- 243,347
0xA3E8 0x7A7F # 穿 -- 243,350
0xA3E9 0x584A # 塊 -- 243,351
0xA3EA 0x521D # 初 -- 243,352
0xA3EB 0x91CC # 里 -- 243,353
0xA3EC 0x76E1 # 盡 -- 243,354
0xA3ED 0x8846 # 衆 -- 243,355
0xA3EE 0x6BDB # 毛 -- 243,356
0xA3EF 0x6B72 # 歲 -- 243,357
0xA3F0 0x8089 # 肉 -- 243,360
0xA3F1 0x9F4A # 齊 -- 243,361
0xA3F2 0x96C6 # 集 -- 243,362
0xA3F3 0x5DDE # 州 -- 243,363
0xA3F4 0x843D # 落 -- 243,364
0xA3F5 0x6025 # 急 -- 243,365
0xA3F6 0x5047 # 假 -- 243,366
0xA3F7 0x63A8 # 推 -- 243,367
0xA3F8 0x7968 # 票 -- 243,370
0xA3F9 0x7834 # 破 -- 243,371
0xA3FA 0x7537 # 男 -- 243,372
0xA3FB 0x5531 # 唱 -- 243,373
0xA3FC 0x5553 # 啓 -- 243,374
0xA3FD 0x611F # 感 -- 243,375
0xA3FE 0x554A # 啊 -- 243,376

View File

@@ -0,0 +1,189 @@
# "244" UNIHAN
0xA421 0x4F3C # 似 -- 244,041
0xA422 0x79D1 # 科 -- 244,042
0xA423 0x79AE # 禮 -- 244,043
0xA424 0x798F # 福 -- 244,044
0xA425 0x9632 # 防 -- 244,045
0xA426 0x6BBA # 殺 -- 244,046
0xA427 0x8AC7 # 談 -- 244,047
0xA428 0x4EE4 # 令 -- 244,050
0xA429 0x8CC7 # 資 -- 244,051
0xA42A 0x64DA # 據 -- 244,052
0xA42B 0x4FC4 # 俄 -- 244,053
0xA42C 0x7559 # 留 -- 244,054
0xA42D 0x811A # 脚 -- 244,055
0xA42E 0x5CF6 # 島 -- 244,056
0xA42F 0x5718 # 團 -- 244,057
0xA430 0x8CE3 # 賣 -- 244,060
0xA431 0x5FD7 # 志 -- 244,061
0xA432 0x62C9 # 拉 -- 244,062
0xA433 0x6B66 # 武 -- 244,063
0xA434 0x602A # 怪 -- 244,064
0xA435 0x4ED8 # 付 -- 244,065
0xA436 0x4FC2 # 係 -- 244,066
0xA437 0x725B # 牛 -- 244,067
0xA438 0x606F # 息 -- 244,070
0xA439 0x50B7 # 傷 -- 244,071
0xA43A 0x5BA2 # 客 -- 244,072
0xA43B 0x8A0E # 討 -- 244,073
0xA43C 0x96A8 # 隨 -- 244,074
0xA43D 0x8336 # 茶 -- 244,075
0xA43E 0x501F # 借 -- 244,076
0xA43F 0x885B # 衛 -- 244,077
0xA440 0x591C # 夜 -- 244,100
0xA441 0x7063 # 灣 -- 244,101
0xA442 0x806F # 聯 -- 244,102
0xA443 0x4E9E # 亞 -- 244,103
0xA444 0x8D95 # 趕 -- 244,104
0xA445 0x5C45 # 居 -- 244,105
0xA446 0x9152 # 酒 -- 244,106
0xA447 0x968A # 隊 -- 244,107
0xA448 0x9047 # 遇 -- 244,110
0xA449 0x5BCC # 富 -- 244,111
0xA44A 0x8B93 # 讓 -- 244,112
0xA44B 0x5BDF # 察 -- 244,113
0xA44C 0x5947 # 奇 -- 244,114
0xA44D 0x65AF # 斯 -- 244,115
0xA44E 0x7D00 # 紀 -- 244,116
0xA44F 0x683C # 格 -- 244,117
0xA450 0x6DF1 # 深 -- 244,120
0xA452 0x8FEB # 迫 -- 244,122
0xA453 0x7DCA # 緊 -- 244,123
0xA454 0x7E54 # 織 -- 244,124
0xA455 0x9CE5 # 鳥 -- 244,125
0xA456 0x6625 # 春 -- 244,126
0xA458 0x7B46 # 筆 -- 244,130
0xA459 0x66FF # 替 -- 244,131
0xA45A 0x5F71 # 影 -- 244,132
0xA45B 0x7C73 # 米 -- 244,133
0xA45C 0x4E82 # 亂 -- 244,134
0xA45D 0x51B7 # 冷 -- 244,135
0xA45E 0x59CB # 始 -- 244,136
0xA45F 0x8607 # 蘇 -- 244,137
0xA460 0x6050 # 恐 -- 244,140
0xA461 0x6CB9 # 油 -- 244,141
0xA462 0x65C1 # 旁 -- 244,142
0xA463 0x820A # 舊 -- 244,143
0xA464 0x5B97 # 宗 -- 244,144
0xA465 0x54ED # 哭 -- 244,145
0xA466 0x963F # 阿 -- 244,146
0xA467 0x88FD # 製 -- 244,147
0xA468 0x71C8 # 燈 -- 244,150
0xA469 0x6B4C # 歌 -- 244,151
0xA46A 0x7761 # 睡 -- 244,152
0xA46B 0x5712 # 園 -- 244,153
0xA46C 0x9DC4 # 鷄 -- 244,154
0xA46D 0x5F85 # 待 -- 244,155
0xA46E 0x5C0E # 導 -- 244,156
0xA46F 0x537B # 卻 -- 244,157
0xA470 0x9F20 # 鼠 -- 244,160
0xA471 0x9805 # 項 -- 244,161
0xA472 0x53E5 # 句 -- 244,162
0xA473 0x5200 # 刀 -- 244,163
0xA474 0x5340 # 區 -- 244,164
0xA475 0x8A34 # 訴 -- 244,165
0xA476 0x4EA6 # 亦 -- 244,166
0xA477 0x8003 # 考 -- 244,167
0xA478 0x589E # 增 -- 244,170
0xA479 0x9678 # 陸 -- 244,171
0xA47A 0x5E6B # 幫 -- 244,172
0xA47B 0x8F15 # 輕 -- 244,173
0xA47C 0x6628 # 昨 -- 244,174
0xA47D 0x5E8F # 序 -- 244,175
0xA47E 0x7DE8 # 編 -- 244,176
0xA4A1 0x9810 # 預 -- 244,241
0xA4A2 0x4EAC # 京 -- 244,242
0xA4A3 0x590F # 夏 -- 244,243
0xA4A4 0x96F2 # 雲 -- 244,244
0xA4A5 0x5177 # 具 -- 244,245
0xA4A6 0x8D8A # 越 -- 244,246
0xA4A7 0x5BA4 # 室 -- 244,247
0xA4A8 0x54C8 # 哈 -- 244,250
0xA4A9 0x8CEA # 質 -- 244,251
0xA4AA 0x7D19 # 紙 -- 244,252
0xA4AB 0x9418 # 鐘 -- 244,253
0xA4AC 0x4EAE # 亮 -- 244,254
0xA4AD 0x907A # 遺 -- 244,255
0xA4AE 0x60E1 # 惡 -- 244,256
0xA4AF 0x674E # 李 -- 244,257
0xA4B0 0x805E # 聞 -- 244,260
0xA4B1 0x6557 # 敗 -- 244,261
0xA4B2 0x4ECD # 仍 -- 244,262
0xA4B3 0x8CA1 # 財 -- 244,263
0xA4B4 0x6D32 # 洲 -- 244,264
0xA4B5 0x8ABF # 調 -- 244,265
0xA4B6 0x91AB # 醫 -- 244,266
0xA4B7 0x8CA8 # 貨 -- 244,267
0xA4B8 0x570D # 圍 -- 244,270
0xA4B9 0x72D7 # 狗 -- 244,271
0xA4BA 0x898F # 規 -- 244,272
0xA4BB 0x58DE # 壞 -- 244,273
0xA4BC 0x6389 # 掉 -- 244,274
0xA4BD 0x547C # 呼 -- 244,275
0xA4BE 0x7A0B # 程 -- 244,276
0xA4BF 0x5B6B # 孫 -- 244,277
0xA4C0 0x5144 # 兄 -- 244,300
0xA4C1 0x6697 # 暗 -- 244,301
0xA4C2 0x793A # 示 -- 244,302
0xA4C3 0x532A # 匪 -- 244,303
0xA4C4 0x8F03 # 較 -- 244,304
0xA4C5 0x53F8 # 司 -- 244,305
0xA4C6 0x932F # 錯 -- 244,306
0xA4C7 0x8A66 # 試 -- 244,307
0xA4C8 0x9673 # 陳 -- 244,310
0xA4C9 0x5DEE # 差 -- 244,311
0xA4CA 0x6295 # 投 -- 244,312
0xA4CB 0x75DB # 痛 -- 244,313
0xA4CC 0x7E94 # 纔 -- 244,314
0xA4CD 0x5BF6 # 寶 -- 244,315
0xA4CE 0x6C7D # 汽 -- 244,316
0xA4CF 0x81F4 # 致 -- 244,317
0xA4D0 0x89D2 # 角 -- 244,320
0xA4D1 0x7D42 # 終 -- 244,321
0xA4D2 0x8449 # 葉 -- 244,322
0xA4D3 0x6D3E # 派 -- 244,323
0xA4D4 0x8DF3 # 跳 -- 244,324
0xA4D5 0x505C # 停 -- 244,325
0xA4D6 0x71D2 # 燒 -- 244,326
0xA4D7 0x6B62 # 止 -- 244,327
0xA4D8 0x6E2F # 港 -- 244,330
0xA4D9 0x5584 # 善 -- 244,331
0xA4DA 0x5F15 # 引 -- 244,332
0xA4DB 0x627F # 承 -- 244,333
0xA4DC 0x670B # 朋 -- 244,334
0xA4DD 0x8F2A # 輪 -- 244,335
0xA4DE 0x7AD9 # 站 -- 244,336
0xA4DF 0x6162 # 慢 -- 244,337
0xA4E0 0x7368 # 獨 -- 244,340
0xA4E1 0x7D72 # 絲 -- 244,341
0xA4E2 0x65B7 # 斷 -- 244,342
0xA4E3 0x5E78 # 幸 -- 244,343
0xA4E4 0x6301 # 持 -- 244,344
0xA4E5 0x8B77 # 護 -- 244,345
0xA4E6 0x91CE # 野 -- 244,346
0xA4E7 0x5E97 # 店 -- 244,347
0xA4E8 0x5FA9 # 復 -- 244,350
0xA4E9 0x5C24 # 尤 -- 244,351
0xA4EA 0x655D # 敝 -- 244,352
0xA4EB 0x9769 # 革 -- 244,353
0xA4EC 0x67E5 # 查 -- 244,354
0xA4ED 0x8B1D # 謝 -- 244,355
0xA4EE 0x76DB # 盛 -- 244,356
0xA4EF 0x8853 # 術 -- 244,357
0xA4F0 0x9996 # 首 -- 244,360
0xA4F1 0x7562 # 畢 -- 244,361
0xA4F2 0x85CF # 藏 -- 244,362
0xA4F3 0x7DF4 # 練 -- 244,363
0xA4F4 0x4F4E # 低 -- 244,364
0xA4F5 0x4E43 # 乃 -- 244,365
0xA4F6 0x96D9 # 雙 -- 244,366
0xA4F7 0x9760 # 靠 -- 244,367
0xA4F8 0x4FEE # 修 -- 244,370
0xA4F9 0x6751 # 村 -- 244,371
0xA4FA 0x52AA # 努 -- 244,372
0xA4FB 0x4F9D # 依 -- 244,373
0xA4FC 0x4E4E # 乎 -- 244,374
0xA4FD 0x5EAD # 庭 -- 244,375
0xA4FE 0x83DC # 菜 -- 244,376

View File

@@ -0,0 +1,191 @@
# "245" UNIHAN
0xA521 0x89BA # 覺 -- 245,041
0xA522 0x7AEF # 端 -- 245,042
0xA523 0x7956 # 祖 -- 245,043
0xA524 0x5427 # 吧 -- 245,044
0xA525 0x71DF # 營 -- 245,045
0xA526 0x65CF # 族 -- 245,046
0xA527 0x6D17 # 洗 -- 245,047
0xA528 0x8CB4 # 貴 -- 245,050
0xA529 0x6EAB # 溫 -- 245,051
0xA52A 0x862D # 蘭 -- 245,052
0xA52B 0x8FA8 # 辨 -- 245,053
0xA52C 0x8CAC # 責 -- 245,054
0xA52D 0x6E96 # 準 -- 245,055
0xA52E 0x6848 # 案 -- 245,056
0xA52F 0x87F2 # 蟲 -- 245,057
0xA530 0x8996 # 視 -- 245,060
0xA531 0x7F8A # 羊 -- 245,061
0xA532 0x7E8C # 續 -- 245,062
0xA533 0x63DB # 換 -- 245,063
0xA534 0x6574 # 整 -- 245,064
0xA535 0x6E56 # 湖 -- 245,065
0xA536 0x9644 # 附 -- 245,066
0xA537 0x5F0F # 式 -- 245,067
0xA538 0x62B5 # 抵 -- 245,070
0xA539 0x6B77 # 歷 -- 245,071
0xA53A 0x5C04 # 射 -- 245,072
0xA53B 0x5DE6 # 左 -- 245,073
0xA53C 0x72C0 # 狀 -- 245,074
0xA53D 0x7F85 # 羅 -- 245,075
0xA53E 0x81C9 # 臉 -- 245,076
0xA53F 0x67D0 # 某 -- 245,077
0xA540 0x6C0F # 氏 -- 245,100
0xA541 0x9E97 # 麗 -- 245,101
0xA542 0x62DC # 拜 -- 245,102
0xA543 0x57FA # 基 -- 245,103
0xA544 0x80CC # 背 -- 245,104
0xA545 0x7D55 # 絕 -- 245,105
0xA546 0x5A18 # 娘 -- 245,106
0xA547 0x9B27 # 鬧 -- 245,107
0xA548 0x514B # 克 -- 245,110
0xA549 0x4E58 # 乘 -- 245,111
0xA54A 0x6F14 # 演 -- 245,112
0xA54B 0x5C6C # 屬 -- 245,113
0xA54C 0x5C55 # 展 -- 245,114
0xA54D 0x9000 # 退 -- 245,115
0xA54E 0x6A4B # 橋 -- 245,116
0xA54F 0x97FF # 響 -- 245,117
0xA550 0x8070 # 聰 -- 245,120
0xA551 0x9928 # 館 -- 245,121
0xA552 0x9003 # 逃 -- 245,122
0xA553 0x666F # 景 -- 245,123
0xA554 0x9A5A # 驚 -- 245,124
0xA555 0x969B # 際 -- 245,125
0xA556 0x4F9B # 供 -- 245,126
0xA557 0x8005 # 者 -- 245,127
0xA558 0x6297 # 抗 -- 245,130
0xA559 0x8C93 # 貓 -- 245,131
0xA55A 0x8CFD # 賽 -- 245,132
0xA55B 0x5B88 # 守 -- 245,133
0xA55C 0x775B # 睛 -- 245,134
0xA55D 0x5145 # 充 -- 245,135
0xA55E 0x8499 # 蒙 -- 245,136
0xA55F 0x9999 # 香 -- 245,137
0xA560 0x8B49 # 證 -- 245,140
0xA561 0x58D3 # 壓 -- 245,141
0xA562 0x59D4 # 委 -- 245,142
0xA563 0x9EE8 # 黨 -- 245,143
0xA564 0x7565 # 略 -- 245,144
0xA565 0x525B # 剛 -- 245,145
0xA566 0x51E1 # 凡 -- 245,146
0xA567 0x5C1A # 尚 -- 245,147
0xA568 0x5BC6 # 密 -- 245,150
0xA569 0x93E1 # 鏡 -- 245,151
0xA56A 0x6C89 # 沉 -- 245,152
0xA56B 0x5473 # 味 -- 245,153
0xA56C 0x6D1E # 洞 -- 245,154
0xA56D 0x7389 # 玉 -- 245,155
0xA56E 0x5802 # 堂 -- 245,156
0xA56F 0x5EA7 # 座 -- 245,157
0xA570 0x64D4 # 擔 -- 245,160
0xA571 0x8857 # 街 -- 245,161
0xA572 0x5F8B # 律 -- 245,162
0xA573 0x9A57 # 驗 -- 245,163
0xA574 0x53E6 # 另 -- 245,164
0xA575 0x8033 # 耳 -- 245,165
0xA576 0x66C9 # 曉 -- 245,166
0xA577 0x6C38 # 永 -- 245,167
0xA578 0x6383 # 掃 -- 245,170
0xA579 0x5FAE # 微 -- 245,171
0xA57A 0x7F6E # 置 -- 245,172
0xA57B 0x6563 # 散 -- 245,173
0xA57C 0x77ED # 短 -- 245,174
0xA57D 0x9802 # 頂 -- 245,175
0xA57E 0x9F8D # 龍 -- 245,176
0xA5A1 0x5CB8 # 岸 -- 245,241
0xA5A2 0x7E7C # 繼 -- 245,242
0xA5A3 0x5634 # 嘴 -- 245,243
0xA5A4 0x9650 # 限 -- 245,244
0xA5A5 0x6668 # 晨 -- 245,245
0xA5A6 0x5217 # 列 -- 245,246
0xA5A7 0x7532 # 甲 -- 245,247
0xA5A8 0x7AF9 # 竹 -- 245,250
0xA5A9 0x96AA # 險 -- 245,251
0xA5AA 0x8C61 # 象 -- 245,252
0xA5AB 0x975C # 靜 -- 245,253
0xA5AC 0x5438 # 吸 -- 245,254
0xA5AD 0x9818 # 領 -- 245,255
0xA5AE 0x4EFD # 份 -- 245,256
0xA5AF 0x5065 # 健 -- 245,257
0xA5B0 0x56FA # 固 -- 245,260
0xA5B1 0x5371 # 危 -- 245,261
0xA5B2 0x9E7D # 鹽 -- 245,262
0xA5B3 0x8FCE # 迎 -- 245,263
0xA5B4 0x6392 # 排 -- 245,264
0xA5B5 0x50BE # 傾 -- 245,265
0xA5B6 0x7C21 # 簡 -- 245,266
0xA5B7 0x6B50 # 歐 -- 245,267
0xA5B8 0x6C99 # 沙 -- 245,270
0xA5B9 0x9285 # 銅 -- 245,271
0xA5BA 0x6EC5 # 滅 -- 245,272
0xA5BB 0x65D7 # 旗 -- 245,273
0xA5BC 0x9014 # 途 -- 245,274
0xA5BD 0x5B58 # 存 -- 245,275
0xA5BE 0x8A02 # 訂 -- 245,276
0xA5BF 0x76CA # 益 -- 245,277
0xA5C0 0x85E5 # 藥 -- 245,300
0xA5C1 0x9EBB # 麻 -- 245,301
0xA5C2 0x5F48 # 彈 -- 245,302
0xA5C3 0x8A5E # 詞 -- 245,303
0xA5C4 0x4F38 # 伸 -- 245,304
0xA5C5 0x81E8 # 臨 -- 245,305
0xA5C6 0x6349 # 捉 -- 245,306
0xA5C7 0x592E # 央 -- 245,307
0xA5C8 0x53F2 # 史 -- 245,310
0xA5C9 0x5C3A # 尺 -- 245,311
0xA5CA 0x9069 # 適 -- 245,312
0xA5CB 0x5EB7 # 康 -- 245,313
0xA5CC 0x7686 # 皆 -- 245,314
0xA5CD 0x68C9 # 棉 -- 245,315
0xA5CE 0x4F11 # 休 -- 245,316
0xA5CF 0x5C0B # 尋 -- 245,317
0xA5D0 0x652F # 支 -- 245,320
0xA5D1 0x59BB # 妻 -- 245,321
0xA5D2 0x5BA3 # 宣 -- 245,322
0xA5D3 0x679D # 枝 -- 245,323
0xA5D4 0x723A # 爺 -- 245,324
0xA5D5 0x7A4D # 積 -- 245,325
0xA5D6 0x8CA0 # 負 -- 245,326
0xA5D7 0x5E2D # 席 -- 245,327
0xA5D8 0x5439 # 吹 -- 245,330
0xA5D9 0x8702 # 蜂 -- 245,331
0xA5DA 0x6416 # 搖 -- 245,332
0xA5DB 0x5E95 # 底 -- 245,333
0xA5DC 0x9EA5 # 麥 -- 245,334
0xA5DD 0x9700 # 需 -- 245,335
0xA5DE 0x677F # 板 -- 245,336
0xA5DF 0x51AC # 冬 -- 245,337
0xA5E0 0x838A # 莊 -- 245,340
0xA5E1 0x653B # 攻 -- 245,341
0xA5E2 0x684C # 桌 -- 245,342
0xA5E3 0x559D # 喝 -- 245,343
0xA5E4 0x6982 # 概 -- 245,344
0xA5E5 0x8166 # 腦 -- 245,345
0xA5E6 0x6236 # 戶 -- 245,346
0xA5E7 0x69CD # 槍 -- 245,347
0xA5E8 0x6E38 # 游 -- 245,350
0xA5E9 0x88DC # 補 -- 245,351
0xA5EA 0x6068 # 恨 -- 245,352
0xA5EB 0x7570 # 異 -- 245,353
0xA5EC 0x8840 # 血 -- 245,354
0xA5ED 0x6575 # 敵 -- 245,355
0xA5EE 0x5A01 # 威 -- 245,356
0xA5EF 0x96C4 # 雄 -- 245,357
0xA5F0 0x5713 # 圓 -- 245,360
0xA5F1 0x7518 # 甘 -- 245,361
0xA5F2 0x5EE0 # 廠 -- 245,362
0xA5F3 0x8C6C # 豬 -- 245,363
0xA5F4 0x8C48 # 豈 -- 245,364
0xA5F5 0x52C7 # 勇 -- 245,365
0xA5F6 0x7AE0 # 章 -- 245,366
0xA5F7 0x53F3 # 右 -- 245,367
0xA5F8 0x7239 # 爹 -- 245,370
0xA5F9 0x7260 # 牠 -- 245,371
0xA5FA 0x5024 # 値 -- 245,372
0xA5FB 0x7BC4 # 範 -- 245,373
0xA5FC 0x7CD6 # 糖 -- 245,374
0xA5FD 0x6750 # 材 -- 245,375
0xA5FE 0x5347 # 升 -- 245,376

View File

@@ -0,0 +1,191 @@
# "246" UNIHAN
0xA621 0x6F54 # 潔 -- 246,041
0xA622 0x5883 # 境 -- 246,042
0xA623 0x6190 # 憐 -- 246,043
0xA624 0x65BD # 施 -- 246,044
0xA625 0x62B1 # 抱 -- 246,045
0xA626 0x80A5 # 肥 -- 246,046
0xA627 0x54E9 # 哩 -- 246,047
0xA628 0x9732 # 露 -- 246,050
0xA629 0x56F0 # 困 -- 246,051
0xA62A 0x5275 # 創 -- 246,052
0xA62B 0x9F13 # 鼓 -- 246,053
0xA62C 0x51B0 # 冰 -- 246,054
0xA62D 0x9867 # 顧 -- 246,055
0xA62E 0x822A # 航 -- 246,056
0xA62F 0x5C01 # 封 -- 246,057
0xA630 0x7235 # 爵 -- 246,060
0xA631 0x5B63 # 季 -- 246,061
0xA632 0x62DB # 招 -- 246,062
0xA633 0x7BC9 # 築 -- 246,063
0xA634 0x86CB # 蛋 -- 246,064
0xA635 0x666E # 普 -- 246,065
0xA636 0x9806 # 順 -- 246,066
0xA637 0x5E79 # 幹 -- 246,067
0xA638 0x5F7C # 彼 -- 246,070
0xA639 0x901F # 速 -- 246,071
0xA63A 0x7C89 # 粉 -- 246,072
0xA63B 0x6163 # 慣 -- 246,073
0xA63C 0x596C # 奬 -- 246,074
0xA63D 0x53D4 # 叔 -- 246,075
0xA63E 0x79C1 # 私 -- 246,076
0xA63F 0x4F48 # 佈 -- 246,077
0xA640 0x4F2F # 伯 -- 246,100
0xA641 0x7159 # 煙 -- 246,101
0xA642 0x9192 # 醒 -- 246,102
0xA643 0x7591 # 疑 -- 246,103
0xA644 0x864E # 虎 -- 246,104
0xA645 0x96DC # 雜 -- 246,105
0xA646 0x6CBF # 沿 -- 246,106
0xA647 0x4FD7 # 俗 -- 246,107
0xA648 0x7240 # 牀 -- 246,110
0xA649 0x72E0 # 狠 -- 246,111
0xA64A 0x6BB5 # 段 -- 246,112
0xA64B 0x821E # 舞 -- 246,113
0xA64C 0x7E3E # 績 -- 246,114
0xA64D 0x79CB # 秋 -- 246,115
0xA64E 0x767B # 登 -- 246,116
0xA64F 0x7F6A # 罪 -- 246,117
0xA650 0x56B4 # 嚴 -- 246,120
0xA651 0x6BD2 # 毒 -- 246,121
0xA652 0x64CA # 擊 -- 246,122
0xA653 0x6CC1 # 況 -- 246,123
0xA654 0x7AAE # 窮 -- 246,124
0xA655 0x7DAD # 維 -- 246,125
0xA656 0x52F8 # 勸 -- 246,126
0xA657 0x756A # 番 -- 246,127
0xA658 0x4E39 # 丹 -- 246,130
0xA659 0x78BA # 確 -- 246,131
0xA65A 0x7A05 # 稅 -- 246,132
0xA65B 0x62CD # 拍 -- 246,133
0xA65C 0x7A97 # 窗 -- 246,134
0xA65D 0x8DA3 # 趣 -- 246,135
0xA65E 0x74B0 # 環 -- 246,136
0xA65F 0x5747 # 均 -- 246,137
0xA660 0x7D20 # 素 -- 246,140
0xA661 0x6A6B # 橫 -- 246,141
0xA662 0x59D1 # 姑 -- 246,142
0xA663 0x65C5 # 旅 -- 246,143
0xA664 0x986F # 顯 -- 246,144
0xA665 0x66F2 # 曲 -- 246,145
0xA666 0x77A7 # 瞧 -- 246,146
0xA667 0x558A # 喊 -- 246,147
0xA668 0x5426 # 否 -- 246,150
0xA669 0x5BC4 # 寄 -- 246,151
0xA66A 0x5E55 # 幕 -- 246,152
0xA66B 0x6012 # 怒 -- 246,153
0xA66C 0x9B2D # 鬭 -- 246,154
0xA66D 0x6CE5 # 泥 -- 246,155
0xA66E 0x614B # 態 -- 246,156
0xA66F 0x9748 # 靈 -- 246,157
0xA670 0x695A # 楚 -- 246,160
0xA671 0x5999 # 妙 -- 246,161
0xA672 0x639B # 掛 -- 246,162
0xA673 0x5F31 # 弱 -- 246,163
0xA674 0x6DE8 # 淨 -- 246,164
0xA675 0x5FD8 # 忘 -- 246,165
0xA676 0x6FC0 # 激 -- 246,166
0xA677 0x9AA8 # 骨 -- 246,167
0xA678 0x7687 # 皇 -- 246,170
0xA679 0x7947 # 祇 -- 246,171
0xA67A 0x54EA # 哪 -- 246,172
0xA67B 0x59D3 # 姓 -- 246,173
0xA67C 0x719F # 熟 -- 246,174
0xA67D 0x4ED9 # 仙 -- 246,175
0xA67E 0x5949 # 奉 -- 246,176
0xA6A1 0x9AEE # 髮 -- 246,241
0xA6A2 0x4E92 # 互 -- 246,242
0xA6A3 0x6176 # 慶 -- 246,243
0xA6A4 0x63A1 # 採 -- 246,244
0xA6A5 0x9813 # 頓 -- 246,245
0xA6A6 0x7BC7 # 篇 -- 246,246
0xA6A7 0x4EA1 # 亡 -- 246,247
0xA6A8 0x7DA0 # 綠 -- 246,250
0xA6A9 0x5FCD # 忍 -- 246,251
0xA6AA 0x5974 # 奴 -- 246,252
0xA6AB 0x84CB # 蓋 -- 246,253
0xA6AC 0x6309 # 按 -- 246,254
0xA6AD 0x93AD # 鎭 -- 246,255
0xA6AE 0x690D # 植 -- 246,256
0xA6AF 0x7DE3 # 緣 -- 246,257
0xA6B0 0x8F09 # 載 -- 246,260
0xA6B1 0x8C50 # 豐 -- 246,261
0xA6B2 0x5018 # 倘 -- 246,262
0xA6B3 0x5BD2 # 寒 -- 246,263
0xA6B4 0x76E3 # 監 -- 246,264
0xA6B5 0x7D0D # 納 -- 246,265
0xA6B6 0x6DDA # 淚 -- 246,266
0xA6B7 0x5E16 # 帖 -- 246,267
0xA6B8 0x7CE7 # 糧 -- 246,270
0xA6B9 0x5354 # 協 -- 246,271
0xA6BA 0x8B66 # 警 -- 246,272
0xA6BB 0x64CD # 操 -- 246,273
0xA6BC 0x675F # 束 -- 246,274
0xA6BD 0x67B6 # 架 -- 246,275
0xA6BE 0x91DD # 針 -- 246,276
0xA6BF 0x60DC # 惜 -- 246,277
0xA6C0 0x9130 # 鄰 -- 246,300
0xA6C1 0x523A # 刺 -- 246,301
0xA6C2 0x7070 # 灰 -- 246,302
0xA6C3 0x70C8 # 烈 -- 246,303
0xA6C4 0x912D # 鄭 -- 246,304
0xA6C5 0x6B3A # 欺 -- 246,305
0xA6C6 0x9663 # 陣 -- 246,306
0xA6C7 0x638C # 掌 -- 246,307
0xA6C8 0x7BAD # 箭 -- 246,310
0xA6C9 0x53DF # 叟 -- 246,311
0xA6CA 0x8A0A # 訊 -- 246,312
0xA6CB 0x80E1 # 胡 -- 246,313
0xA6CC 0x7926 # 礦 -- 246,314
0xA6CD 0x8056 # 聖 -- 246,315
0xA6CE 0x58C1 # 壁 -- 246,316
0xA6CF 0x9031 # 週 -- 246,317
0xA6D0 0x5BAE # 宮 -- 246,320
0xA6D1 0x83AB # 莫 -- 246,321
0xA6D2 0x5C3E # 尾 -- 246,322
0xA6D3 0x66B4 # 暴 -- 246,323
0xA6D4 0x5A46 # 婆 -- 246,324
0xA6D5 0x502B # 倫 -- 246,325
0xA6D6 0x5283 # 劃 -- 246,326
0xA6D7 0x8F9B # 辛 -- 246,327
0xA6D8 0x98EE # 飮 -- 246,330
0xA6D9 0x5BE7 # 寧 -- 246,331
0xA6DA 0x8A13 # 訓 -- 246,332
0xA6DB 0x676F # 杯 -- 246,333
0xA6DC 0x5DDD # 川 -- 246,334
0xA6DD 0x542B # 含 -- 246,335
0xA6DE 0x9670 # 陰 -- 246,336
0xA6DF 0x9063 # 遣 -- 246,337
0xA6E0 0x8FAD # 辭 -- 246,340
0xA6E1 0x4E08 # 丈 -- 246,341
0xA6E2 0x526F # 副 -- 246,342
0xA6E3 0x5433 # 吳 -- 246,343
0xA6E4 0x8B00 # 謀 -- 246,344
0xA6E5 0x914D # 配 -- 246,345
0xA6E6 0x984F # 顏 -- 246,346
0xA6E7 0x526A # 剪 -- 246,347
0xA6E8 0x9042 # 遂 -- 246,350
0xA6E9 0x76E4 # 盤 -- 246,351
0xA6EA 0x5B54 # 孔 -- 246,352
0xA6EB 0x9694 # 隔 -- 246,353
0xA6EC 0x68D2 # 棒 -- 246,354
0xA6ED 0x4FB5 # 侵 -- 246,355
0xA6EE 0x7981 # 禁 -- 246,356
0xA6EF 0x5976 # 奶 -- 246,357
0xA6F0 0x5077 # 偷 -- 246,360
0xA6F1 0x8EDF # 軟 -- 246,361
0xA6F2 0x978B # 鞋 -- 246,362
0xA6F3 0x888B # 袋 -- 246,363
0xA6F4 0x73E0 # 珠 -- 246,364
0xA6F5 0x6CE2 # 波 -- 246,365
0xA6F6 0x7259 # 牙 -- 246,366
0xA6F7 0x722C # 爬 -- 246,367
0xA6F8 0x4E59 # 乙 -- 246,370
0xA6F9 0x52E4 # 勤 -- 246,371
0xA6FA 0x9B6F # 魯 -- 246,372
0xA6FB 0x512A # 優 -- 246,373
0xA6FC 0x7F75 # 罵 -- 246,374
0xA6FD 0x535A # 博 -- 246,375
0xA6FE 0x8FF0 # 述 -- 246,376

View File

@@ -0,0 +1,191 @@
# "247" UNIHAN
0xA721 0x8D0A # 贊 -- 247,041
0xA722 0x7248 # 版 -- 247,042
0xA723 0x6B98 # 殘 -- 247,043
0xA724 0x6D6A # 浪 -- 247,044
0xA725 0x596A # 奪 -- 247,045
0xA726 0x4EC1 # 仁 -- 247,046
0xA727 0x812B # 脫 -- 247,047
0xA728 0x6B32 # 欲 -- 247,050
0xA729 0x594F # 奏 -- 247,051
0xA72A 0x6ED1 # 滑 -- 247,052
0xA72B 0x7246 # 牆 -- 247,053
0xA72C 0x964D # 降 -- 247,054
0xA72D 0x6E21 # 渡 -- 247,055
0xA72E 0x50C5 # 僅 -- 247,056
0xA72F 0x96F6 # 零 -- 247,057
0xA730 0x6A21 # 模 -- 247,060
0xA731 0x5F69 # 彩 -- 247,061
0xA732 0x5509 # 唉 -- 247,062
0xA733 0x5C64 # 層 -- 247,063
0xA734 0x6E1B # 減 -- 247,064
0xA735 0x5E3D # 帽 -- 247,065
0xA736 0x795D # 祝 -- 247,066
0xA737 0x7FFB # 翻 -- 247,067
0xA738 0x5922 # 夢 -- 247,070
0xA739 0x6101 # 愁 -- 247,071
0xA73A 0x6D25 # 津 -- 247,072
0xA73B 0x79FB # 移 -- 247,073
0xA73C 0x5C3C # 尼 -- 247,074
0xA73D 0x5C0A # 尊 -- 247,075
0xA73E 0x5E7C # 幼 -- 247,076
0xA73F 0x8A69 # 詩 -- 247,077
0xA740 0x4ED4 # 仔 -- 247,100
0xA741 0x5805 # 堅 -- 247,101
0xA742 0x8AA0 # 誠 -- 247,102
0xA743 0x80DE # 胞 -- 247,103
0xA744 0x69AE # 榮 -- 247,104
0xA745 0x6DFA # 淺 -- 247,105
0xA746 0x70CF # 烏 -- 247,106
0xA747 0x5DE7 # 巧 -- 247,107
0xA748 0x5510 # 唐 -- 247,110
0xA749 0x96F7 # 雷 -- 247,111
0xA74A 0x7169 # 煩 -- 247,112
0xA74B 0x7164 # 煤 -- 247,113
0xA74C 0x5BF8 # 寸 -- 247,114
0xA74D 0x6D89 # 涉 -- 247,115
0xA74E 0x8F38 # 輸 -- 247,116
0xA74F 0x8332 # 茲 -- 247,117
0xA750 0x95B1 # 閱 -- 247,120
0xA751 0x8836 # 蠶 -- 247,121
0xA752 0x518A # 冊 -- 247,122
0xA753 0x4E4F # 乏 -- 247,123
0xA754 0x85DD # 藝 -- 247,124
0xA755 0x559A # 喚 -- 247,125
0xA756 0x90F5 # 郵 -- 247,126
0xA757 0x7267 # 牧 -- 247,127
0xA758 0x5DE8 # 巨 -- 247,130
0xA759 0x614C # 慌 -- 247,131
0xA75A 0x6843 # 桃 -- 247,132
0xA75B 0x4F5B # 佛 -- 247,133
0xA75C 0x596E # 奮 -- 247,134
0xA75D 0x74F6 # 瓶 -- 247,135
0xA75E 0x8FFD # 追 -- 247,136
0xA75F 0x7D1B # 紛 -- 247,137
0xA760 0x6C57 # 汗 -- 247,140
0xA761 0x5192 # 冒 -- 247,141
0xA762 0x59CA # 姊 -- 247,142
0xA763 0x96EA # 雪 -- 247,143
0xA764 0x585E # 塞 -- 247,144
0xA765 0x57DF # 域 -- 247,145
0xA766 0x6BEB # 毫 -- 247,146
0xA767 0x6DB2 # 液 -- 247,147
0xA768 0x667A # 智 -- 247,150
0xA769 0x5446 # 呆 -- 247,151
0xA76A 0x6E90 # 源 -- 247,152
0xA76B 0x8CDE # 賞 -- 247,153
0xA76C 0x67F4 # 柴 -- 247,154
0xA76D 0x6C60 # 池 -- 247,155
0xA76E 0x51C6 # 准 -- 247,156
0xA76F 0x72D0 # 狐 -- 247,157
0xA770 0x8377 # 荷 -- 247,160
0xA771 0x8A2A # 訪 -- 247,161
0xA772 0x63DA # 揚 -- 247,162
0xA773 0x5049 # 偉 -- 247,163
0xA774 0x81E3 # 臣 -- 247,164
0xA775 0x66AB # 暫 -- 247,165
0xA776 0x5E72 # 干 -- 247,166
0xA777 0x64E1 # 擡 -- 247,167
0xA778 0x632F # 振 -- 247,170
0xA779 0x4F0A # 伊 -- 247,171
0xA77A 0x8805 # 蠅 -- 247,172
0xA77B 0x7387 # 率 -- 247,173
0xA77C 0x62FE # 拾 -- 247,174
0xA77D 0x7B56 # 策 -- 247,175
0xA77E 0x8CA7 # 貧 -- 247,176
0xA7A1 0x640D # 損 -- 247,241
0xA7A2 0x5289 # 劉 -- 247,242
0xA7A3 0x7897 # 碗 -- 247,243
0xA7A4 0x5EF3 # 廳 -- 247,244
0xA7A5 0x6DE1 # 淡 -- 247,245
0xA7A6 0x74DC # 瓜 -- 247,246
0xA7A7 0x63A2 # 探 -- 247,247
0xA7A8 0x677E # 松 -- 247,250
0xA7A9 0x907F # 避 -- 247,251
0xA7AA 0x60DF # 惟 -- 247,252
0xA7AB 0x7CFB # 系 -- 247,253
0xA7AC 0x8C46 # 豆 -- 247,254
0xA7AD 0x6234 # 戴 -- 247,255
0xA7AE 0x871C # 蜜 -- 247,256
0xA7AF 0x6B20 # 欠 -- 247,257
0xA7B0 0x8B02 # 謂 -- 247,260
0xA7B1 0x885D # 衝 -- 247,261
0xA7B2 0x5FE0 # 忠 -- 247,262
0xA7B3 0x8015 # 耕 -- 247,263
0xA7B4 0x5154 # 兔 -- 247,264
0xA7B5 0x4E8E # 于 -- 247,265
0xA7B6 0x6696 # 暖 -- 247,266
0xA7B7 0x7375 # 獵 -- 247,267
0xA7B8 0x50D1 # 僑 -- 247,270
0xA7B9 0x8216 # 舖 -- 247,271
0xA7BA 0x6191 # 憑 -- 247,272
0xA7BB 0x6148 # 慈 -- 247,273
0xA7BC 0x707D # 災 -- 247,274
0xA7BD 0x64AD # 播 -- 247,275
0xA7BE 0x89BD # 覽 -- 247,276
0xA7BF 0x9304 # 錄 -- 247,277
0xA7C0 0x6CF0 # 泰 -- 247,300
0xA7C1 0x925B # 鉛 -- 247,301
0xA7C2 0x75BE # 疾 -- 247,302
0xA7C3 0x73BB # 玻 -- 247,303
0xA7C4 0x7A3B # 稻 -- 247,304
0xA7C5 0x4FAE # 侮 -- 247,305
0xA7C6 0x50B5 # 債 -- 247,306
0xA7C7 0x5237 # 刷 -- 247,307
0xA7C8 0x8352 # 荒 -- 247,310
0xA7C9 0x8108 # 脈 -- 247,311
0xA7CA 0x8AA4 # 誤 -- 247,312
0xA7CB 0x5141 # 允 -- 247,313
0xA7CC 0x5954 # 奔 -- 247,314
0xA7CD 0x809A # 肚 -- 247,315
0xA7CE 0x7E69 # 繩 -- 247,316
0xA7CF 0x90CE # 郎 -- 247,317
0xA7D0 0x61F7 # 懷 -- 247,320
0xA7D1 0x8667 # 虧 -- 247,321
0xA7D2 0x5272 # 割 -- 247,322
0xA7D3 0x9589 # 閉 -- 247,323
0xA7D4 0x9010 # 逐 -- 247,324
0xA7D5 0x984D # 額 -- 247,325
0xA7D6 0x9920 # 餠 -- 247,326
0xA7D7 0x7210 # 爐 -- 247,327
0xA7D8 0x64FA # 擺 -- 247,330
0xA7D9 0x868A # 蚊 -- 247,331
0xA7DA 0x8A73 # 詳 -- 247,332
0xA7DB 0x9072 # 遲 -- 247,333
0xA7DC 0x865B # 虛 -- 247,334
0xA7DD 0x606D # 恭 -- 247,335
0xA7DE 0x9F3B # 鼻 -- 247,336
0xA7DF 0x9D09 # 鴉 -- 247,337
0xA7E0 0x61B2 # 憲 -- 247,340
0xA7E1 0x7A81 # 突 -- 247,341
0xA7E2 0x79C0 # 秀 -- 247,342
0xA7E3 0x5806 # 堆 -- 247,343
0xA7E4 0x9913 # 餓 -- 247,344
0xA7E5 0x64E6 # 擦 -- 247,345
0xA7E6 0x4ECB # 介 -- 247,346
0xA7E7 0x4F54 # 佔 -- 247,347
0xA7E8 0x4E95 # 井 -- 247,350
0xA7E9 0x6247 # 扇 -- 247,351
0xA7EA 0x8A55 # 評 -- 247,352
0xA7EB 0x8CCA # 賊 -- 247,353
0xA7EC 0x6108 # 愈 -- 247,354
0xA7ED 0x4EAB # 享 -- 247,355
0xA7EE 0x7763 # 督 -- 247,356
0xA7EF 0x78E8 # 磨 -- 247,357
0xA7F0 0x798D # 禍 -- 247,360
0xA7F1 0x7372 # 獲 -- 247,361
0xA7F2 0x72AF # 犯 -- 247,362
0xA7F3 0x5BA6 # 宦 -- 247,363
0xA7F4 0x5957 # 套 -- 247,364
0xA7F5 0x85A9 # 薩 -- 247,365
0xA7F6 0x7F3A # 缺 -- 247,366
0xA7F7 0x80A1 # 股 -- 247,367
0xA7F8 0x7D22 # 索 -- 247,370
0xA7F9 0x5287 # 劇 -- 247,371
0xA7FA 0x57F7 # 執 -- 247,372
0xA7FB 0x6F01 # 漁 -- 247,373
0xA7FC 0x67D3 # 染 -- 247,374
0xA7FD 0x5360 # 占 -- 247,375
0xA7FE 0x8C9D # 貝 -- 247,376

View File

@@ -0,0 +1,190 @@
# "250" UNIHAN
0xA821 0x6478 # 摸 -- 250,041
0xA822 0x63EE # 揮 -- 250,042
0xA823 0x7AF6 # 競 -- 250,043
0xA824 0x543E # 吾 -- 250,044
0xA825 0x6DBC # 涼 -- 250,045
0xA826 0x737B # 獻 -- 250,046
0xA827 0x731B # 猛 -- 250,047
0xA828 0x820D # 舍 -- 250,050
0xA829 0x6355 # 捕 -- 250,051
0xA82A 0x8EB1 # 躱 -- 250,052
0xA82B 0x87FB # 蟻 -- 250,053
0xA82C 0x76DC # 盜 -- 250,054
0xA82D 0x7A40 # 穀 -- 250,055
0xA82E 0x5361 # 卡 -- 250,056
0xA830 0x71D5 # 燕 -- 250,060
0xA831 0x5B9C # 宜 -- 250,061
0xA832 0x5EF6 # 延 -- 250,062
0xA833 0x4EF0 # 仰 -- 250,063
0xA834 0x5F90 # 徐 -- 250,064
0xA835 0x6350 # 捐 -- 250,065
0xA836 0x778E # 瞎 -- 250,066
0xA837 0x642C # 搬 -- 250,067
0xA838 0x5687 # 嚇 -- 250,070
0xA839 0x7B52 # 筒 -- 250,071
0xA83A 0x6F6E # 潮 -- 250,072
0xA83B 0x58A8 # 墨 -- 250,073
0xA83C 0x8AD2 # 諒 -- 250,074
0xA83D 0x6065 # 恥 -- 250,075
0xA83E 0x7C4D # 籍 -- 250,076
0xA83F 0x73CD # 珍 -- 250,077
0xA840 0x68EE # 森 -- 250,100
0xA841 0x5409 # 吉 -- 250,101
0xA842 0x9D72 # 鵲 -- 250,102
0xA843 0x8E0F # 踏 -- 250,103
0xA844 0x5B64 # 孤 -- 250,104
0xA845 0x7533 # 申 -- 250,105
0xA846 0x62BD # 抽 -- 250,106
0xA847 0x8B6F # 譯 -- 250,107
0xA848 0x65A4 # 斤 -- 250,110
0xA849 0x63F4 # 援 -- 250,111
0xA84A 0x4E5E # 乞 -- 250,112
0xA84B 0x89F8 # 觸 -- 250,113
0xA84C 0x96C5 # 雅 -- 250,114
0xA84D 0x7D17 # 紗 -- 250,115
0xA84E 0x60B2 # 悲 -- 250,116
0xA84F 0x4ED7 # 仗 -- 250,117
0xA850 0x694A # 楊 -- 250,120
0xA851 0x4F34 # 伴 -- 250,121
0xA852 0x5178 # 典 -- 250,122
0xA853 0x8085 # 肅 -- 250,123
0xA854 0x65E8 # 旨 -- 250,124
0xA855 0x86C7 # 蛇 -- 250,125
0xA856 0x900F # 透 -- 250,126
0xA857 0x7483 # 璃 -- 250,127
0xA858 0x77E3 # 矣 -- 250,130
0xA859 0x5B8B # 宋 -- 250,131
0xA85A 0x4E01 # 丁 -- 250,132
0xA85B 0x9EB5 # 麵 -- 250,133
0xA85C 0x6436 # 搶 -- 250,134
0xA85D 0x76C6 # 盆 -- 250,135
0xA85E 0x96C0 # 雀 -- 250,136
0xA85F 0x660C # 昌 -- 250,137
0xA860 0x9326 # 錦 -- 250,140
0xA861 0x54AC # 咬 -- 250,141
0xA862 0x6DF7 # 混 -- 250,142
0xA863 0x7334 # 猴 -- 250,143
0xA864 0x4E91 # 云 -- 250,144
0xA865 0x64B2 # 撲 -- 250,145
0xA866 0x59FB # 姻 -- 250,146
0xA867 0x7E41 # 繁 -- 250,147
0xA868 0x5224 # 判 -- 250,150
0xA869 0x7E31 # 縱 -- 250,151
0xA86A 0x60A8 # 您 -- 250,152
0xA86B 0x642D # 搭 -- 250,153
0xA86C 0x9B3C # 鬼 -- 250,154
0xA86D 0x79DF # 租 -- 250,155
0xA86E 0x6170 # 慰 -- 250,156
0xA86F 0x6A19 # 標 -- 250,157
0xA870 0x5410 # 吐 -- 250,160
0xA871 0x6298 # 折 -- 250,161
0xA872 0x6182 # 憂 -- 250,162
0xA873 0x78C1 # 磁 -- 250,163
0xA874 0x5F92 # 徒 -- 250,164
0xA875 0x609F # 悟 -- 250,165
0xA876 0x6276 # 扶 -- 250,166
0xA877 0x81A0 # 膠 -- 250,167
0xA878 0x5708 # 圈 -- 250,170
0xA879 0x79D8 # 秘 -- 250,171
0xA87A 0x963B # 阻 -- 250,172
0xA87B 0x60A3 # 患 -- 250,173
0xA87C 0x8CBC # 貼 -- 250,174
0xA87D 0x62EC # 括 -- 250,175
0xA87E 0x6F51 # 潑 -- 250,176
0xA8A1 0x7434 # 琴 -- 250,241
0xA8A2 0x7A0D # 稍 -- 250,242
0xA8A3 0x58EF # 壯 -- 250,243
0xA8A4 0x8036 # 耶 -- 250,244
0xA8A5 0x7FC1 # 翁 -- 250,245
0xA8A6 0x687F # 桿 -- 250,246
0xA8A7 0x60B6 # 悶 -- 250,247
0xA8A8 0x8D81 # 趁 -- 250,250
0xA8A9 0x62D6 # 拖 -- 250,251
0xA8AA 0x61C2 # 懂 -- 250,252
0xA8AB 0x8DCC # 跌 -- 250,253
0xA8AC 0x9D28 # 鴨 -- 250,254
0xA8AD 0x50F1 # 僱 -- 250,255
0xA8AE 0x8F29 # 輩 -- 250,256
0xA8AF 0x7C60 # 籠 -- 250,257
0xA8B0 0x7E5E # 繞 -- 250,260
0xA8B1 0x88C1 # 裁 -- 250,261
0xA8B2 0x59A5 # 妥 -- 250,262
0xA8B3 0x5857 # 塗 -- 250,263
0xA8B4 0x6127 # 愧 -- 250,264
0xA8B5 0x84BC # 蒼 -- 250,265
0xA8B6 0x9A0E # 騎 -- 250,266
0xA8B7 0x8CC0 # 賀 -- 250,267
0xA8B8 0x8247 # 艇 -- 250,270
0xA8B9 0x9A19 # 騙 -- 250,271
0xA8BA 0x91D8 # 釘 -- 250,272
0xA8BB 0x6905 # 椅 -- 250,273
0xA8BC 0x5475 # 呵 -- 250,274
0xA8BD 0x64C7 # 擇 -- 250,275
0xA8BE 0x6DFB # 添 -- 250,276
0xA8BF 0x6070 # 恰 -- 250,277
0xA8C0 0x504F # 偏 -- 250,300
0xA8C1 0x66C6 # 曆 -- 250,301
0xA8C2 0x6FD5 # 濕 -- 250,302
0xA8C3 0x7DB2 # 網 -- 250,303
0xA8C4 0x6C6A # 汪 -- 250,304
0xA8C5 0x59A8 # 妨 -- 250,305
0xA8C6 0x6D2A # 洪 -- 250,306
0xA8C7 0x72FC # 狼 -- 250,307
0xA8C8 0x7C97 # 粗 -- 250,310
0xA8C9 0x5021 # 倡 -- 250,311
0xA8CA 0x99D0 # 駐 -- 250,312
0xA8CB 0x7621 # 瘡 -- 250,313
0xA8CC 0x66F0 # 曰 -- 250,314
0xA8CD 0x67CF # 柏 -- 250,315
0xA8CE 0x51FD # 函 -- 250,316
0xA8CF 0x63E1 # 握 -- 250,317
0xA8D0 0x6158 # 慘 -- 250,320
0xA8D1 0x5EF7 # 廷 -- 250,321
0xA8D2 0x6842 # 桂 -- 250,322
0xA8D3 0x4EC7 # 仇 -- 250,323
0xA8D4 0x4E1F # 丟 -- 250,324
0xA8D5 0x6BBC # 殼 -- 250,325
0xA8D6 0x9178 # 酸 -- 250,326
0xA8D7 0x805A # 聚 -- 250,327
0xA8D8 0x5C62 # 屢 -- 250,330
0xA8D9 0x9F52 # 齒 -- 250,331
0xA8DA 0x6691 # 暑 -- 250,332
0xA8DB 0x5C16 # 尖 -- 250,333
0xA8DC 0x6279 # 批 -- 250,334
0xA8DD 0x5617 # 嘗 -- 250,335
0xA8DE 0x500D # 倍 -- 250,336
0xA8DF 0x82D7 # 苗 -- 250,337
0xA8E0 0x5606 # 嘆 -- 250,340
0xA8E1 0x968E # 階 -- 250,341
0xA8E2 0x6212 # 戒 -- 250,342
0xA8E3 0x81BD # 膽 -- 250,343
0xA8E4 0x731C # 猜 -- 250,344
0xA8E5 0x5984 # 妄 -- 250,345
0xA8E6 0x724C # 牌 -- 250,346
0xA8E7 0x7832 # 砲 -- 250,347
0xA8E8 0x8D99 # 趙 -- 250,350
0xA8E9 0x62C6 # 拆 -- 250,351
0xA8EA 0x8205 # 舅 -- 250,352
0xA8EB 0x7BB1 # 箱 -- 250,353
0xA8EC 0x9E7F # 鹿 -- 250,354
0xA8ED 0x8FB1 # 辱 -- 250,355
0xA8EE 0x755C # 畜 -- 250,356
0xA8EF 0x8776 # 蝶 -- 250,357
0xA8F0 0x6258 # 托 -- 250,360
0xA8F1 0x5269 # 剩 -- 250,361
0xA8F2 0x5375 # 卵 -- 250,362
0xA8F3 0x8170 # 腰 -- 250,363
0xA8F4 0x52FF # 勿 -- 250,364
0xA8F5 0x91CB # 釋 -- 250,365
0xA8F6 0x53EC # 召 -- 250,366
0xA8F7 0x6CC9 # 泉 -- 250,367
0xA8F8 0x6069 # 恩 -- 250,370
0xA8F9 0x4F10 # 伐 -- 250,371
0xA8FA 0x5B5D # 孝 -- 250,372
0xA8FB 0x6F5B # 潛 -- 250,373
0xA8FC 0x6F0F # 漏 -- 250,374
0xA8FD 0x5BEE # 寮 -- 250,375
0xA8FE 0x6280 # 技 -- 250,376

View File

@@ -0,0 +1,190 @@
# "251" UNIHAN
0xA921 0x74E6 # 瓦 -- 251,041
0xA922 0x5BEC # 寬 -- 251,042
0xA923 0x63D2 # 插 -- 251,043
0xA924 0x9811 # 頑 -- 251,044
0xA925 0x5A36 # 娶 -- 251,045
0xA926 0x69CB # 構 -- 251,046
0xA927 0x5EC9 # 廉 -- 251,047
0xA928 0x906D # 遭 -- 251,050
0xA929 0x68A7 # 梧 -- 251,051
0xA92A 0x5BE9 # 審 -- 251,052
0xA92B 0x786C # 硬 -- 251,053
0xA92C 0x528D # 劍 -- 251,054
0xA92D 0x64A5 # 撥 -- 251,055
0xA92E 0x6293 # 抓 -- 251,056
0xA92F 0x8C8C # 貌 -- 251,057
0xA930 0x8CE2 # 賢 -- 251,060
0xA931 0x8D64 # 赤 -- 251,061
0xA932 0x721B # 爛 -- 251,062
0xA933 0x879E # 螞 -- 251,063
0xA934 0x8FF7 # 迷 -- 251,064
0xA935 0x99D5 # 駕 -- 251,065
0xA936 0x817F # 腿 -- 251,066
0xA937 0x8DE1 # 跡 -- 251,067
0xA938 0x6736 # 朶 -- 251,070
0xA939 0x4FF1 # 俱 -- 251,071
0xA93A 0x92B7 # 銷 -- 251,072
0xA93B 0x98FD # 飽 -- 251,073
0xA93C 0x5BBF # 宿 -- 251,074
0xA93D 0x8523 # 蔣 -- 251,075
0xA93E 0x52C9 # 勉 -- 251,076
0xA93F 0x8010 # 耐 -- 251,077
0xA940 0x9677 # 陷 -- 251,100
0xA941 0x8569 # 蕩 -- 251,101
0xA942 0x4F69 # 佩 -- 251,102
0xA943 0x78B0 # 碰 -- 251,103
0xA944 0x65CB # 旋 -- 251,104
0xA945 0x68C4 # 棄 -- 251,105
0xA946 0x84C4 # 蓄 -- 251,106
0xA947 0x9ED8 # 默 -- 251,107
0xA948 0x9CF4 # 鳴 -- 251,110
0xA949 0x7DBF # 綿 -- 251,111
0xA94A 0x6D59 # 浙 -- 251,112
0xA94B 0x55AA # 喪 -- 251,113
0xA94C 0x8A17 # 託 -- 251,114
0xA94D 0x8907 # 複 -- 251,115
0xA94E 0x9214 # 鈔 -- 251,116
0xA94F 0x7272 # 牲 -- 251,117
0xA950 0x8CAB # 貫 -- 251,120
0xA951 0x9B06 # 鬆 -- 251,121
0xA952 0x95D6 # 闖 -- 251,122
0xA953 0x81E5 # 臥 -- 251,123
0xA954 0x7E2E # 縮 -- 251,124
0xA955 0x6155 # 慕 -- 251,125
0xA956 0x7345 # 獅 -- 251,126
0xA957 0x77EE # 矮 -- 251,127
0xA958 0x5308 # 匈 -- 251,130
0xA959 0x50D5 # 僕 -- 251,131
0xA95A 0x9583 # 閃 -- 251,132
0xA95B 0x7D39 # 紹 -- 251,133
0xA95C 0x70AD # 炭 -- 251,134
0xA95D 0x552E # 售 -- 251,135
0xA95E 0x878D # 融 -- 251,136
0xA95F 0x52D2 # 勒 -- 251,137
0xA960 0x8D85 # 超 -- 251,140
0xA961 0x72C2 # 狂 -- 251,141
0xA962 0x6EFE # 滾 -- 251,142
0xA963 0x64A4 # 撤 -- 251,143
0xA964 0x6597 # 斗 -- 251,144
0xA965 0x5448 # 呈 -- 251,145
0xA966 0x4E88 # 予 -- 251,146
0xA967 0x52F5 # 勵 -- 251,147
0xA968 0x788E # 碎 -- 251,150
0xA969 0x8B39 # 謹 -- 251,151
0xA96A 0x716E # 煮 -- 251,152
0xA96B 0x60E0 # 惠 -- 251,153
0xA96C 0x57E0 # 埠 -- 251,154
0xA96D 0x8F1B # 輛 -- 251,155
0xA96E 0x9077 # 遷 -- 251,156
0xA96F 0x5320 # 匠 -- 251,157
0xA970 0x5132 # 儲 -- 251,160
0xA971 0x9DF9 # 鷹 -- 251,161
0xA972 0x8461 # 葡 -- 251,162
0xA973 0x62D4 # 拔 -- 251,163
0xA974 0x7C3D # 簽 -- 251,164
0xA975 0x7DD6 # 緖 -- 251,165
0xA976 0x8F49 # 轉 -- 251,166
0xA977 0x5E33 # 帳 -- 251,167
0xA978 0x8D08 # 贈 -- 251,170
0xA979 0x6731 # 朱 -- 251,171
0xA97A 0x8B6C # 譬 -- 251,172
0xA97B 0x58FD # 壽 -- 251,173
0xA97C 0x64F4 # 擴 -- 251,174
0xA97D 0x5948 # 奈 -- 251,175
0xA97E 0x5147 # 兇 -- 251,176
0xA9A1 0x9D5D # 鵝 -- 251,241
0xA9A2 0x95A3 # 閣 -- 251,242
0xA9A3 0x53AD # 厭 -- 251,243
0xA9A4 0x7F70 # 罰 -- 251,244
0xA9A5 0x7378 # 獸 -- 251,245
0xA9A6 0x71C3 # 燃 -- 251,246
0xA9A7 0x5AC1 # 嫁 -- 251,247
0xA9A8 0x8CAA # 貪 -- 251,250
0xA9A9 0x9592 # 閒 -- 251,251
0xA9AA 0x9015 # 逕 -- 251,252
0xA9AB 0x98C4 # 飄 -- 251,253
0xA9AC 0x67F3 # 柳 -- 251,254
0xA9AD 0x718A # 熊 -- 251,255
0xA9AE 0x660F # 昏 -- 251,256
0xA9AF 0x9707 # 震 -- 251,257
0xA9B0 0x5F91 # 徑 -- 251,260
0xA9B1 0x9119 # 鄙 -- 251,261
0xA9B2 0x615A # 慚 -- 251,262
0xA9B3 0x4FC3 # 促 -- 251,263
0xA9B4 0x7720 # 眠 -- 251,264
0xA9B6 0x819A # 膚 -- 251,266
0xA9B7 0x81C2 # 臂 -- 251,267
0xA9B8 0x65F1 # 旱 -- 251,270
0xA9B9 0x621A # 戚 -- 251,271
0xA9BA 0x66EC # 曬 -- 251,272
0xA9BB 0x906E # 遮 -- 251,273
0xA9BC 0x85AA # 薪 -- 251,274
0xA9BD 0x4E73 # 乳 -- 251,275
0xA9BE 0x98FE # 飾 -- 251,276
0xA9BF 0x67D4 # 柔 -- 251,277
0xA9C0 0x593E # 夾 -- 251,300
0xA9C1 0x6649 # 晉 -- 251,301
0xA9C2 0x88F3 # 裳 -- 251,302
0xA9C3 0x7AA9 # 窩 -- 251,303
0xA9C4 0x9686 # 隆 -- 251,304
0xA9C5 0x5F79 # 役 -- 251,305
0xA9C6 0x9817 # 頗 -- 251,306
0xA9C7 0x6E6F # 湯 -- 251,307
0xA9C8 0x8CA2 # 貢 -- 251,310
0xA9C9 0x8B7D # 譽 -- 251,311
0xA9CA 0x50DE # 僞 -- 251,312
0xA9CB 0x7C4C # 籌 -- 251,313
0xA9CC 0x7D14 # 純 -- 251,314
0xA9CD 0x7C92 # 粒 -- 251,315
0xA9CE 0x6D6E # 浮 -- 251,316
0xA9CF 0x8FEA # 迪 -- 251,317
0xA9D0 0x5EDF # 廟 -- 251,320
0xA9D1 0x6838 # 核 -- 251,321
0xA9D2 0x96B8 # 隸 -- 251,322
0xA9D3 0x616E # 慮 -- 251,323
0xA9D4 0x83CC # 菌 -- 251,324
0xA9D5 0x62FC # 拼 -- 251,325
0xA9D6 0x5DFE # 巾 -- 251,326
0xA9D7 0x8EAC # 躬 -- 251,327
0xA9D8 0x611A # 愚 -- 251,330
0xA9D9 0x7DE9 # 緩 -- 251,331
0xA9DA 0x5377 # 卷 -- 251,332
0xA9DB 0x7D2F # 累 -- 251,333
0xA9DC 0x7C3F # 簿 -- 251,334
0xA9DD 0x654D # 敍 -- 251,335
0xA9DE 0x95E2 # 闢 -- 251,336
0xA9DF 0x8E7A # 蹺 -- 251,337
0xA9E0 0x4F01 # 企 -- 251,340
0xA9E1 0x5C48 # 屈 -- 251,341
0xA9E2 0x727D # 牽 -- 251,342
0xA9E3 0x5AB3 # 媳 -- 251,343
0xA9E4 0x7FBD # 羽 -- 251,344
0xA9E5 0x7DA2 # 綢 -- 251,345
0xA9E6 0x8CDC # 賜 -- 251,346
0xA9E7 0x845B # 葛 -- 251,347
0xA9E8 0x6F06 # 漆 -- 251,350
0xA9E9 0x517C # 兼 -- 251,351
0xA9EA 0x57F9 # 培 -- 251,352
0xA9EB 0x8CE0 # 賠 -- 251,353
0xA9EC 0x9234 # 鈴 -- 251,354
0xA9ED 0x5EDA # 廚 -- 251,355
0xA9EE 0x947D # 鑽 -- 251,356
0xA9EF 0x68F5 # 棵 -- 251,357
0xA9F0 0x8FD4 # 返 -- 251,360
0xA9F1 0x8C37 # 谷 -- 251,361
0xA9F2 0x7336 # 猶 -- 251,362
0xA9F3 0x7E61 # 繡 -- 251,363
0xA9F4 0x53DB # 叛 -- 251,364
0xA9F5 0x5435 # 吵 -- 251,365
0xA9F6 0x5996 # 妖 -- 251,366
0xA9F7 0x54B1 # 咱 -- 251,367
0xA9F8 0x9022 # 逢 -- 251,370
0xA9F9 0x8896 # 袖 -- 251,371
0xA9FA 0x5F81 # 征 -- 251,372
0xA9FB 0x683D # 栽 -- 251,373
0xA9FC 0x5339 # 匹 -- 251,374
0xA9FD 0x5DE1 # 巡 -- 251,375
0xA9FE 0x52A3 # 劣 -- 251,376

Some files were not shown because too many files have changed in this diff Show More