1
0
mirror of synced 2026-03-22 17:18:10 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
rmkaplan
205223c9b1 Merge pull request #490 from Interlisp/TEDIT-SEE
TEDIT + FILEBROWSER:  Add function TEDIT-SEE, call from FILEBROWSER
2021-09-21 15:13:36 -07:00
Larry Masinter
ccc776608d Add Lispusers BACKGROUND-YIELD to call new subr (#488)
* Add Lispusers BACKGROUND-YIELD to call new subr

* Make BACKGROUND-YIELD a variable
2021-09-20 15:06:40 -07:00
Larry Masinter
25617e383a Add to medley release a tar of loadups-only, for those who want that (#465)
* Add to medley release a tar of loadups-only, for those who want that

* separate pieces (loadups+runtime) with 'don't need runtime if cloned'
2021-09-20 15:04:07 -07:00
rmkaplan
5e6eb4b424 HARDCOPY, TEDITHCPY: fix #491
INITVAR for PRINTFILETYPES, fix the coms for the Interpress option in TEDITHCPY

(This branch is accumulating little TEDIT glitches)
2021-09-20 11:17:55 -07:00
rmkaplan
7175669633 TEDITWINDOW: Ensure TOTOPW in tedit buttoneventfn and scrollfn #492 2021-09-20 07:36:01 -07:00
rmkaplan
21088d3eff TEDIT + FILEBROWSER: Add function TEDIT-SEE, call from FILEBROWSER 2021-09-19 19:10:18 -07:00
14 changed files with 803 additions and 724 deletions

View File

@@ -1,10 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "21-Aug-2021 23:33:58"  (FILECREATED "19-Sep-2021 18:08:05" 
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>FILEBROWSER.;9| 263236 |{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>FILEBROWSER.;9| 260675
|changes| |to:| (FNS FB.FIX-DIRECTORY-DATES) |changes| |to:| (FNS FB.EDITCOMMAND.ONEFILE)
|previous| |date:| "21-Aug-2021 23:08:34" |previous| |date:| "21-Aug-2021 23:33:58"
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>FILEBROWSER.;7|) |{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>FILEBROWSER.;7|)
@@ -22,11 +22,11 @@
(TERPRI T)))) (TERPRI T))))
(FILES ATTACHEDWINDOW ICONW TABLEBROWSER) (FILES ATTACHEDWINDOW ICONW TABLEBROWSER)
(P (P
(* |;;| "Set up for MODERNIZE windows, whether or not MODERNIZE is pre-loaded") (* |;;| "Set up for MODERNIZE windows, whether or not MODERNIZE is pre-loaded")
(MOVD? 'NILL 'TOTOPW.MODERNIZE)) (MOVD? 'NILL 'TOTOPW.MODERNIZE))
(* |;;| "JDS 11/94 FB.ICONSPEC is now an INITVAR so we can create smaller ones in profiles for, e.g., laptops.") (* |;;| "JDS 11/94 FB.ICONSPEC is now an INITVAR so we can create smaller ones in profiles for, e.g., laptops.")
(INITVARS (FB.EXPUNGE?MENU) (INITVARS (FB.EXPUNGE?MENU)
(FB.BROWSERFONT DEFAULTFONT) (FB.BROWSERFONT DEFAULTFONT)
@@ -45,7 +45,7 @@
(FB.PROMPTFONT LITTLEFONT) (FB.PROMPTFONT LITTLEFONT)
(FB.BROWSER.DIRECTORY.FONT BOLDFONT))) (FB.BROWSER.DIRECTORY.FONT BOLDFONT)))
(P (P
(* |;;| "FONTSET fills in the variables in FONTVARS for us, so do it.") (* |;;| "FONTSET fills in the variables in FONTVARS for us, so do it.")
(FONTSET (FONTSET))) (FONTSET (FONTSET)))
(ADDVARS (CACHEDMENUS FB.EXPUNGE?MENU)) (ADDVARS (CACHEDMENUS FB.EXPUNGE?MENU))
@@ -170,16 +170,16 @@ You specify how many versions to keep.")))
(VARS FB.VERSION.MENU.ITEMS FB.CLOSE.MENU.ITEMS FB.DEPTH.MENU.ITEMS FB.INFO.MENU.ITEMS (VARS FB.VERSION.MENU.ITEMS FB.CLOSE.MENU.ITEMS FB.DEPTH.MENU.ITEMS FB.INFO.MENU.ITEMS
FB.DEFAULT.NAME.WIDTH FB.INFO.FIELDS FB.INFOSHADE FB.ITEMUNSELECTEDSHADE FB.DEFAULT.NAME.WIDTH FB.INFO.FIELDS FB.INFOSHADE FB.ITEMUNSELECTEDSHADE
FB.ITEMSELECTEDSHADE)) FB.ITEMSELECTEDSHADE))
(COMS (* \; "Entries") (COMS (* \; "Entries")
(COMMANDS "fb") (COMMANDS "fb")
(FNS FB FB.COPYBINARYCOMMAND FB.COPYTEXTCOMMAND FILEBROWSER FB.TABLEBROWSER (FNS FB FB.COPYBINARYCOMMAND FB.COPYTEXTCOMMAND FILEBROWSER FB.TABLEBROWSER
FB.SELECTEDFILES FB.FETCHFILENAME FB.DIRECTORYP FB.PROMPTWPRINT FB.PROMPTW.FORMAT FB.SELECTEDFILES FB.FETCHFILENAME FB.DIRECTORYP FB.PROMPTWPRINT FB.PROMPTW.FORMAT
FB.PROMPTFORINPUT FB.YES-OR-NO-P FB.ALLOW.ABORT \\FB.HARDCOPY.TOFILE.EXTENSION) FB.PROMPTFORINPUT FB.YES-OR-NO-P FB.ALLOW.ABORT \\FB.HARDCOPY.TOFILE.EXTENSION)
(* \; "Setup") (* \; "Setup")
(FNS FB.STARTUP FB.MAKERIGIDWINDOW) (FNS FB.STARTUP FB.MAKERIGIDWINDOW)
(FNS FB.PRINTFN FB.COPYFN)) (FNS FB.PRINTFN FB.COPYFN))
(COMS (* \; (COMS (* \;
 "commands and major subfunctions")  "commands and major subfunctions")
(FNS FB.MENU.WHENSELECTEDFN FB.COMMANDSELECTEDFN FB.SUBITEMP FB.MAKE.BROWSER.BUSY (FNS FB.MENU.WHENSELECTEDFN FB.COMMANDSELECTEDFN FB.SUBITEMP FB.MAKE.BROWSER.BUSY
FB.FINISH.COMMAND FB.HANDLE.ABORT.BUTTON) FB.FINISH.COMMAND FB.HANDLE.ABORT.BUTTON)
(FNS FB.DELETECOMMAND FB.DELVERCOMMAND FB.IS.NOT.SUBDIRECTORY.ITEM FB.DELVER.FILES (FNS FB.DELETECOMMAND FB.DELVERCOMMAND FB.IS.NOT.SUBDIRECTORY.ITEM FB.DELVER.FILES
@@ -204,7 +204,7 @@ You specify how many versions to keep.")))
(FNS FB.EXPUNGECOMMAND FB.NEWPATTERNCOMMAND FB.NEWINFOCOMMAND FB.DEPTHCOMMAND (FNS FB.EXPUNGECOMMAND FB.NEWPATTERNCOMMAND FB.NEWINFOCOMMAND FB.DEPTHCOMMAND
FB.SHAPECOMMAND FB.REMOVE.FILE FB.COUNT.FILE.CHANGE FB.SETNEWPATTERN FB.SHAPECOMMAND FB.REMOVE.FILE FB.COUNT.FILE.CHANGE FB.SETNEWPATTERN
FB.GET.NEWPATTERN FB.OPTIONSCOMMAND)) FB.GET.NEWPATTERN FB.OPTIONSCOMMAND))
(COMS (* \; "window functions") (COMS (* \; "window functions")
(FNS FB.INFOMENU.SHADEINITIALSELECTIONS FB.INFO.ITEM.NAMED) (FNS FB.INFOMENU.SHADEINITIALSELECTIONS FB.INFO.ITEM.NAMED)
(FNS FB.MAKECOUNTERWINDOW FB.COUNTERW.REDISPLAYFN FB.UPDATE.COUNTERS (FNS FB.MAKECOUNTERWINDOW FB.COUNTERW.REDISPLAYFN FB.UPDATE.COUNTERS
FB.DISPLAY.COUNTERS FB.COUNTER.STRING) FB.DISPLAY.COUNTERS FB.COUNTER.STRING)
@@ -253,7 +253,7 @@ You specify how many versions to keep.")))
(FILESLOAD ATTACHEDWINDOW ICONW TABLEBROWSER) (FILESLOAD ATTACHEDWINDOW ICONW TABLEBROWSER)
(* |;;| "Set up for MODERNIZE windows, whether or not MODERNIZE is pre-loaded") (* |;;| "Set up for MODERNIZE windows, whether or not MODERNIZE is pre-loaded")
(MOVD? 'NILL 'TOTOPW.MODERNIZE) (MOVD? 'NILL 'TOTOPW.MODERNIZE)
@@ -295,7 +295,7 @@ You specify how many versions to keep.")))
(FB.BROWSER.DIRECTORY.FONT BOLDFONT)) (FB.BROWSER.DIRECTORY.FONT BOLDFONT))
(* |;;| "FONTSET fills in the variables in FONTVARS for us, so do it.") (* |;;| "FONTSET fills in the variables in FONTVARS for us, so do it.")
(FONTSET (FONTSET)) (FONTSET (FONTSET))
@@ -1684,84 +1684,49 @@ Your deletions are thus ignored.")))
ELSE (FB.FASTSEECOMMAND BROWSER KEY ITEM MENU))))) ELSE (FB.FASTSEECOMMAND BROWSER KEY ITEM MENU)))))
(FB.EDITCOMMAND.ONEFILE (FB.EDITCOMMAND.ONEFILE
(LAMBDA (BROWSER FILE OPTION ITEM MENU) (* \; "Edited 8-Aug-2021 11:16 by rmk:") (LAMBDA (BROWSER FILE OPTION ITEM MENU) (* \; "Edited 19-Sep-2021 18:07 by rmk:")
(* \; "Edited 27-Feb-2021 20:07 by rmk:") (* \; "Edited 27-Feb-2021 20:07 by rmk:")
(* \; "Edited 1-Feb-88 19:00 by bvm:") (* \; "Edited 1-Feb-88 19:00 by bvm:")
(* |;;| "Called when we know that FILE is a file, not a directory, and that TEDIT exists. If OPTION is READONLY, we don't want to edit, just view. If FILE is a lisp sourcefile, we execute the font changes by COPY.TEXT.TO.IMAGE.") (* |;;| "Called when we know that FILE is a file, not a directory, and that TEDIT exists. If OPTION is READONLY, we don't want to edit, just view. .")
(* |;;| "We clear the shade stuff here because we don't want the FB to come up on top of our see/edit region. We don't factor it to the top because we want to do whatever heavy lifting (copying files) before. Don't factor to the end because then it is too late--the TEDIT window was up and then buried. (If TEDIT had a don'topen option, we could set things up, then change the shade, then open. We could also do the manufactured title on the window before it shows.") (* |;;| "We clear the shade stuff here because we don't want the FB to come up on top of our see/edit region. Don't factor to the end because then it is too late--the TEDIT window was up and then buried. (If TEDIT had a don'topen option, we could set things up, then change the shade, then open. We could also do the manufactured title on the window before it shows.")
(CL:UNLESS OPTION (SETQ OPTION FB.DEFAULT.EDITOR)) (CL:UNLESS OPTION (SETQ OPTION FB.DEFAULT.EDITOR)) (* \; "Default editor is TEDIT. ")
(CL:MULTIPLE-VALUE-BIND
(IGNORE CONDITION)
(IGNORE-ERRORS
(LET ((ENV (LISPSOURCEFILEP FILE)))
(IF ENV
THEN (SELECTQ OPTION
((LISP NIL TEDIT)
(* |;;|
"Asks to load prop and edits the coms. We really don't want to use a text editor on a source file.")
(* |;;| "Unshade the item before we create the TEDIT window, and tell FB.FINISH.COMMAND that we did that. That way, the FB window won't pop up on top.")
(* |;;| "The FUNCALL at the bottom is concerning.")
(SHADEITEM ITEM MENU FB.ITEMUNSELECTEDSHADE) (SHADEITEM ITEM MENU FB.ITEMUNSELECTEDSHADE)
(PUTMENUPROP MENU 'ITEMSHADE (CONS ITEM FB.ITEMUNSELECTEDSHADE)) (PUTMENUPROP MENU 'ITEMSHADE (CONS ITEM FB.ITEMUNSELECTEDSHADE))
(FB.EDITLISPFILE FILE BROWSER))
(READONLY (* \; "READONLY on call from SEE")
(CL:WITH-OPEN-FILE
(STREAM FILE :DIRECTION :INPUT)
(LET ((NSTR (OPENTEXTSTREAM)))
(\\EXTERNALFORMAT STREAM ENV)
(COPY.TEXT.TO.IMAGE STREAM NSTR)
(* |;;| "Unshade the item before we create the TEDIT window, and tell FB.FINISH.COMMAND that we did that. That way, the FB window won't pop up on top.") (* |;;| "The particular item may be a subitem of the EDIT or SEE menu item, in which case we want to unshade that too. Seems a little bruteforce")
(SHADEITEM ITEM MENU FB.ITEMUNSELECTEDSHADE) (CL:UNLESS (MEMBER ITEM (FETCH (MENU ITEMS) OF MENU))
(PUTMENUPROP MENU 'ITEMSHADE (CONS ITEM (FOR I IN (FETCH (MENU ITEMS) OF MENU)
WHEN (MEMBER ITEM (CDR (SASSOC 'SUBITEMS I))) DO (SHADEITEM I MENU
FB.ITEMUNSELECTEDSHADE)
(PUTMENUPROP MENU 'ITEMSHADE
(CONS I
FB.ITEMUNSELECTEDSHADE FB.ITEMUNSELECTEDSHADE
)) ))))
(WINDOWPROP (WFROMDS (TEXTSTREAM (CL:MULTIPLE-VALUE-BIND (IGNORE CONDITION)
(TEDIT NSTR NIL NIL (IGNORE-ERRORS (SELECTQ OPTION
'(READONLY T)))) (READONLY (TEDIT-SEE FILE))
'TITLE (LISP (* \;
(CONCAT "SEE window for " (FULLNAME STREAM)))))) "Original code allowed OPTION=NIL in thie branch, but NIL should have been coerced to TEDIT above.")
(CL:FUNCALL OPTION (MKATOM FILE)))
ELSE (SELECTQ OPTION
(READONLY
(* |;;| "From SEE command. We want to be able to scroll around in the content, can't do that if it isn't random access. So in that case we do a secret NODIRCORE copy and look at that.") (* |;;| "Asks to load prop and edits the coms, presumably with SEDIT. We really don't want to use a text editor on a source file.")
(CL:WITH-OPEN-FILE (IF (LISPSOURCEFILEP FILE)
(STREAM FILE :DIRECTION :INPUT) THEN (FB.EDITLISPFILE FILE BROWSER)
(LET ((NSTR)) ELSE (FB.PROMPTW.FORMAT BROWSER
(CL:UNLESS (RANDACCESSP STREAM) "Failed because not a Lisp source file")))
(SETQ NSTR (OPENSTREAM (PROGN
'{NODIRCORE} (* |;;| "Might just be a call to TEDIT (if OPTION = TEDIT)")
'BOTH
'NEW NIL (LIST (LIST 'TYPE (CL:FUNCALL OPTION (MKATOM FILE)))))
(GETFILEINFO (|if| CONDITION
STREAM |then| (FB.PROMPTW.FORMAT BROWSER "Failed because ~A" CONDITION)))))
'TYPE)))))
(COPYBYTES STREAM NSTR))
(SHADEITEM ITEM MENU FB.ITEMUNSELECTEDSHADE)
(PUTMENUPROP MENU 'ITEMSHADE (CONS ITEM
FB.ITEMUNSELECTEDSHADE))
(WINDOWPROP (WFROMDS (TEXTSTREAM (TEDIT (OR NSTR STREAM)
NIL NIL
'(READONLY T))))
'TITLE
(CONCAT "SEE window for " (FULLNAME STREAM))))))
((TEDIT NIL)
(SHADEITEM ITEM MENU FB.ITEMUNSELECTEDSHADE)
(PUTMENUPROP MENU 'ITEMSHADE (CONS ITEM FB.ITEMUNSELECTEDSHADE))
(TEDIT (MKATOM FILE)))
(LISP (FB.PROMPTW.FORMAT BROWSER
"Failed because not a Lisp source file"))
(CL:FUNCALL OPTION (MKATOM FILE))))))
(|if| CONDITION
|then| (FB.PROMPTW.FORMAT BROWSER "Failed because ~A" CONDITION)))))
(FB.EDITLISPFILE (FB.EDITLISPFILE
(LAMBDA (FILE BROWSER) (* \; "Edited 21-Feb-2021 17:29 by rmk:") (LAMBDA (FILE BROWSER) (* \; "Edited 21-Feb-2021 17:29 by rmk:")
@@ -3838,26 +3803,26 @@ then click Recompute"))))
(RECORD INFOFIELD (INFONAME INFOLABEL INFOWIDTH INFOFORMAT INFOPROTOTYPE)) (RECORD INFOFIELD (INFONAME INFOLABEL INFOWIDTH INFOFORMAT INFOPROTOTYPE))
(DATATYPE FBFILEDATA ((FILENAME POINTER) (* \; "Full name of this file") (DATATYPE FBFILEDATA ((FILENAME POINTER) (* \; "Full name of this file")
(FILEINFO POINTER) (* \; "Plist of attributes") (FILEINFO POINTER) (* \; "Plist of attributes")
(VERSIONLESSNAME POINTER) (* \; "FILENAME sans version") (VERSIONLESSNAME POINTER) (* \; "FILENAME sans version")
(DIRECTORYP FLAG) (* \; "True if it's a directory line") (DIRECTORYP FLAG) (* \; "True if it's a directory line")
(HASDIRPREFIX FLAG) (* \; (HASDIRPREFIX FLAG) (* \;
 "True if it has a directory prefix beyond that in common to all the files")  "True if it has a directory prefix beyond that in common to all the files")
(DIRECTORYFILEP FLAG) (* \; (DIRECTORYFILEP FLAG) (* \;
 "True if the \"file\" in this item is actually a subdirectory")  "True if the \"file\" in this item is actually a subdirectory")
(SIZE POINTER) (* \; "Size of file, for stats") (SIZE POINTER) (* \; "Size of file, for stats")
(FILEDEPTH BYTE) (* \; (FILEDEPTH BYTE) (* \;
 "Number of levels of subdirectory beneath the main pattern--zero for files at that level")  "Number of levels of subdirectory beneath the main pattern--zero for files at that level")
(SORTVALUE POINTER) (* \; (SORTVALUE POINTER) (* \;
 "Cached value by which we are sorting the dir.")  "Cached value by which we are sorting the dir.")
(SUBDIREND WORD) (* \; (SUBDIREND WORD) (* \;
 "Index of last char in subdirectory, or zero if HASDIRPREFIX is false")  "Index of last char in subdirectory, or zero if HASDIRPREFIX is false")
(STARTOFPNAME WORD) (* \; (STARTOFPNAME WORD) (* \;
 "Start of name for printing purposes. Same as STARTOFNAME when browser sorted by name")  "Start of name for printing purposes. Same as STARTOFNAME when browser sorted by name")
(VERSION WORD) (* \; "Version, or zero if none") (VERSION WORD) (* \; "Version, or zero if none")
(STARTOFNAME WORD) (* \; (STARTOFNAME WORD) (* \;
 "Index beyond all directory fields")  "Index beyond all directory fields")
DUMMY) DUMMY)
(ACCESSFNS FBFILEDATA ((PRINTNAME (SUBSTRING (FETCH (FBFILEDATA FILENAME (ACCESSFNS FBFILEDATA ((PRINTNAME (SUBSTRING (FETCH (FBFILEDATA FILENAME
) )
@@ -3872,85 +3837,85 @@ then click Recompute"))))
) OF ) OF
DATUM)))))) DATUM))))))
(DATATYPE FILEBROWSER ((NOSUBDIRECTORIES FLAG) (* \; (DATATYPE FILEBROWSER ((NOSUBDIRECTORIES FLAG) (* \;
 "True if we don't want separate subdirectory lines -- subdirs then included in name")  "True if we don't want separate subdirectory lines -- subdirs then included in name")
(NSPATTERN? FLAG) (* \; "True if host is an ns host") (NSPATTERN? FLAG) (* \; "True if host is an ns host")
(SHOWUNDELETED? FLAG) (* \; (SHOWUNDELETED? FLAG) (* \;
 "True if counter window should show `Undeleted' rather than `Total' counts")  "True if counter window should show `Undeleted' rather than `Total' counts")
(PATTERNPARSED? FLAG) (* \; (PATTERNPARSED? FLAG) (* \;
 "True if PREPAREDPATTERN, NAMESTART, DIRECTORYSTART are valid")  "True if PREPAREDPATTERN, NAMESTART, DIRECTORYSTART are valid")
(SORTBYDATE FLAG) (* \; (SORTBYDATE FLAG) (* \;
 "True if SORTATTRIBUTE is one of the date attributes")  "True if SORTATTRIBUTE is one of the date attributes")
(FBREADY FLAG) (* \; "False while FB is enumerating.") (FBREADY FLAG) (* \; "False while FB is enumerating.")
(ABORTING FLAG) (* \; (ABORTING FLAG) (* \;
 "True if enumeration is being aborted")  "True if enumeration is being aborted")
(FIXEDTITLE FLAG) (* \; "True if caller supplied title") (FIXEDTITLE FLAG) (* \; "True if caller supplied title")
(FBCOMPUTEDDEPTH BYTE) (* \; (FBCOMPUTEDDEPTH BYTE) (* \;
 "Depth at the time we enumerated directory (zero for infinite)")  "Depth at the time we enumerated directory (zero for infinite)")
(FBDISPLAYEDDEPTH BYTE) (* \; (FBDISPLAYEDDEPTH BYTE) (* \;
 "Depth we are currently displaying (zero for infinite)")  "Depth we are currently displaying (zero for infinite)")
(TABLEBROWSER POINTER) (* \; (TABLEBROWSER POINTER) (* \;
 "Pointer to TABLEBROWSER object controlling the browser")  "Pointer to TABLEBROWSER object controlling the browser")
(BROWSERWINDOW POINTER) (* \; "Main window") (BROWSERWINDOW POINTER) (* \; "Main window")
(COUNTERWINDOW POINTER) (* \; (COUNTERWINDOW POINTER) (* \;
 "Window that counts files, pages, deletions")  "Window that counts files, pages, deletions")
(HEADINGWINDOW POINTER) (* \; (HEADINGWINDOW POINTER) (* \;
 "Window with headings for browser columns")  "Window with headings for browser columns")
(INFOMENUW POINTER) (* \; (INFOMENUW POINTER) (* \;
 "Window containing choices for info to be displayed, or NIL if none yet")  "Window containing choices for info to be displayed, or NIL if none yet")
(PROMPTWINDOW POINTER) (* \; "GETPROMPTWINDOW BROWSERWINDOW") (PROMPTWINDOW POINTER) (* \; "GETPROMPTWINDOW BROWSERWINDOW")
(INFODISPLAYED POINTER) (* \; (INFODISPLAYED POINTER) (* \;
 "List of attribute specs to be displayed")  "List of attribute specs to be displayed")
(PATTERN POINTER) (* \; (PATTERN POINTER) (* \;
 "Directory pattern being enumerated")  "Directory pattern being enumerated")
(PREPAREDPATTERN POINTER) (* \; "DIRECTORY.MATCH.SETUP of same") (PREPAREDPATTERN POINTER) (* \; "DIRECTORY.MATCH.SETUP of same")
(SEEWINDOW POINTER) (* \; (SEEWINDOW POINTER) (* \;
 "Primary window used by FAST SEE command")  "Primary window used by FAST SEE command")
(BROWSERFONT POINTER) (* \; "Font of BROWSERWINDOW") (BROWSERFONT POINTER) (* \; "Font of BROWSERWINDOW")
(SORTBY POINTER) (* \; (SORTBY POINTER) (* \;
 "Sorting function or NIL for default sort")  "Sorting function or NIL for default sort")
(NAMESTART WORD) (* \; (NAMESTART WORD) (* \;
 "Index of first character in file name beyond the common prefix shared by all")  "Index of first character in file name beyond the common prefix shared by all")
(DIRECTORYSTART WORD) (* \; (DIRECTORYSTART WORD) (* \;
 "Index of first character of directory in file names")  "Index of first character of directory in file names")
(INFOSTART WORD) (* \; (INFOSTART WORD) (* \;
 "X position in browser where first col of info is displayed")  "X position in browser where first col of info is displayed")
(NAMEOVERHEAD WORD) (* \; (NAMEOVERHEAD WORD) (* \;
 "This plus width of name gives is how much to allow before INFOSTART")  "This plus width of name gives is how much to allow before INFOSTART")
(OVERFLOWSPACING WORD) (* \; (OVERFLOWSPACING WORD) (* \;
 "Increment between sizes considered for INFOSTART")  "Increment between sizes considered for INFOSTART")
(DIGITWIDTH WORD) (DIGITWIDTH WORD)
(TOTALFILES WORD) (* \; (TOTALFILES WORD) (* \;
 "Total number of files, deleted files, pages, deleted pages at the moment")  "Total number of files, deleted files, pages, deleted pages at the moment")
(DELETEDFILES WORD) (DELETEDFILES WORD)
(TOTALPAGES POINTER) (TOTALPAGES POINTER)
(DELETEDPAGES POINTER) (DELETEDPAGES POINTER)
(PAGECOUNT? POINTER) (* \; (PAGECOUNT? POINTER) (* \;
 "True if INFOCHOICES includes SIZE or LENGTH, so that we can count pages")  "True if INFOCHOICES includes SIZE or LENGTH, so that we can count pages")
(COUNTERPOSITIONS POINTER) (* \; (COUNTERPOSITIONS POINTER) (* \;
 "List of pairs (left right) describing regions where the values of the counters are displayed")  "List of pairs (left right) describing regions where the values of the counters are displayed")
(COUNTERPAGESTRING POINTER) (* \; (COUNTERPAGESTRING POINTER) (* \;
 "String to print after file/page count")  "String to print after file/page count")
(OVERFLOWWIDTHS POINTER) (* \; (OVERFLOWWIDTHS POINTER) (* \;
 "List of (xpos occurrences) describing files whose names exceed default INFOSTART")  "List of (xpos occurrences) describing files whose names exceed default INFOSTART")
(INFOMENUCHOICES POINTER) (* \; (INFOMENUCHOICES POINTER) (* \;
 "Selections user has made in Info window, not necessarily the info currently displayed")  "Selections user has made in Info window, not necessarily the info currently displayed")
(UPDATEPROC POINTER) (* \; (UPDATEPROC POINTER) (* \;
 "Process doing an Update (Recompute)")  "Process doing an Update (Recompute)")
(DEFAULTDIR POINTER) (* \; (DEFAULTDIR POINTER) (* \;
 "Default directory for destination of Copy/Rename")  "Default directory for destination of Copy/Rename")
(SORTATTRIBUTE POINTER) (* \; (SORTATTRIBUTE POINTER) (* \;
 "Attribute being sorted on, or NIL if by name")  "Attribute being sorted on, or NIL if by name")
(SORTMENU POINTER) (SORTMENU POINTER)
(FBLOCK POINTER) (* \; (FBLOCK POINTER) (* \;
 "Lock acquired by filebrowser operations")  "Lock acquired by filebrowser operations")
(SORTINDEX WORD) (* \; (SORTINDEX WORD) (* \;
 "Index (zero-based) in file info of the sort attribute")  "Index (zero-based) in file info of the sort attribute")
(SIZEINDEX WORD) (* \; "Index of size attribute") (SIZEINDEX WORD) (* \; "Index of size attribute")
(FBDEPTH POINTER) (* \; (FBDEPTH POINTER) (* \;
 "Enumeration depth, or NIL for default")  "Enumeration depth, or NIL for default")
(ABORTWINDOW POINTER) (* \; (ABORTWINDOW POINTER) (* \;
 "Dotted pair of (abortwindow . menuw) for this browser's abort window.")  "Dotted pair of (abortwindow . menuw) for this browser's abort window.")
DUMMY)) DUMMY))
) )
@@ -4253,35 +4218,35 @@ FB.UNDELETEALLCOMMAND 69511 . 69790) (FB.UNDELETE.FILE 69792 . 70537)) (70540 94
FB.COPY/RENAME.ONE 72023 . 74345) (FB.COPY/RENAME.MANY 74347 . 80567) (FB.MERGE.DIRECTORIES 80569 . FB.COPY/RENAME.ONE 72023 . 74345) (FB.COPY/RENAME.MANY 74347 . 80567) (FB.MERGE.DIRECTORIES 80569 .
80987) (FB.GREATEST.PREFIX 80989 . 82345) (FB.MAYBE.INSERT.FILE 82347 . 89787) (FB.GET.NEW.FILE.SPEC 80987) (FB.GREATEST.PREFIX 80989 . 82345) (FB.MAYBE.INSERT.FILE 82347 . 89787) (FB.GET.NEW.FILE.SPEC
89789 . 93620) (FB.CANONICAL.DIRECTORY 93622 . 94719)) (94722 102506 (FB.HARDCOPYCOMMAND 94732 . 95862 89789 . 93620) (FB.CANONICAL.DIRECTORY 93622 . 94719)) (94722 102506 (FB.HARDCOPYCOMMAND 94732 . 95862
) (FB.HARDCOPY.TOFILE 95864 . 102504)) (102507 114945 (FB.EDITCOMMAND 102517 . 103318) ( ) (FB.HARDCOPY.TOFILE 95864 . 102504)) (102507 112384 (FB.EDITCOMMAND 102517 . 103318) (
FB.EDITCOMMAND.ONEFILE 103320 . 109161) (FB.EDITLISPFILE 109163 . 110202) (FB.BROWSECOMMAND 110204 . FB.EDITCOMMAND.ONEFILE 103320 . 106600) (FB.EDITLISPFILE 106602 . 107641) (FB.BROWSECOMMAND 107643 .
114943)) (114946 126739 (FB.FASTSEECOMMAND 114956 . 118406) (FB.FASTSEE.ONEFILE 118408 . 121437) ( 112382)) (112385 124178 (FB.FASTSEECOMMAND 112395 . 115845) (FB.FASTSEE.ONEFILE 115847 . 118876) (
FB.SEEFULLFN 121439 . 125570) (FB.SEEBUTTONFN 125572 . 126737)) (126740 128486 (FB.LOADCOMMAND 126750 FB.SEEFULLFN 118878 . 123009) (FB.SEEBUTTONFN 123011 . 124176)) (124179 125925 (FB.LOADCOMMAND 124189
. 127257) (FB.COMPILECOMMAND 127259 . 127797) (FB.OPERATE.ON.FILES 127799 . 128484)) (128487 176145 ( . 124696) (FB.COMPILECOMMAND 124698 . 125236) (FB.OPERATE.ON.FILES 125238 . 125923)) (125926 173584 (
FB.UPDATECOMMAND 128497 . 128722) (FB.FIX-DIRECTORY-DATES 128724 . 129331) (FB.MAYBE.EXPUNGE 129333 . FB.UPDATECOMMAND 125936 . 126161) (FB.FIX-DIRECTORY-DATES 126163 . 126770) (FB.MAYBE.EXPUNGE 126772 .
130328) (FB.UPDATEBROWSERITEMS 130330 . 143545) (FB.DATE 143547 . 144288) (FB.ADJUST.DATE.WIDTH 144290 127767) (FB.UPDATEBROWSERITEMS 127769 . 140984) (FB.DATE 140986 . 141727) (FB.ADJUST.DATE.WIDTH 141729
. 147258) (FB.SET.BROWSER.TITLE 147260 . 148117) (FB.MAYBE.WIDEN.NAMES 148119 . 150238) ( . 144697) (FB.SET.BROWSER.TITLE 144699 . 145556) (FB.MAYBE.WIDEN.NAMES 145558 . 147677) (
FB.SET.DEFAULT.NAME.WIDTH 150240 . 151604) (FB.CREATE.FILEBUCKET 151606 . 158826) ( FB.SET.DEFAULT.NAME.WIDTH 147679 . 149043) (FB.CREATE.FILEBUCKET 149045 . 156265) (
FB.CHECK.NAME.LENGTH 158828 . 161249) (FB.ADD.FILEGROUP 161251 . 162778) (FB.INSERT.DIRECTORY 162780 FB.CHECK.NAME.LENGTH 156267 . 158688) (FB.ADD.FILEGROUP 158690 . 160217) (FB.INSERT.DIRECTORY 160219
. 163018) (FB.MAKE.SUBDIRECTORY.ITEM 163020 . 164429) (FB.ADD.FILE 164431 . 165044) (FB.INSERT.FILE . 160457) (FB.MAKE.SUBDIRECTORY.ITEM 160459 . 161868) (FB.ADD.FILE 161870 . 162483) (FB.INSERT.FILE
165046 . 168458) (FB.ANALYZE.PATTERN 168460 . 173724) (FB.CANONICALIZE.PATTERN 173726 . 175038) ( 162485 . 165897) (FB.ANALYZE.PATTERN 165899 . 171163) (FB.CANONICALIZE.PATTERN 171165 . 172477) (
FB.GETALLFILEINFO 175040 . 176143)) (176146 184305 (FB.SORT.VERSIONS 176156 . 178927) ( FB.GETALLFILEINFO 172479 . 173582)) (173585 181744 (FB.SORT.VERSIONS 173595 . 176366) (
FB.DECREASING.VERSION 178929 . 179598) (FB.INCREASING.VERSION 179600 . 180221) ( FB.DECREASING.VERSION 176368 . 177037) (FB.INCREASING.VERSION 177039 . 177660) (
FB.NAMES.DECREASING.VERSION 180223 . 181258) (FB.NAMES.INCREASING.VERSION 181260 . 182257) ( FB.NAMES.DECREASING.VERSION 177662 . 178697) (FB.NAMES.INCREASING.VERSION 178699 . 179696) (
FB.DECREASING.NUMERIC.ATTR 182259 . 182939) (FB.INCREASING.NUMERIC.ATTR 182941 . 183615) ( FB.DECREASING.NUMERIC.ATTR 179698 . 180378) (FB.INCREASING.NUMERIC.ATTR 180380 . 181054) (
FB.ALPHABETIC.ATTR 183617 . 184303)) (184306 194148 (FB.SORTCOMMAND 184316 . 191146) ( FB.ALPHABETIC.ATTR 181056 . 181742)) (181745 191587 (FB.SORTCOMMAND 181755 . 188585) (
FB.INSERT.SUBDIRECTORIES 191148 . 191945) (FB.GET.SORT.MENU 191947 . 194146)) (194149 210238 ( FB.INSERT.SUBDIRECTORIES 188587 . 189384) (FB.GET.SORT.MENU 189386 . 191585)) (191588 207677 (
FB.EXPUNGECOMMAND 194159 . 196678) (FB.NEWPATTERNCOMMAND 196680 . 197078) (FB.NEWINFOCOMMAND 197080 . FB.EXPUNGECOMMAND 191598 . 194117) (FB.NEWPATTERNCOMMAND 194119 . 194517) (FB.NEWINFOCOMMAND 194519 .
199846) (FB.DEPTHCOMMAND 199848 . 201623) (FB.SHAPECOMMAND 201625 . 204967) (FB.REMOVE.FILE 204969 . 197285) (FB.DEPTHCOMMAND 197287 . 199062) (FB.SHAPECOMMAND 199064 . 202406) (FB.REMOVE.FILE 202408 .
206790) (FB.COUNT.FILE.CHANGE 206792 . 208237) (FB.SETNEWPATTERN 208239 . 209409) (FB.GET.NEWPATTERN 204229) (FB.COUNT.FILE.CHANGE 204231 . 205676) (FB.SETNEWPATTERN 205678 . 206848) (FB.GET.NEWPATTERN
209411 . 209995) (FB.OPTIONSCOMMAND 209997 . 210236)) (210273 211285 ( 206850 . 207434) (FB.OPTIONSCOMMAND 207436 . 207675)) (207712 208724 (
FB.INFOMENU.SHADEINITIALSELECTIONS 210283 . 210930) (FB.INFO.ITEM.NAMED 210932 . 211283)) (211286 FB.INFOMENU.SHADEINITIALSELECTIONS 207722 . 208369) (FB.INFO.ITEM.NAMED 208371 . 208722)) (208725
220752 (FB.MAKECOUNTERWINDOW 211296 . 212758) (FB.COUNTERW.REDISPLAYFN 212760 . 213347) ( 218191 (FB.MAKECOUNTERWINDOW 208735 . 210197) (FB.COUNTERW.REDISPLAYFN 210199 . 210786) (
FB.UPDATE.COUNTERS 213349 . 215421) (FB.DISPLAY.COUNTERS 215423 . 220483) (FB.COUNTER.STRING 220485 . FB.UPDATE.COUNTERS 210788 . 212860) (FB.DISPLAY.COUNTERS 212862 . 217922) (FB.COUNTER.STRING 217924 .
220750)) (220753 225396 (FB.MAKEHEADINGWINDOW 220763 . 222311) (FB.HEADINGW.REDISPLAYFN 222313 . 218189)) (218192 222835 (FB.MAKEHEADINGWINDOW 218202 . 219750) (FB.HEADINGW.REDISPLAYFN 219752 .
222579) (FB.HEADINGW.RESHAPEFN 222581 . 222957) (FB.HEADINGW.DISPLAY 222959 . 225394)) (225397 229580 220018) (FB.HEADINGW.RESHAPEFN 220020 . 220396) (FB.HEADINGW.DISPLAY 220398 . 222833)) (222836 227019
(FB.ICONFN 225407 . 225754) (FB.INFOMENU.WHENSELECTEDFN 225756 . 226486) (FB.CLOSEFN 226488 . 227691) (FB.ICONFN 222846 . 223193) (FB.INFOMENU.WHENSELECTEDFN 223195 . 223925) (FB.CLOSEFN 223927 . 225130)
(FB.EXPUNGE?.MENU 227693 . 228105) (FB.AFTERCLOSEFN 228107 . 228468) (FB.CLOSE&EXPUNGE 228470 . 229578 (FB.EXPUNGE?.MENU 225132 . 225544) (FB.AFTERCLOSEFN 225546 . 225907) (FB.CLOSE&EXPUNGE 225909 . 227017
)) (229581 241639 (FB.HARDCOPY.DIRECTORY 229591 . 239948) (FB.HARDCOPY.PRINT.TITLE 239950 . 240276) ( )) (227020 239078 (FB.HARDCOPY.DIRECTORY 227030 . 237387) (FB.HARDCOPY.PRINT.TITLE 237389 . 237715) (
FB.HARDCOPY.MAXWIDTH 240278 . 241637))))) FB.HARDCOPY.MAXWIDTH 237717 . 239076)))))
STOP STOP

Binary file not shown.

View File

@@ -1,14 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "19-Apr-2018 12:22:03" {DSK}<Users>kaplan>Local>medley3.5>lispcore>library>TEDIT.;2 140045 (FILECREATED "19-Sep-2021 17:08:56" {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDIT.;2 141945
changes to%: (VARS TEDITCOMS) changes to%: (VARS TEDITCOMS)
previous date%: "21-Jun-99 20:00:16" previous date%: "19-Apr-2018 12:22:03"
{DSK}<Users>kaplan>Local>medley3.5>lispcore>library>TEDIT.;1) {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDIT.;1)
(* ; " (* ; "
Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1999, 2018 by Venue & Xerox Corporation. All rights reserved. Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation.
") ")
(PRETTYCOMPRINT TEDITCOMS) (PRETTYCOMPRINT TEDITCOMS)
@@ -24,40 +24,40 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
(TEDIT.DEFAULT.PROPS NIL) (TEDIT.DEFAULT.PROPS NIL)
(TEDIT.STARTUP.MONITORLOCK (CREATE.MONITORLOCK 'TEDIT.STARTUP)) (TEDIT.STARTUP.MONITORLOCK (CREATE.MONITORLOCK 'TEDIT.STARTUP))
(TEDIT.RESTART.MENU (\CREATE.TEDIT.RESTART.MENU)) (TEDIT.RESTART.MENU (\CREATE.TEDIT.RESTART.MENU))
(* ; (* ;
 "Original was (CREATE MENU ITEMS _ '(NewEditProcess)).")  "Original was (CREATE MENU ITEMS _ '(NewEditProcess)).")
(* ; (* ;
 "Changed by yabu.fx, for SUNLOADUP without DWIM.")  "Changed by yabu.fx, for SUNLOADUP without DWIM.")
) )
(GLOBALVARS TEDIT.TENTATIVE TEDIT.DEFAULT.PROPS) (GLOBALVARS TEDIT.TENTATIVE TEDIT.DEFAULT.PROPS)
(FNS \TEDIT2 COERCETEXTOBJ TEDIT TEDIT.CHARWIDTH TEDIT.COPY TEDIT.DELETE (FNS \TEDIT2 COERCETEXTOBJ TEDIT TEDIT-SEE TEDIT.CHARWIDTH TEDIT.COPY TEDIT.DELETE
TEDIT.DO.BLUEPENDINGDELETE TEDIT.INSERT TEDIT.KILL TEDIT.MAPLINES TEDIT.MAPPIECES TEDIT.DO.BLUEPENDINGDELETE TEDIT.INSERT TEDIT.KILL TEDIT.MAPLINES TEDIT.MAPPIECES
TEDIT.MOVE TEDIT.QUIT TEDIT.STRINGWIDTH TEDIT.\INSERT TEXTOBJ TEXTSTREAM \TEDIT.INCLUDE TEDIT.MOVE TEDIT.QUIT TEDIT.STRINGWIDTH TEDIT.\INSERT TEXTOBJ TEXTSTREAM \TEDIT.INCLUDE
\TEDIT.INSERT.PIECES \TEDIT.MOVE.PIECEMAPFN \TEDIT.OBJECT.SHOWSEL \TEDIT.RESTARTFN \TEDIT.INSERT.PIECES \TEDIT.MOVE.PIECEMAPFN \TEDIT.OBJECT.SHOWSEL \TEDIT.RESTARTFN
\TEDIT.CHARDELETE \TEDIT.COPY.PIECEMAPFN \TEDIT.DELETE \TEDIT.DIFFUSE.PARALOOKS \TEDIT.CHARDELETE \TEDIT.COPY.PIECEMAPFN \TEDIT.DELETE \TEDIT.DIFFUSE.PARALOOKS
\TEDIT.FOREIGN.COPY? \TEDIT.QUIT \TEDIT.WORDDELETE \TEDIT1) \TEDIT.FOREIGN.COPY? \TEDIT.QUIT \TEDIT.WORDDELETE \TEDIT1)
(P (MOVD? 'NILL 'OBJECTOUTOFTEDIT)) (P (MOVD? 'NILL 'OBJECTOUTOFTEDIT))
(* ; (* ;
 "HOOK for looked-string copy, etc. Used in \TEDIT.FOREIGN.COPY?.")  "HOOK for looked-string copy, etc. Used in \TEDIT.FOREIGN.COPY?.")
(COMS (FNS \CREATE.TEDIT.RESTART.MENU)) (COMS (FNS \CREATE.TEDIT.RESTART.MENU))
(* ; (* ;
 "Added by yabu.fx, for SUNLOADUP without DWIM.")  "Added by yabu.fx, for SUNLOADUP without DWIM.")
(COMS (* ; "Debugging functions") (COMS (* ; "Debugging functions")
(FNS PLCHAIN PRINTLINE SEEFILE)) (FNS PLCHAIN PRINTLINE SEEFILE))
(COMS (* ; "Object-oriented editing") (COMS (* ; "Object-oriented editing")
(FNS TEDIT.INSERT.OBJECT TEDIT.EDIT.OBJECT TEDIT.FIND.OBJECT TEDIT.FIND.OBJECT.SUBTREE (FNS TEDIT.INSERT.OBJECT TEDIT.EDIT.OBJECT TEDIT.FIND.OBJECT TEDIT.FIND.OBJECT.SUBTREE
TEDIT.PUT.OBJECT TEDIT.GET.OBJECT TEDIT.OBJECT.CHANGED)) TEDIT.PUT.OBJECT TEDIT.GET.OBJECT TEDIT.OBJECT.CHANGED))
(FILES TEDITFIND TEDITHISTORY TEDITFILE TEDITWINDOW TEDITSELECTION IMAGEOBJ TFBRAVO TEDITHCPY (FILES TEDITFIND TEDITHISTORY TEDITFILE TEDITWINDOW TEDITSELECTION IMAGEOBJ TFBRAVO TEDITHCPY
TEDITPAGE TEDITMENU TEDITFNKEYS) TEDITPAGE TEDITMENU TEDITFNKEYS)
(COMS (* ; "TEDIT Support information") (COMS (* ; "TEDIT Support information")
(E (SETQ TEDITSYSTEMDATE (DATE))) (E (SETQ TEDITSYSTEMDATE (DATE)))
(VARS TEDITSYSTEMDATE (TEDITSUPPORT "TEditSupport.PA")) (VARS TEDITSYSTEMDATE (TEDITSUPPORT "TEditSupport.PA"))
(FNS MAKETEDITFORM) (FNS MAKETEDITFORM)
(P (ADDTOVAR LAFITESPECIALFORMS ("TEdit Report" 'MAKETEDITFORM (P (ADDTOVAR LAFITESPECIALFORMS ("TEdit Report" 'MAKETEDITFORM
"Report a problem with TEdit")) "Report a problem with TEdit"))
(SETQ LAFITEFORMSMENU NIL))) (SETQ LAFITEFORMSMENU NIL)))
(COMS (* ; (COMS (* ;
 "LISTFILES Interface, so the system can decide if a file is a TEdit file.")  "LISTFILES Interface, so the system can decide if a file is a TEdit file.")
(ADDVARS (PRINTFILETYPES (TEDIT (TEST \TEDIT.FORMATTEDP1) (ADDVARS (PRINTFILETYPES (TEDIT (TEST \TEDIT.FORMATTEDP1)
(EXTENSION (TEDIT]) (EXTENSION (TEDIT])
@@ -327,6 +327,43 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
(TTY.PROCESS PROC))) (TTY.PROCESS PROC)))
(RETURN PROC]) (RETURN PROC])
(TEDIT-SEE
[LAMBDA (FILE WINDOW) (* ; "Edited 19-Sep-2021 09:40 by rmk:")
(* ; "Edited 27-Feb-2021 20:07 by rmk:")
(* ; "Edited 1-Feb-88 19:00 by bvm:")
(* ;; "See FILE in a scrollable READONLY TEDIT window. If FILE is a LISP source file, copy first to a temporary NODIRCORE image file that interpretes the fontchange characters rather than showing black boxes.")
(CL:WITH-OPEN-FILE (STREAM FILE :DIRECTION :INPUT)
(LET ((SEESTREAM STREAM)
ENV TSTREAM)
(* ;; "No need to fiddle with a TEDIT file")
(IF (\TEDIT.FORMATTEDP1 STREAM)
ELSEIF (SETQ ENV (LISPSOURCEFILEP STREAM))
THEN
(* ;; "Lisp source file")
(\EXTERNALFORMAT STREAM ENV)
(SETQ SEESTREAM (OPENTEXTSTREAM))
(COPY.TEXT.TO.IMAGE STREAM SEESTREAM)
ELSE
(* ;; "Not a Lisp source file and not a Tedit file. If it is not random access, we copy it so we can scroll around.")
(CL:UNLESS (RANDACCESSP STREAM)
[SETQ SEESTREAM (OPENSTREAM '{NODIRCORE} 'BOTH 'NEW
`([TYPE ,(GETFILEINFO STREAM 'TYPE]
(FORMAT ,(\EXTERNALFORMAT STREAM]
(COPYBYTES STREAM SEESTREAM)))
[SETQ TSTREAM (TEXTSTREAM (TEDIT SEESTREAM WINDOW NIL '(READONLY T]
(WINDOWPROP (WFROMDS TSTREAM)
'TITLE
(CONCAT "SEE window for " (FULLNAME STREAM)))
(FULLNAME STREAM])
(TEDIT.CHARWIDTH (TEDIT.CHARWIDTH
[LAMBDA (CH FONT TERMSA) (* jds "22-OCT-83 19:32") [LAMBDA (CH FONT TERMSA) (* jds "22-OCT-83 19:32")
@@ -2192,7 +2229,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
(* ; "TEDIT Support information") (* ; "TEDIT Support information")
(RPAQQ TEDITSYSTEMDATE "19-Apr-2018 12:22:04") (RPAQQ TEDITSYSTEMDATE "19-Sep-2021 17:08:56")
(RPAQ TEDITSUPPORT "TEditSupport.PA") (RPAQ TEDITSUPPORT "TEditSupport.PA")
(DEFINEQ (DEFINEQ
@@ -2216,21 +2253,21 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
(ADDTOVAR PRINTFILETYPES (TEDIT (TEST \TEDIT.FORMATTEDP1) (ADDTOVAR PRINTFILETYPES (TEDIT (TEST \TEDIT.FORMATTEDP1)
(EXTENSION (TEDIT)))) (EXTENSION (TEDIT))))
(PUTPROPS TEDIT COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 1991 (PUTPROPS TEDIT COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 1991
1992 1993 1995 1999 2018)) 1992 1993 1995 1999 2018 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (4382 115216 (\TEDIT2 4392 . 7143) (COERCETEXTOBJ 7145 . 15921) (TEDIT 15923 . 20892) ( (FILEMAP (NIL (4327 117111 (\TEDIT2 4337 . 7088) (COERCETEXTOBJ 7090 . 15866) (TEDIT 15868 . 20837) (
TEDIT.CHARWIDTH 20894 . 22918) (TEDIT.COPY 22920 . 31356) (TEDIT.DELETE 31358 . 32048) ( TEDIT-SEE 20839 . 22787) (TEDIT.CHARWIDTH 22789 . 24813) (TEDIT.COPY 24815 . 33251) (TEDIT.DELETE
TEDIT.DO.BLUEPENDINGDELETE 32050 . 35117) (TEDIT.INSERT 35119 . 40649) (TEDIT.KILL 40651 . 42208) ( 33253 . 33943) (TEDIT.DO.BLUEPENDINGDELETE 33945 . 37012) (TEDIT.INSERT 37014 . 42544) (TEDIT.KILL
TEDIT.MAPLINES 42210 . 43609) (TEDIT.MAPPIECES 43611 . 44567) (TEDIT.MOVE 44569 . 54353) (TEDIT.QUIT 42546 . 44103) (TEDIT.MAPLINES 44105 . 45504) (TEDIT.MAPPIECES 45506 . 46462) (TEDIT.MOVE 46464 .
54355 . 56355) (TEDIT.STRINGWIDTH 56357 . 57028) (TEDIT.\INSERT 57030 . 59055) (TEXTOBJ 59057 . 60182) 56248) (TEDIT.QUIT 56250 . 58250) (TEDIT.STRINGWIDTH 58252 . 58923) (TEDIT.\INSERT 58925 . 60950) (
(TEXTSTREAM 60184 . 61799) (\TEDIT.INCLUDE 61801 . 65701) (\TEDIT.INSERT.PIECES 65703 . 75618) ( TEXTOBJ 60952 . 62077) (TEXTSTREAM 62079 . 63694) (\TEDIT.INCLUDE 63696 . 67596) (\TEDIT.INSERT.PIECES
\TEDIT.MOVE.PIECEMAPFN 75620 . 77699) (\TEDIT.OBJECT.SHOWSEL 77701 . 81330) (\TEDIT.RESTARTFN 81332 . 67598 . 77513) (\TEDIT.MOVE.PIECEMAPFN 77515 . 79594) (\TEDIT.OBJECT.SHOWSEL 79596 . 83225) (
83327) (\TEDIT.CHARDELETE 83329 . 87291) (\TEDIT.COPY.PIECEMAPFN 87293 . 90518) (\TEDIT.DELETE 90520 \TEDIT.RESTARTFN 83227 . 85222) (\TEDIT.CHARDELETE 85224 . 89186) (\TEDIT.COPY.PIECEMAPFN 89188 .
. 98038) (\TEDIT.DIFFUSE.PARALOOKS 98040 . 100804) (\TEDIT.FOREIGN.COPY? 100806 . 104533) ( 92413) (\TEDIT.DELETE 92415 . 99933) (\TEDIT.DIFFUSE.PARALOOKS 99935 . 102699) (\TEDIT.FOREIGN.COPY?
\TEDIT.QUIT 104535 . 107681) (\TEDIT.WORDDELETE 107683 . 112516) (\TEDIT1 112518 . 115214)) (115330 102701 . 106428) (\TEDIT.QUIT 106430 . 109576) (\TEDIT.WORDDELETE 109578 . 114411) (\TEDIT1 114413 .
115446 (\CREATE.TEDIT.RESTART.MENU 115340 . 115444)) (115545 119234 (PLCHAIN 115555 . 115829) ( 117109)) (117225 117341 (\CREATE.TEDIT.RESTART.MENU 117235 . 117339)) (117440 121129 (PLCHAIN 117450
PRINTLINE 115831 . 118595) (SEEFILE 118597 . 119232)) (119275 138918 (TEDIT.INSERT.OBJECT 119285 . . 117724) (PRINTLINE 117726 . 120490) (SEEFILE 120492 . 121127)) (121170 140813 (TEDIT.INSERT.OBJECT
128362) (TEDIT.EDIT.OBJECT 128364 . 130620) (TEDIT.FIND.OBJECT 130622 . 131515) ( 121180 . 130257) (TEDIT.EDIT.OBJECT 130259 . 132515) (TEDIT.FIND.OBJECT 132517 . 133410) (
TEDIT.FIND.OBJECT.SUBTREE 131517 . 132323) (TEDIT.PUT.OBJECT 132325 . 133984) (TEDIT.GET.OBJECT 133986 TEDIT.FIND.OBJECT.SUBTREE 133412 . 134218) (TEDIT.PUT.OBJECT 134220 . 135879) (TEDIT.GET.OBJECT 135881
. 137185) (TEDIT.OBJECT.CHANGED 137187 . 138916)) (139196 139559 (MAKETEDITFORM 139206 . 139557))))) . 139080) (TEDIT.OBJECT.CHANGED 139082 . 140811)) (141091 141454 (MAKETEDITFORM 141101 . 141452)))))
STOP STOP

Binary file not shown.

View File

@@ -1,11 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "28-Jun-2021 12:35:45"  (FILECREATED "20-Sep-2021 11:12:06" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITHCPY.;2 105754 {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITHCPY.;4 105838
changes to%: (FNS \TEDIT.HARDCOPY.FORMATLINE) changes to%: (FNS TEDIT.HARDCOPYFN)
(VARS TEDITHCPYCOMS)
previous date%: "25-Aug-94 10:54:07" previous date%: "20-Sep-2021 11:06:37"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITHCPY.;1) {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITHCPY.;3)
(* ; " (* ; "
@@ -14,41 +15,40 @@ Copyright (c) 1983-1994, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT TEDITHCPYCOMS) (PRETTYCOMPRINT TEDITHCPYCOMS)
(RPAQQ TEDITHCPYCOMS (RPAQQ TEDITHCPYCOMS
((FILES TEDITDCL) ((FILES TEDITDCL)
(DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS (\SCRATCHLEN 64)) (DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS (\SCRATCHLEN 64))
(FILES (LOADCOMP) (FILES (LOADCOMP)
TEDITDCL)) TEDITDCL))
(COMS (COMS
(* ;; "Generic interface functions and common code") (* ;; "Generic interface functions and common code")
(FNS TEDIT.HARDCOPY TEDIT.HCPYFILE \TEDIT.HARDCOPY.DISPLAYLINE (FNS TEDIT.HARDCOPY TEDIT.HCPYFILE \TEDIT.HARDCOPY.DISPLAYLINE
\TEDIT.HARDCOPY.FORMATLINE \DOFORMATTING.HARDCOPY \TEDIT.HARDCOPY.MODIFYLOOKS \TEDIT.HARDCOPY.FORMATLINE \DOFORMATTING.HARDCOPY \TEDIT.HARDCOPY.MODIFYLOOKS
\TEDIT.HCPYLOOKS.UPDATE \TEDIT.HCPYFMTSPEC \TEDIT.INTEGER.IMAGEBOX)) \TEDIT.HCPYLOOKS.UPDATE \TEDIT.HCPYFMTSPEC \TEDIT.INTEGER.IMAGEBOX))
(COMS (COMS
(* ;; "Functions for scaling distances and regions as needed during hardcopy.") (* ;; "Functions for scaling distances and regions as needed during hardcopy.")
(FNS \TEDIT.SCALE \TEDIT.SCALEREGION)) (FNS \TEDIT.SCALE \TEDIT.SCALEREGION))
(COMS (COMS
(* ;; "PRESS-specific code") (* ;; "PRESS-specific code")
(VARS (TEDIT.DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 23495))) (VARS (TEDIT.DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 23495)))
(* ; (* ;
 "0.75 inches from bottom, 1 from top")  "0.75 inches from bottom, 1 from top")
) )
[COMS [COMS
(* ;; "Support for the window-menu's HARDCOPY button, LISTFILES, etc.") (* ;; "Support for the window-menu's HARDCOPY button, LISTFILES, etc.")
(FNS TEDIT.HARDCOPYFN \TEDIT.HARDCOPY \TEDIT.PRESS.HARDCOPY) (FNS TEDIT.HARDCOPYFN \TEDIT.HARDCOPY \TEDIT.PRESS.HARDCOPY)
(P (LISTPUT (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES)) [P (LET [(IPVALUES (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES]
'TEDIT (COND (IPVALUES (* ;
(FUNCTION \TEDIT.HARDCOPY)))  "Only install INTERPRESS printing if INTERPRESS is loaded.")
(LISTPUT IPVALUES 'TEDIT (FUNCTION \TEDIT.HARDCOPY]
(P (LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES] (P (LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES]
(COND (PRESSVALUES (* ; (COND (PRESSVALUES (LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY]
 "Only install PRESS printing if PRESS is loaded.")
(LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY]
(COMS (COMS
(* ;; "vars for Japanese Line Break") (* ;; "vars for Japanese Line Break")
[VARS (TEDIT.DONT.BREAK.CHARS '(8482 8483 8491 8492 8508 8525 8539 8537 8535 9249 9251 [VARS (TEDIT.DONT.BREAK.CHARS '(8482 8483 8491 8492 8508 8525 8539 8537 8535 9249 9251
9253 9255 9257 9283 9315 9317 9319 9326 9505 9507 9253 9255 9257 9283 9315 9317 9319 9326 9505 9507
@@ -56,7 +56,7 @@ Copyright (c) 1983-1994, 2021 by Venue & Xerox Corporation.
(TEDIT.DONT.LAST.CHARS '(8524 8538 8536 8534] (TEDIT.DONT.LAST.CHARS '(8524 8538 8536 8534]
(GLOBALVARS TEDIT.DONT.BREAK.CHARS TEDIT.DONT.LAST.CHARS)) (GLOBALVARS TEDIT.DONT.BREAK.CHARS TEDIT.DONT.LAST.CHARS))
(COMS (COMS
(* ;; "Support for hardcopying several files as one document") (* ;; "Support for hardcopying several files as one document")
(FNS TEDIT-BOOK)))) (FNS TEDIT-BOOK))))
@@ -1512,22 +1512,22 @@ Copyright (c) 1983-1994, 2021 by Venue & Xerox Corporation.
(DEFINEQ (DEFINEQ
(TEDIT.HARDCOPYFN (TEDIT.HARDCOPYFN
[LAMBDA (WINDOW IMAGESTREAM) (* ; "Edited 12-Jun-90 18:35 by mitani") [LAMBDA (WINDOW IMAGESTREAM) (* ; "Edited 20-Sep-2021 11:12 by rmk:")
(* ;; (* ;;
 "This is the TEdit HARDCOPYFN, hooking into the system's standard Hardcopy window-menu operation.")  "This is the TEdit HARDCOPYFN, hooking into the system's standard Hardcopy window-menu operation.")
(PROG ((TEXTOBJ (TEXTOBJ WINDOW)) (PROG ((TEXTOBJ (TEXTOBJ WINDOW))
(TEXTSTREAM (TEXTSTREAM WINDOW))) (TEXTSTREAM (TEXTSTREAM WINDOW)))
(* ;; "TEXTSTREAM is bound here so we don't drop the steam on the floor if the window goes away, since the TEXTOBJ only has an XPOINTER to the stream in it. Please don't remove this binding!") (* ;; "TEXTSTREAM is bound here so we don't drop the steam on the floor if the window goes away, since the TEXTOBJ only has an XPOINTER to the stream in it. Please don't remove this binding!")
(RESETLST (RESETLST
[RESETSAVE (\TEDIT.MARKACTIVE TEXTOBJ) [RESETSAVE (\TEDIT.MARKACTIVE TEXTOBJ)
'(AND (\TEDIT.MARKINACTIVE OLDVALUE] '(AND (\TEDIT.MARKINACTIVE OLDVALUE]
(replace (TEXTOBJ EDITOPACTIVE) of TEXTOBJ with 'Hardcopy) (replace (TEXTOBJ EDITOPACTIVE) of TEXTOBJ with 'Hardcopy)
(TEDIT.FORMAT.HARDCOPY TEXTOBJ IMAGESTREAM))) (* ; "Build the hardcopy") (* ; "Build the hardcopy")
]) (TEDIT.FORMAT.HARDCOPY TEXTOBJ IMAGESTREAM))])
(\TEDIT.HARDCOPY (\TEDIT.HARDCOPY
[LAMBDA (FILE PFILE) (* ; "Edited 12-Jun-90 18:35 by mitani") [LAMBDA (FILE PFILE) (* ; "Edited 12-Jun-90 18:35 by mitani")
@@ -1562,24 +1562,24 @@ Copyright (c) 1983-1994, 2021 by Venue & Xerox Corporation.
PFILE)]) PFILE)])
) )
(LISTPUT (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES)) [LET [(IPVALUES (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES]
'TEDIT (COND
(FUNCTION \TEDIT.HARDCOPY)) (IPVALUES (* ;
 "Only install INTERPRESS printing if INTERPRESS is loaded.")
(LISTPUT IPVALUES 'TEDIT (FUNCTION \TEDIT.HARDCOPY]
[LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES] [LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES]
(COND (COND
(PRESSVALUES (* ; (PRESSVALUES (LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY]
 "Only install PRESS printing if PRESS is loaded.")
(LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY]
(* ;; "vars for Japanese Line Break") (* ;; "vars for Japanese Line Break")
(RPAQQ TEDIT.DONT.BREAK.CHARS (8482 8483 8491 8492 8508 8525 8539 8537 8535 9249 9251 9253 9255 (RPAQQ TEDIT.DONT.BREAK.CHARS
9257 9283 9315 9317 9319 9326 9505 9507 9509 9511 9513 9539 (8482 8483 8491 8492 8508 8525 8539 8537 8535 9249 9251 9253 9255 9257 9283 9315 9317 9319
9571 9573 9575 9582)) 9326 9505 9507 9509 9511 9513 9539 9571 9573 9575 9582))
(RPAQQ TEDIT.DONT.LAST.CHARS (8524 8538 8536 8534)) (RPAQQ TEDIT.DONT.LAST.CHARS (8524 8538 8536 8534))
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1612,11 +1612,11 @@ Copyright (c) 1983-1994, 2021 by Venue & Xerox Corporation.
(PUTPROPS TEDITHCPY COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 (PUTPROPS TEDITHCPY COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990
1991 1992 1993 1994 2021)) 1991 1992 1993 1994 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (3088 99806 (TEDIT.HARDCOPY 3098 . 4349) (TEDIT.HCPYFILE 4351 . 6425) ( (FILEMAP (NIL (3137 99855 (TEDIT.HARDCOPY 3147 . 4398) (TEDIT.HCPYFILE 4400 . 6474) (
\TEDIT.HARDCOPY.DISPLAYLINE 6427 . 20572) (\TEDIT.HARDCOPY.FORMATLINE 20574 . 67896) ( \TEDIT.HARDCOPY.DISPLAYLINE 6476 . 20621) (\TEDIT.HARDCOPY.FORMATLINE 20623 . 67945) (
\DOFORMATTING.HARDCOPY 67898 . 81191) (\TEDIT.HARDCOPY.MODIFYLOOKS 81193 . 83600) ( \DOFORMATTING.HARDCOPY 67947 . 81240) (\TEDIT.HARDCOPY.MODIFYLOOKS 81242 . 83649) (
\TEDIT.HCPYLOOKS.UPDATE 83602 . 94210) (\TEDIT.HCPYFMTSPEC 94212 . 99232) (\TEDIT.INTEGER.IMAGEBOX \TEDIT.HCPYLOOKS.UPDATE 83651 . 94259) (\TEDIT.HCPYFMTSPEC 94261 . 99281) (\TEDIT.INTEGER.IMAGEBOX
99234 . 99804)) (99895 100979 (\TEDIT.SCALE 99905 . 100199) (\TEDIT.SCALEREGION 100201 . 100977)) ( 99283 . 99853)) (99944 101028 (\TEDIT.SCALE 99954 . 100248) (\TEDIT.SCALEREGION 100250 . 101026)) (
101222 103719 (TEDIT.HARDCOPYFN 101232 . 102083) (\TEDIT.HARDCOPY 102085 . 102994) ( 101271 103822 (TEDIT.HARDCOPYFN 101281 . 102186) (\TEDIT.HARDCOPY 102188 . 103097) (
\TEDIT.PRESS.HARDCOPY 102996 . 103717)) (104701 105604 (TEDIT-BOOK 104711 . 105602))))) \TEDIT.PRESS.HARDCOPY 103099 . 103820)) (104785 105688 (TEDIT-BOOK 104795 . 105686)))))
STOP STOP

Binary file not shown.

View File

@@ -1,11 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "24-Aug-2021 23:30:39"  (FILECREATED "19-Sep-2021 23:11:04" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;3 185251 {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;10 186372
changes to%: (FNS \TEDIT.BUTTONEVENTFN TEXTSTREAM.TITLE \TEDIT.ORIGINAL.WINDOW.TITLE) changes to%: (FNS \TEDIT.SCROLLFN)
previous date%: "21-Jun-99 20:00:42" previous date%: "19-Sep-2021 22:58:18"
{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;1) {DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;9)
(* ; " (* ; "
@@ -29,29 +29,29 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat
\TEDIT.UNSPLITCURSOR \TEDIT.MAKESPLITCURSOR) \TEDIT.UNSPLITCURSOR \TEDIT.MAKESPLITCURSOR)
(INITVARS (TEDIT.DEFAULT.WINDOW NIL)) (INITVARS (TEDIT.DEFAULT.WINDOW NIL))
(GLOBALVARS TEDIT.DEFAULT.WINDOW) (GLOBALVARS TEDIT.DEFAULT.WINDOW)
(COMS (* ; (COMS (* ;
 "User-level %"is this a TEdit window?%" function.")  "User-level %"is this a TEdit window?%" function.")
(FNS TEDITWINDOWP)) (FNS TEDITWINDOWP))
(COMS (* ; "User-typein support") (COMS (* ; "User-typein support")
(FNS TEDIT.GETINPUT \TEDIT.MAKEFILENAME)) (FNS TEDIT.GETINPUT \TEDIT.MAKEFILENAME))
(COMS (* ; "Attached Prompt window support.") (COMS (* ; "Attached Prompt window support.")
(FNS TEDIT.PROMPTPRINT TEDIT.PROMPTFLASH \TEDIT.PROMPT.PAGEFULLFN) (FNS TEDIT.PROMPTPRINT TEDIT.PROMPTFLASH \TEDIT.PROMPT.PAGEFULLFN)
(INITVARS (TEDIT.PROMPT.FONT (FONTCREATE 'GACHA 10)) (INITVARS (TEDIT.PROMPT.FONT (FONTCREATE 'GACHA 10))
(TEDIT.PROMPTWINDOW.HEIGHT NIL)) (TEDIT.PROMPTWINDOW.HEIGHT NIL))
(GLOBALVARS TEDIT.PROMPT.FONT TEDIT.PROMPTWINDOW.HEIGHT)) (GLOBALVARS TEDIT.PROMPT.FONT TEDIT.PROMPTWINDOW.HEIGHT))
(COMS (* ; "Title creation and update") (COMS (* ; "Title creation and update")
(FNS TEXTSTREAM.TITLE \TEDIT.ORIGINAL.WINDOW.TITLE \TEDIT.WINDOW.TITLE (FNS TEXTSTREAM.TITLE \TEDIT.ORIGINAL.WINDOW.TITLE \TEDIT.WINDOW.TITLE
\TEXTSTREAM.FILENAME)) \TEXTSTREAM.FILENAME))
(COMS (* ; "Screen updating utilities") (COMS (* ; "Screen updating utilities")
(FNS TEDIT.DEACTIVATE.WINDOW \TEDIT.REPAINTFN \TEDIT.RESHAPEFN \TEDIT.SCROLLFN)) (FNS TEDIT.DEACTIVATE.WINDOW \TEDIT.REPAINTFN \TEDIT.RESHAPEFN \TEDIT.SCROLLFN))
(COMS (* ; "Process-world interfaces") (COMS (* ; "Process-world interfaces")
(FNS \TEDIT.PROCIDLEFN \TEDIT.PROCENTRYFN \TEDIT.PROCEXITFN)) (FNS \TEDIT.PROCIDLEFN \TEDIT.PROCENTRYFN \TEDIT.PROCEXITFN))
(COMS (INITVARS (\CARETRATE 333)) (COMS (INITVARS (\CARETRATE 333))
(* ; (* ;
 "Caret handler; stolen from CHAT.")  "Caret handler; stolen from CHAT.")
(FNS \EDIT.DOWNCARET \EDIT.FLIPCARET TEDIT.FLASHCARET \EDIT.UPCARET (FNS \EDIT.DOWNCARET \EDIT.FLIPCARET TEDIT.FLASHCARET \EDIT.UPCARET
TEDIT.NORMALIZECARET \SETCARET \TEDIT.CARET)) TEDIT.NORMALIZECARET \SETCARET \TEDIT.CARET))
[COMS (* ; "Menu interfacing") [COMS (* ; "Menu interfacing")
(FNS TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENUFN TEDIT.REMOVE.MENUITEM \TEDIT.CREATEMENU (FNS TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENUFN TEDIT.REMOVE.MENUITEM \TEDIT.CREATEMENU
\TEDIT.MENU.WHENHELDFN \TEDIT.MENU.WHENSELECTEDFN) \TEDIT.MENU.WHENHELDFN \TEDIT.MENU.WHENSELECTEDFN)
(GLOBALVARS TEDIT.DEFAULT.MENU) (GLOBALVARS TEDIT.DEFAULT.MENU)
@@ -79,21 +79,21 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat
'(TEdit '(TEDIT) '(TEdit '(TEDIT)
"Opens a TEdit window for use."] "Opens a TEdit window for use."]
(SETQ BackgroundMenu NIL] (SETQ BackgroundMenu NIL]
(COMS (* ; "titled icon info") (COMS (* ; "titled icon info")
(FILES ICONW) (FILES ICONW)
(BITMAPS TEDITICON TEDITMASK) (BITMAPS TEDITICON TEDITMASK)
(INITVARS (TEDIT.ICON.FONT (FONTCREATE 'HELVETICA 8 'BOLD)) (INITVARS (TEDIT.ICON.FONT (FONTCREATE 'HELVETICA 8 'BOLD))
[TEDIT.ICON.TITLE.REGION (CONS 16 (CONS 4 (CONS 64 (CONS 77 NIL] [TEDIT.ICON.TITLE.REGION (CONS 16 (CONS 4 (CONS 64 (CONS 77 NIL]
(* ; (* ;
 "Original was (create REGION BOTTOM _ 4 LEFT _ 16 WIDTH _ 64 HEIGHT _ 77).")  "Original was (create REGION BOTTOM _ 4 LEFT _ 16 WIDTH _ 64 HEIGHT _ 77).")
(* ; (* ;
 "Changed by yabu.fx, for SUNLOADUP without DWIM.")  "Changed by yabu.fx, for SUNLOADUP without DWIM.")
[TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS [TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS
TEDIT.ICON.TITLE.REGION TEDIT.ICON.TITLE.REGION
NIL] NIL]
(* ; "Original was (create TITLEDICON ICON _ TEDITICON MASK _ TEDITMASK TITLEREG _ TEDIT.ICON.TITLE.REGION).") (* ; "Original was (create TITLEDICON ICON _ TEDITICON MASK _ TEDITMASK TITLEREG _ TEDIT.ICON.TITLE.REGION).")
(* ; (* ;
 "Changed by yabu.fx, for SUNLOADUP without DWIM.")  "Changed by yabu.fx, for SUNLOADUP without DWIM.")
]) ])
(FILESLOAD TEDITDCL) (FILESLOAD TEDITDCL)
@@ -454,342 +454,345 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat
(PROCESSP (WINDOWPROP W 'PROCESS]) (PROCESSP (WINDOWPROP W 'PROCESS])
(\TEDIT.BUTTONEVENTFN (\TEDIT.BUTTONEVENTFN
[LAMBDA (W STREAM) (* ; "Edited 24-Aug-2021 23:30 by rmk:") [LAMBDA (W STREAM) (* ; "Edited 19-Sep-2021 22:58 by rmk:")
(* ;; "Handle button events for a TEdit window") (* ;; "Handle button events for a TEdit window. If no button is down, we got control on button-up transition, so ignore it.")
(AND STREAM (SETQ STREAM (TEXTOBJ STREAM))) (TOTOPW W)
(PROG* ((OSEL NIL)
(SEL NIL)
[TEXTOBJ (OR STREAM (WINDOWPROP W 'TEXTOBJ]
(DS (WINDOWPROP W 'DSP))
USERFN
(GLOBALSEL TEDIT.SELECTION)
(X (LASTMOUSEX W))
(Y (LASTMOUSEY W))
(CLIPREGION (DSPCLIPPINGREGION NIL W))
(SELOPERATION 'NORMAL)
(SELFN (TEXTPROP TEXTOBJ 'SELFN))
(EXTENDFLG NIL)
(OLDX -32000)
(OLDY -32000)
SELFINALFN PROC NOSEL)
(COND
((NOT (MOUSESTATE (OR LEFT MIDDLE RIGHT))) (* ;
 "No button is down -- we got control on button-up transition, so ignore it.")
(RETURN))
(TEDIT.SELPENDING (* ;
 "There is already a selection in progress. Don't allow another to interfere.")
(RETURN)))
(replace (SELECTION CH#) of TEDIT.SCRATCHSELECTION with 0)
(* ;
 "Mark the user-visible scratch selection fresh, so changes can be detected...")
(COND
[[OR (NOT TEXTOBJ)
(fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
(AND (NOT (WINDOWPROP W 'PROCESS))
(NOT (TEXTPROP TEXTOBJ 'READONLY))
(NOT (SHIFTDOWNP 'SHIFT))
(NOT (SHIFTDOWNP 'CTRL))
(NOT (SHIFTDOWNP 'META))
(NOT (KEYDOWNP 'MOVE))
(NOT (KEYDOWNP 'COPY] (* ; "There's no edit session behind this window. You can only do window ops, or re-establish a session.")
(TOTOPW W)
(COND
((\TEDIT.MOUSESTATE RIGHT) (* ;
 "Right button gets the window command menu")
(DOWINDOWCOM W))
((AND TEXTOBJ (NOT (TEXTPROP TEXTOBJ 'READONLY))
(NOT (TEXTPROP TEXTOBJ 'SELECTONLY))
[NOT (PROCESSP (WINDOWPROP W 'PROCESS]
(\TEDIT.MOUSESTATE MIDDLE)) (* ;
 "Middle button on a dead window gives a menu for re-starting TEDIT")
(COND
((EQ (MENU TEDIT.RESTART.MENU)
'NewEditProcess)
(replace (TEXTOBJ EDITOPACTIVE) of TEXTOBJ with NIL)
(TEDIT (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ)
W]
[(IGREATERP Y (fetch TOP of CLIPREGION))
(* ;
 "It's not inside the window's REAL region, so call on a menu.")
(TOTOPW W)
(* ;; "RMK: This comment was originally just after the DON'T below, which generated a value-of-comment used message.") (* ;; "RMK: 2021/9 TOTOPW was in (almost) all the conditional branches, I moved it up so that it always happens, even if the click is perhaps in a menu. There were cases where a second click in the window was needed to bring it above an overlapping window that it was under. I think perhaps it was because the mouse button may not have been seen as down on the first click, so it would return before it raised the window. But that was really bizarre--maybe the click was to see what was obscured by the overlapping window.")
(* ;; "HAD BEEN: (COND ((AND (SETQ PROC (WINDOWPROP W 'PROCESS)) (PROCESSP PROC)) ; This window has a live process behind it; go evaluate the button fn there. (PROCESS.APPLY PROC USERFN (LIST W))) (T ; Otherwise, create a new process to handle the menu. (ADD.PROCESS (LIST USERFN (KWOTE W)))))") (CL:WHEN (AND (MOUSESTATE (OR LEFT MIDDLE RIGHT))
(NOT TEDIT.SELPENDING))
(COND (* ;; "(RMK: old comment): Bail out if the mouse isn't down or there is a pending selection--don't want another selection to interfere.")
((\TEDIT.MOUSESTATE RIGHT)
(DOWINDOWCOM W))
((MOUSESTATE (OR LEFT MIDDLE))
(AND TEXTOBJ (SETQ USERFN (WINDOWPROP W 'TEDIT.TITLEMENUFN))
(NEQ USERFN 'DON'T)
(ADD.PROCESS (LIST USERFN (KWOTE W]
((AND TEXTOBJ (EQ (fetch (TEXTOBJ MOUSEREGION) of TEXTOBJ)
'WINDOW)) (* ;
 "We're in the window-ops region of the window. Do a window split or something")
(\TEDIT.WINDOW.OPS TEXTOBJ W))
((AND TEXTOBJ (NOT (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)))
(* ;
 "Usual case -- he's really selecting something. And there's nothing else going on now.")
(TOTOPW W) (* ;
 "Move the editing window to the top, so he can select wherever he wants.")
(\CARET.DOWN) (* ;
 "Make sure the caret isn't being displayed.")
(RESETLST
(RESETSAVE TEDIT.SELPENDING TEXTOBJ)
(* ;; "Tell all TEdits not to run, since there is a selection in progress. This is reset to NIL on return from here, to re-enable TEdit runs.") (AND STREAM (SETQ STREAM (TEXTOBJ STREAM)))
[LET* ((OSEL NIL)
(SEL NIL)
[TEXTOBJ (OR STREAM (WINDOWPROP W 'TEXTOBJ]
(DS (WINDOWPROP W 'DSP))
USERFN
(GLOBALSEL TEDIT.SELECTION)
(X (LASTMOUSEX W))
(Y (LASTMOUSEY W))
(CLIPREGION (DSPCLIPPINGREGION NIL W))
(SELOPERATION 'NORMAL)
(SELFN (TEXTPROP TEXTOBJ 'SELFN))
(EXTENDFLG NIL)
(OLDX -32000)
(OLDY -32000)
SELFINALFN PROC NOSEL)
(replace (SELECTION CH#) of TEDIT.SCRATCHSELECTION with 0)
(* ;
 "Mark the user-visible scratch selection fresh, so changes can be detected...")
(COND
[[OR (NOT TEXTOBJ)
(fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
(AND (NOT (WINDOWPROP W 'PROCESS))
(NOT (TEXTPROP TEXTOBJ 'READONLY))
(NOT (SHIFTDOWNP 'SHIFT))
(NOT (SHIFTDOWNP 'CTRL))
(NOT (SHIFTDOWNP 'META))
(NOT (KEYDOWNP 'MOVE))
(NOT (KEYDOWNP 'COPY] (* ; "There's no edit session behind this window. You can only do window ops, or re-establish a session.")
(COND
((\TEDIT.MOUSESTATE RIGHT) (* ;
 "Right button gets the window command menu")
(DOWINDOWCOM W))
((AND TEXTOBJ (NOT (TEXTPROP TEXTOBJ 'READONLY))
(NOT (TEXTPROP TEXTOBJ 'SELECTONLY))
[NOT (PROCESSP (WINDOWPROP W 'PROCESS]
(\TEDIT.MOUSESTATE MIDDLE)) (* ;
 "Middle button on a dead window gives a menu for re-starting TEDIT")
(COND
((EQ (MENU TEDIT.RESTART.MENU)
'NewEditProcess)
(replace (TEXTOBJ EDITOPACTIVE) of TEXTOBJ with NIL)
(TEDIT (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ)
W]
[(IGREATERP Y (fetch TOP of CLIPREGION))
(* ;
 "It's not inside the window's REAL region, so call on a menu.")
(RESETSAVE (for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ) (* ;; "RMK: This comment was originally just after the DON'T below, which generated a value-of-comment used message.")
do (replace TCCARET of CARET with (\CARET.CREATE
BXHICARET)))
(LIST '\TEDIT.CARET (fetch (TEXTOBJ CARET) of TEXTOBJ)))
(* ;
 "Then make the caret be the special, tall one so he can see it.")
(COND
((KEYDOWNP 'COPY) (* ;
 "In a read-only document, you can only copy.")
(SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPY))
((AND (KEYDOWNP 'MOVE)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ;
 "The MOVE key is down, so set MOVE mode.")
(SETQ GLOBALSEL TEDIT.MOVESELECTION)
(SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
(SETQ SELOPERATION 'MOVE))
[(SHIFTDOWNP 'SHIFT) (* ;
 "the SHIFT key is down; mark this selection for COPY or MOVE.")
(COND
((AND (SHIFTDOWNP 'CTRL)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ; "CTRL-SHIFT select means MOVE.")
(SETQ GLOBALSEL TEDIT.MOVESELECTION)
(SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
(SETQ SELOPERATION 'MOVE))
(T (SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPY]
((SHIFTDOWNP 'META) (* ;
 "He's holding the meta key down , do a copylooks selection")
(SETQ GLOBALSEL TEDIT.COPYLOOKSSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPYLOOKS))
((AND (SHIFTDOWNP 'CTRL)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ;
 "He's holding the control key down; note the fact.")
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
NIL NIL)
(SETQ GLOBALSEL TEDIT.DELETESELECTION)
[COND
((fetch (SELECTION SET) of (fetch (TEXTOBJ DELETESEL)
of TEXTOBJ))
(* ;
 "There's a pending delete selection. Use it, and turn off the existing normal selection.")
)
(T (* ;
 "No existing delete selection. Use the normal selection as a starting point.")
(\COPYSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
(fetch (TEXTOBJ DELETESEL) of TEXTOBJ]
(replace (SELECTION SET) of (fetch (TEXTOBJ SEL) of TEXTOBJ)
with NIL)
(* ;; "Remember to turn off the normal selection, since we'll be moving it to a new spot after the deletion.") (* ;; "HAD BEEN: (COND ((AND (SETQ PROC (WINDOWPROP W 'PROCESS)) (PROCESSP PROC)) ; This window has a live process behind it; go evaluate the button fn there. (PROCESS.APPLY PROC USERFN (LIST W))) (T ; Otherwise, create a new process to handle the menu. (ADD.PROCESS (LIST USERFN (KWOTE W)))))")
(SETQ OSEL (fetch (TEXTOBJ DELETESEL) of TEXTOBJ)) (COND
(SETQ SELOPERATION 'DELETE) ((\TEDIT.MOUSESTATE RIGHT)
(TEDIT.SET.SEL.LOOKS OSEL 'DELETE) (DOWINDOWCOM W))
(replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL)) ((MOUSESTATE (OR LEFT MIDDLE))
(T (SETQ OSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)) (AND TEXTOBJ (SETQ USERFN (WINDOWPROP W 'TEDIT.TITLEMENUFN))
(replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL) (NEQ USERFN 'DON'T)
(* ; "Reset the pending-delete flag.") (ADD.PROCESS (LIST USERFN (KWOTE W]
)) ((AND TEXTOBJ (EQ (fetch (TEXTOBJ MOUSEREGION) of TEXTOBJ)
(\COPYSEL OSEL GLOBALSEL) 'WINDOW)) (* ;
(bind (OSELOP _ SELOPERATION)  "We're in the window-ops region of the window. Do a window split or something")
while [OR (SHIFTDOWNP 'SHIFT) (\TEDIT.WINDOW.OPS TEXTOBJ W))
(SHIFTDOWNP 'CTRL) ((AND TEXTOBJ (NOT (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)))
(SHIFTDOWNP 'META) (* ;
(KEYDOWNP 'MOVE)  "Usual case -- he's really selecting something. And there's nothing else going on now.")
(KEYDOWNP 'COPY) (\CARET.DOWN) (* ;
(NOT (ZEROP (LOGAND LASTMOUSEBUTTONS 7]  "Make sure the caret isn't being displayed.")
do (* ; (RESETLST
 "Poll the selection & display its current state") (RESETSAVE TEDIT.SELPENDING TEXTOBJ)
[COND
((ZEROP (LOGAND LASTMOUSEBUTTONS 7))
(* ;
 "No mouse buttons are down; don't try anything.")
(SETQ OLDX -32000) (* ;
 "However, remember that pushing a mouse button is a change of status that we should notice.")
)
((KEYDOWNP 'MOVE) (* ;
 "the MOVE key is down; mark this selection for MOVE.")
(SETQ SELOPERATION 'MOVE))
[(OR (SHIFTDOWNP 'SHIFT)
(KEYDOWNP 'COPY)) (* ;
 "the SHIFT key is down; mark this selection for COPY or MOVE.")
(COND
((SHIFTDOWNP 'CTRL) (* ;
 "He's holding down both ctrl and shift -- do a move.")
(SETQ SELOPERATION 'MOVE))
(T (* ;
 "Just the SHIFT key. It's a COPY")
(SETQ SELOPERATION 'COPY]
((SHIFTDOWNP 'META) (* ;
 "He's holding the meta key down; note the fact.")
(SETQ SELOPERATION 'COPYLOOKS))
((SHIFTDOWNP 'CTRL) (* ;
 "He's holding only the CTRL key -- mark the selection for deletion.")
(SETQ SELOPERATION 'DELETE))
(T (* ;
 "No key being held down; revert to normal selection.")
(SETQ SELOPERATION 'NORMAL]
(COND
[(AND (OR [NOT (IEQP OLDX (SETQ X (LASTMOUSEX DS]
[NOT (IEQP OLDY (SETQ Y (LASTMOUSEY DS]
(NEQ OSELOP SELOPERATION))
(INSIDEP CLIPREGION X Y))
(* ;; "Only do selection if (1) the mouse is inside the window proper and (2) the mouse has moved, or the kind of selection has changed") (* ;; "Tell all TEdits not to run, since there is a selection in progress. This is reset to NIL on return from here, to re-enable TEdit runs.")
(* ;; "Must precede the scroll-region test, so that we don't try to scroll while the mouse is inside the main window, even if the scroll bar overlaps the window (at left edge of screen, say)") (RESETSAVE (for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ)
do (replace TCCARET of CARET with (\CARET.CREATE
BXHICARET)))
(LIST '\TEDIT.CARET (fetch (TEXTOBJ CARET) of TEXTOBJ)))
(* ;
 "Then make the caret be the special, tall one so he can see it.")
(COND
((KEYDOWNP 'COPY) (* ;
 "In a read-only document, you can only copy.")
(SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPY))
((AND (KEYDOWNP 'MOVE)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ;
 "The MOVE key is down, so set MOVE mode.")
(SETQ GLOBALSEL TEDIT.MOVESELECTION)
(SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
(SETQ SELOPERATION 'MOVE))
[(SHIFTDOWNP 'SHIFT) (* ;
 "the SHIFT key is down; mark this selection for COPY or MOVE.")
(COND
((AND (SHIFTDOWNP 'CTRL)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ; "CTRL-SHIFT select means MOVE.")
(SETQ GLOBALSEL TEDIT.MOVESELECTION)
(SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
(SETQ SELOPERATION 'MOVE))
(T (SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPY]
((SHIFTDOWNP 'META) (* ;
 "He's holding the meta key down , do a copylooks selection")
(SETQ GLOBALSEL TEDIT.COPYLOOKSSELECTION)
(SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
(SETQ SELOPERATION 'COPYLOOKS))
((AND (SHIFTDOWNP 'CTRL)
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
(* ;
 "He's holding the control key down; note the fact.")
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
NIL NIL)
(SETQ GLOBALSEL TEDIT.DELETESELECTION)
[COND
((fetch (SELECTION SET) of (fetch (TEXTOBJ DELETESEL)
of TEXTOBJ))
(* ;
 "There's a pending delete selection. Use it, and turn off the existing normal selection.")
)
(T (* ;
 "No existing delete selection. Use the normal selection as a starting point.")
(\COPYSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
(fetch (TEXTOBJ DELETESEL) of TEXTOBJ]
(replace (SELECTION SET) of (fetch (TEXTOBJ SEL) of TEXTOBJ
) with NIL)
(SETQ OLDX X) (* ;; "Remember to turn off the normal selection, since we'll be moving it to a new spot after the deletion.")
(SETQ OLDY Y)
[COND
((\TEDIT.MOUSESTATE LEFT) (* ;
 "Left button is character selection")
(SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ
MOUSEREGION
)
of TEXTOBJ)
NIL SELOPERATION W))
(SETQ EXTENDFLG NIL))
((\TEDIT.MOUSESTATE MIDDLE)
(* ; "Middle button is word selection")
(SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ
MOUSEREGION
)
of TEXTOBJ)
T SELOPERATION W))
(SETQ EXTENDFLG NIL))
[(\TEDIT.MOUSESTATE RIGHT)(* ; "RIght button extends selections")
(COND
((NEQ SELOPERATION OSELOP)
(* ;; "Things changed since the last selection. Grab the prior selection info, so that the extension is taken from the selection NOW being made, rather than the last existing old-type selection.") (SETQ OSEL (fetch (TEXTOBJ DELETESEL) of TEXTOBJ))
(SETQ SELOPERATION 'DELETE)
(\COPYSEL OSEL GLOBALSEL))) (TEDIT.SET.SEL.LOOKS OSEL 'DELETE)
(COND (replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL))
((fetch (SELECTION SET) of GLOBALSEL) (T (SETQ OSEL (fetch (TEXTOBJ SEL) of TEXTOBJ))
(AND TEDIT.EXTEND.PENDING.DELETE (EQ SELOPERATION (replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL)
'NORMAL) (* ; "Reset the pending-delete flag.")
(SETQ SELOPERATION 'PENDINGDEL) ))
(replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ (\COPYSEL OSEL GLOBALSEL)
with T)) (* ; (bind (OSELOP _ SELOPERATION)
 "If TeditBluePendingDelete flag is set, then simulate Laurel's blue-pending-delete feature.") while [OR (SHIFTDOWNP 'SHIFT)
(SETQ SEL (TEDIT.EXTEND.SEL X Y GLOBALSEL TEXTOBJ (SHIFTDOWNP 'CTRL)
SELOPERATION W)) (SHIFTDOWNP 'META)
(SETQ EXTENDFLG T] (KEYDOWNP 'MOVE)
(T (* ; (KEYDOWNP 'COPY)
 "The mouse buttons are up, leaving us with a pro-tem 'permanent' selection") (NOT (ZEROP (LOGAND LASTMOUSEBUTTONS 7]
(\COPYSEL OSEL GLOBALSEL) do (* ;
(* ;  "Poll the selection & display its current state")
 "And SEL is NOT SET ANY LONGER, so it won't get copied into OSEL down below") [COND
(AND SEL (replace (SELECTION SET) of SEL with ((ZEROP (LOGAND LASTMOUSEBUTTONS 7))
NIL] (* ;
[COND  "No mouse buttons are down; don't try anything.")
((AND SEL (fetch (SELECTION SET) of SEL) (SETQ OLDX -32000) (* ;
SELFN) (* ;  "However, remember that pushing a mouse button is a change of status that we should notice.")
 "The selection was set, but there's a SELFN that has veto authority")
(COND
((EQ (APPLY* SELFN TEXTOBJ SEL SELOPERATION 'TENTATIVE)
'DON'T) (* ;
 "The selfn vetoed this selection, so mark it un-set.")
(replace (SELECTION SET) of SEL with NIL]
(COND
((\TEDIT.SEL.CHANGED? SEL OSEL OSELOP SELOPERATION)
(* ;
 "Something interesting about the selection changed. We have to re-display its image.")
(COND
((OR (EQ SELOPERATION 'NORMAL)
(EQ SELOPERATION 'PENDINGDEL))
(* ;
 "For a normal selection, set the 'window last selected in' for the TEXTOBJ")
(replace (TEXTOBJ SELWINDOW) of TEXTOBJ with
W)))
(SETQ OSEL (\TEDIT.REFRESH.SHOWSEL TEXTOBJ SEL OSEL OSELOP
SELOPERATION EXTENDFLG))
(SETQ OSELOP SELOPERATION))
([AND OSEL (fetch (SELECTION SET) of OSEL)
(EQ (fetch (SELECTION SELKIND) of OSEL)
'VOLATILE)
(OR (NOT SEL)
(NOT (fetch (SELECTION SET) of SEL]
(* ;; "There is an old selection around, but it is VOLATILE -- i.e., it shouldn't last longer than something is pointing at it. Turn it off.")
(\SHOWSEL OSEL NIL NIL)
(replace (SELECTION SET) of OSEL with NIL]
((IN/SCROLL/BAR? W LASTMOUSEX LASTMOUSEY)
(* ;
 "If he moves to the scroll bar, let him scroll without trouble")
(SCROLL.HANDLER W)))
(BLOCK) (* ; "Give other processes a chance")
(GETMOUSESTATE) (* ; "And get the new mouse info")
(TEDIT.CURSORMOVEDFN W))
(\COPYSEL OSEL GLOBALSEL)
(COND
((fetch (SELECTION SET) of OSEL)
(* ;
 "Only if a selection REALLY got made should we do this....")
(SELECTQ SELOPERATION
(COPY (* ;
 "A COPY selection -- set the copy flag, and see if this is a copy to a non-TEdit window")
(SETQ TEDIT.COPY.PENDING T)
(replace (SELECTION SET) of OSEL with NIL)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
(\TEDIT.FOREIGN.COPY? GLOBALSEL)
(* ;
 "Maybe copy into the SYSBUF, if the recipient isn't a TEdit window.")
)
(COPYLOOKS (* ; "A COPYLOOKS selection")
(SETQ TEDIT.COPYLOOKS.PENDING T)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
(replace (SELECTION SET) of OSEL with NIL))
(MOVE (* ;
 "A MOVE selection -- set the flag to signal the TEdit command loop,")
(SETQ TEDIT.MOVE.PENDING T) (* ;
 "And turn off OSEL, to avoid spurious highlighting")
(replace (SELECTION SET) of OSEL with NIL))
(DELETE (SETQ TEDIT.DEL.PENDING T)
(replace (SELECTION SET) of OSEL with NIL)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
) )
(NORMAL (* ; ((KEYDOWNP 'MOVE) (* ;
 "This is a normal selection; set the caret looks")  "the MOVE key is down; mark this selection for MOVE.")
(replace (TEXTOBJ CARETLOOKS) of TEXTOBJ (SETQ SELOPERATION 'MOVE))
with (\TEDIT.GET.INSERT.CHARLOOKS TEXTOBJ OSEL))) [(OR (SHIFTDOWNP 'SHIFT)
NIL))) (KEYDOWNP 'COPY)) (* ;
(AND SELFN (APPLY* SELFN TEXTOBJ GLOBALSEL SELOPERATION 'FINAL))  "the SHIFT key is down; mark this selection for COPY or MOVE.")
(* ; (COND
 "Give a user exit routine control, perhaps for logging of selections.") ((SHIFTDOWNP 'CTRL) (* ;
(for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ)  "He's holding down both ctrl and shift -- do a move.")
do (OR (fetch TCUP of CARET) (SETQ SELOPERATION 'MOVE))
(\EDIT.FLIPCARET CARET T)))) (T (* ;
(AND OSEL (fetch (SELECTION SET) of OSEL)  "Just the SHIFT key. It's a COPY")
(fetch (SELECTION SELOBJ) of OSEL) (SETQ SELOPERATION 'COPY]
(SETQ SELFINALFN (IMAGEOBJPROP (fetch (SELECTION SELOBJ) of OSEL) ((SHIFTDOWNP 'META) (* ;
'WHENOPERATEDONFN))  "He's holding the meta key down; note the fact.")
(APPLY* SELFINALFN (fetch (SELECTION SELOBJ) of OSEL) (SETQ SELOPERATION 'COPYLOOKS))
(WINDOWPROP W 'DSP) ((SHIFTDOWNP 'CTRL) (* ;
'SELECTED OSEL (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ])  "He's holding only the CTRL key -- mark the selection for deletion.")
(SETQ SELOPERATION 'DELETE))
(T (* ;
 "No key being held down; revert to normal selection.")
(SETQ SELOPERATION 'NORMAL]
(COND
[(AND (OR [NOT (IEQP OLDX (SETQ X (LASTMOUSEX DS]
[NOT (IEQP OLDY (SETQ Y (LASTMOUSEY DS]
(NEQ OSELOP SELOPERATION))
(INSIDEP CLIPREGION X Y))
(* ;; "Only do selection if (1) the mouse is inside the window proper and (2) the mouse has moved, or the kind of selection has changed")
(* ;; "Must precede the scroll-region test, so that we don't try to scroll while the mouse is inside the main window, even if the scroll bar overlaps the window (at left edge of screen, say)")
(SETQ OLDX X)
(SETQ OLDY Y)
[COND
((\TEDIT.MOUSESTATE LEFT)
(* ;
 "Left button is character selection")
(SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ
MOUSEREGION
)
of TEXTOBJ)
NIL SELOPERATION W))
(SETQ EXTENDFLG NIL))
((\TEDIT.MOUSESTATE MIDDLE)
(* ; "Middle button is word selection")
(SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ
MOUSEREGION
)
of TEXTOBJ)
T SELOPERATION W))
(SETQ EXTENDFLG NIL))
[(\TEDIT.MOUSESTATE RIGHT)
(* ; "RIght button extends selections")
(COND
((NEQ SELOPERATION OSELOP)
(* ;; "Things changed since the last selection. Grab the prior selection info, so that the extension is taken from the selection NOW being made, rather than the last existing old-type selection.")
(\COPYSEL OSEL GLOBALSEL)))
(COND
((fetch (SELECTION SET) of GLOBALSEL)
(AND TEDIT.EXTEND.PENDING.DELETE (EQ SELOPERATION
'NORMAL)
(SETQ SELOPERATION 'PENDINGDEL)
(replace (TEXTOBJ BLUEPENDINGDELETE) of
TEXTOBJ
with T))
(* ;
 "If TeditBluePendingDelete flag is set, then simulate Laurel's blue-pending-delete feature.")
(SETQ SEL (TEDIT.EXTEND.SEL X Y GLOBALSEL TEXTOBJ
SELOPERATION W))
(SETQ EXTENDFLG T]
(T (* ;
 "The mouse buttons are up, leaving us with a pro-tem 'permanent' selection")
(\COPYSEL OSEL GLOBALSEL)
(* ;
 "And SEL is NOT SET ANY LONGER, so it won't get copied into OSEL down below")
(AND SEL (replace (SELECTION SET) of SEL
with NIL]
[COND
((AND SEL (fetch (SELECTION SET) of SEL)
SELFN) (* ;
 "The selection was set, but there's a SELFN that has veto authority")
(COND
((EQ (APPLY* SELFN TEXTOBJ SEL SELOPERATION 'TENTATIVE)
'DON'T) (* ;
 "The selfn vetoed this selection, so mark it un-set.")
(replace (SELECTION SET) of SEL with NIL]
(COND
((\TEDIT.SEL.CHANGED? SEL OSEL OSELOP SELOPERATION)
(* ;
 "Something interesting about the selection changed. We have to re-display its image.")
(COND
((OR (EQ SELOPERATION 'NORMAL)
(EQ SELOPERATION 'PENDINGDEL))
(* ;
 "For a normal selection, set the 'window last selected in' for the TEXTOBJ")
(replace (TEXTOBJ SELWINDOW) of TEXTOBJ
with W)))
(SETQ OSEL (\TEDIT.REFRESH.SHOWSEL TEXTOBJ SEL OSEL OSELOP
SELOPERATION EXTENDFLG))
(SETQ OSELOP SELOPERATION))
([AND OSEL (fetch (SELECTION SET) of OSEL)
(EQ (fetch (SELECTION SELKIND) of OSEL)
'VOLATILE)
(OR (NOT SEL)
(NOT (fetch (SELECTION SET) of SEL]
(* ;; "There is an old selection around, but it is VOLATILE -- i.e., it shouldn't last longer than something is pointing at it. Turn it off.")
(\SHOWSEL OSEL NIL NIL)
(replace (SELECTION SET) of OSEL with NIL]
((IN/SCROLL/BAR? W LASTMOUSEX LASTMOUSEY)
(* ;
 "If he moves to the scroll bar, let him scroll without trouble")
(SCROLL.HANDLER W)))
(BLOCK) (* ; "Give other processes a chance")
(GETMOUSESTATE) (* ; "And get the new mouse info")
(TEDIT.CURSORMOVEDFN W))
(\COPYSEL OSEL GLOBALSEL)
(COND
((fetch (SELECTION SET) of OSEL)
(* ;
 "Only if a selection REALLY got made should we do this....")
(SELECTQ SELOPERATION
(COPY (* ;
 "A COPY selection -- set the copy flag, and see if this is a copy to a non-TEdit window")
(SETQ TEDIT.COPY.PENDING T)
(replace (SELECTION SET) of OSEL with NIL)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
(\TEDIT.FOREIGN.COPY? GLOBALSEL)
(* ;
 "Maybe copy into the SYSBUF, if the recipient isn't a TEdit window.")
)
(COPYLOOKS (* ; "A COPYLOOKS selection")
(SETQ TEDIT.COPYLOOKS.PENDING T)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
(replace (SELECTION SET) of OSEL with NIL))
(MOVE (* ;
 "A MOVE selection -- set the flag to signal the TEdit command loop,")
(SETQ TEDIT.MOVE.PENDING T)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
(replace (SELECTION SET) of OSEL with NIL))
(DELETE (SETQ TEDIT.DEL.PENDING T)
(replace (SELECTION SET) of OSEL with NIL)
(* ;
 "And turn off OSEL, to avoid spurious highlighting")
)
(NORMAL (* ;
 "This is a normal selection; set the caret looks")
(replace (TEXTOBJ CARETLOOKS) of TEXTOBJ
with (\TEDIT.GET.INSERT.CHARLOOKS TEXTOBJ OSEL)))
NIL)))
(AND SELFN (APPLY* SELFN TEXTOBJ GLOBALSEL SELOPERATION 'FINAL))
(* ;
 "Give a user exit routine control, perhaps for logging of selections.")
(for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ)
do (OR (fetch TCUP of CARET)
(\EDIT.FLIPCARET CARET T))))
(AND OSEL (fetch (SELECTION SET) of OSEL)
(fetch (SELECTION SELOBJ) of OSEL)
(SETQ SELFINALFN (IMAGEOBJPROP (fetch (SELECTION SELOBJ) of OSEL)
'WHENOPERATEDONFN))
(APPLY* SELFINALFN (fetch (SELECTION SELOBJ) of OSEL)
(WINDOWPROP W 'DSP)
'SELECTED OSEL (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ])])
(\TEDIT.WINDOW.OPS (\TEDIT.WINDOW.OPS
[LAMBDA (TEXTOBJ WINDOWTOSPLIT) (* ; "Edited 30-May-91 23:33 by jds") [LAMBDA (TEXTOBJ WINDOWTOSPLIT) (* ; "Edited 30-May-91 23:33 by jds")
@@ -1922,9 +1925,10 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat
]) ])
(\TEDIT.SCROLLFN (\TEDIT.SCROLLFN
[LAMBDA (W DX DY) (* ; "Edited 31-May-91 13:32 by jds") [LAMBDA (W DX DY) (* ; "Edited 19-Sep-2021 23:10 by rmk:")
(* Handle scrolling of the edit (* Handle scrolling of the edit
 window)  window)
(TOTOPW W)
(PROG* (WHEIGHT (TEXTOBJ (WINDOWPROP W 'TEXTOBJ)) (PROG* (WHEIGHT (TEXTOBJ (WINDOWPROP W 'TEXTOBJ))
(PRIORCR 0) (PRIORCR 0)
SELWASON SHIFTEDSELWASON MOVESELWASON DELETESELWASON (WREG (DSPCLIPPINGREGION SELWASON SHIFTEDSELWASON MOVESELWASON DELETESELWASON (WREG (DSPCLIPPINGREGION
@@ -2826,25 +2830,25 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat
(PUTPROPS TEDITWINDOW COPYRIGHT ("John Sybalsky & Xerox Corporation" 1983 1984 1985 1986 1987 1988 (PUTPROPS TEDITWINDOW COPYRIGHT ("John Sybalsky & Xerox Corporation" 1983 1984 1985 1986 1987 1988
1989 1990 1991 1993 1994 1999 2021)) 1989 1990 1991 1993 1994 1999 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (7165 91937 (TEDIT.CREATEW 7175 . 8311) (\TEDIT.CREATEW.FROM.REGION 8313 . 9297) ( (FILEMAP (NIL (7117 93041 (TEDIT.CREATEW 7127 . 8263) (\TEDIT.CREATEW.FROM.REGION 8265 . 9249) (
TEDIT.CURSORMOVEDFN 9299 . 19951) (TEDIT.CURSOROUTFN 19953 . 20488) (TEDIT.WINDOW.SETUP 20490 . 22299) TEDIT.CURSORMOVEDFN 9251 . 19903) (TEDIT.CURSOROUTFN 19905 . 20440) (TEDIT.WINDOW.SETUP 20442 . 22251)
(TEDIT.MINIMAL.WINDOW.SETUP 22301 . 30090) (\TEDIT.ACTIVE.WINDOWP 30092 . 31073) ( (TEDIT.MINIMAL.WINDOW.SETUP 22253 . 30042) (\TEDIT.ACTIVE.WINDOWP 30044 . 31025) (
\TEDIT.BUTTONEVENTFN 31075 . 54913) (\TEDIT.WINDOW.OPS 54915 . 58718) (\TEDIT.EXPANDFN 58720 . 59123) \TEDIT.BUTTONEVENTFN 31027 . 56017) (\TEDIT.WINDOW.OPS 56019 . 59822) (\TEDIT.EXPANDFN 59824 . 60227)
(\TEDIT.MAINW 59125 . 60414) (\TEDIT.PRIMARYW 60416 . 61628) (\TEDIT.COPYINSERTFN 61630 . 62601) ( (\TEDIT.MAINW 60229 . 61518) (\TEDIT.PRIMARYW 61520 . 62732) (\TEDIT.COPYINSERTFN 62734 . 63705) (
\TEDIT.NEWREGIONFN 62603 . 65070) (\TEDIT.SET.WINDOW.EXTENT 65072 . 71174) (\TEDIT.SHRINK.ICONCREATE \TEDIT.NEWREGIONFN 63707 . 66174) (\TEDIT.SET.WINDOW.EXTENT 66176 . 72278) (\TEDIT.SHRINK.ICONCREATE
71176 . 73448) (\TEDIT.SHRINKFN 73450 . 74025) (\TEDIT.SPLITW 74027 . 80128) (\TEDIT.UNSPLITW 80130 . 72280 . 74552) (\TEDIT.SHRINKFN 74554 . 75129) (\TEDIT.SPLITW 75131 . 81232) (\TEDIT.UNSPLITW 81234 .
85824) (\TEDIT.WINDOW.SETUP 85826 . 91546) (\SAFE.FIRST 91548 . 91935)) (93083 93990 (TEDITWINDOWP 86928) (\TEDIT.WINDOW.SETUP 86930 . 92650) (\SAFE.FIRST 92652 . 93039)) (94187 95094 (TEDITWINDOWP
93093 . 93988)) (94027 96523 (TEDIT.GETINPUT 94037 . 96020) (\TEDIT.MAKEFILENAME 96022 . 96521)) ( 94197 . 95092)) (95131 97627 (TEDIT.GETINPUT 95141 . 97124) (\TEDIT.MAKEFILENAME 97126 . 97625)) (
96572 103023 (TEDIT.PROMPTPRINT 96582 . 99486) (TEDIT.PROMPTFLASH 99488 . 101443) ( 97676 104127 (TEDIT.PROMPTPRINT 97686 . 100590) (TEDIT.PROMPTFLASH 100592 . 102547) (
\TEDIT.PROMPT.PAGEFULLFN 101445 . 103021)) (103258 107320 (TEXTSTREAM.TITLE 103268 . 103889) ( \TEDIT.PROMPT.PAGEFULLFN 102549 . 104125)) (104362 108424 (TEXTSTREAM.TITLE 104372 . 104993) (
\TEDIT.ORIGINAL.WINDOW.TITLE 103891 . 105936) (\TEDIT.WINDOW.TITLE 105938 . 106608) ( \TEDIT.ORIGINAL.WINDOW.TITLE 104995 . 107040) (\TEDIT.WINDOW.TITLE 107042 . 107712) (
\TEXTSTREAM.FILENAME 106610 . 107318)) (107363 152087 (TEDIT.DEACTIVATE.WINDOW 107373 . 114522) ( \TEXTSTREAM.FILENAME 107714 . 108422)) (108467 153208 (TEDIT.DEACTIVATE.WINDOW 108477 . 115626) (
\TEDIT.REPAINTFN 114524 . 117381) (\TEDIT.RESHAPEFN 117383 . 123003) (\TEDIT.SCROLLFN 123005 . 152085) \TEDIT.REPAINTFN 115628 . 118485) (\TEDIT.RESHAPEFN 118487 . 124107) (\TEDIT.SCROLLFN 124109 . 153206)
) (152129 154178 (\TEDIT.PROCIDLEFN 152139 . 153488) (\TEDIT.PROCENTRYFN 153490 . 153783) ( ) (153250 155299 (\TEDIT.PROCIDLEFN 153260 . 154609) (\TEDIT.PROCENTRYFN 154611 . 154904) (
\TEDIT.PROCEXITFN 153785 . 154176)) (154257 165257 (\EDIT.DOWNCARET 154267 . 154948) (\EDIT.FLIPCARET \TEDIT.PROCEXITFN 154906 . 155297)) (155378 166378 (\EDIT.DOWNCARET 155388 . 156069) (\EDIT.FLIPCARET
154950 . 156485) (TEDIT.FLASHCARET 156487 . 157601) (\EDIT.UPCARET 157603 . 158056) ( 156071 . 157606) (TEDIT.FLASHCARET 157608 . 158722) (\EDIT.UPCARET 158724 . 159177) (
TEDIT.NORMALIZECARET 158058 . 164009) (\SETCARET 164011 . 164931) (\TEDIT.CARET 164933 . 165255)) ( TEDIT.NORMALIZECARET 159179 . 165130) (\SETCARET 165132 . 166052) (\TEDIT.CARET 166054 . 166376)) (
165291 179046 (TEDIT.ADD.MENUITEM 165301 . 167216) (TEDIT.DEFAULT.MENUFN 167218 . 176485) ( 166412 180167 (TEDIT.ADD.MENUITEM 166422 . 168337) (TEDIT.DEFAULT.MENUFN 168339 . 177606) (
TEDIT.REMOVE.MENUITEM 176487 . 177488) (\TEDIT.CREATEMENU 177490 . 177943) (\TEDIT.MENU.WHENHELDFN TEDIT.REMOVE.MENUITEM 177608 . 178609) (\TEDIT.CREATEMENU 178611 . 179064) (\TEDIT.MENU.WHENHELDFN
177945 . 178715) (\TEDIT.MENU.WHENSELECTEDFN 178717 . 179044))))) 179066 . 179836) (\TEDIT.MENU.WHENSELECTEDFN 179838 . 180165)))))
STOP STOP

Binary file not shown.

View File

@@ -0,0 +1,50 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "20-Sep-2021 11:37:28" {DSK}<home>larry>medley>lispusers>BACKGROUND-YIELD.;3 1644
changes to%: (FNS BACKGROUND-YIELD)
(VARS BACKGROUND-YIELDCOMS)
previous date%: "19-Sep-2021 13:37:10" {DSK}<home>larry>medley>lispusers>BACKGROUND-YIELD.;1)
(PRETTYCOMPRINT BACKGROUND-YIELDCOMS)
(RPAQQ BACKGROUND-YIELDCOMS (
(* ;;
 " Add a call to BACKGROUNDFNS to yield when not otherwise busy")
(FNS BACKGROUND-YIELD INIT-YIELD)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INIT-YIELD T)))
(VARS BACKGROUND-YIELD)))
(* ;; " Add a call to BACKGROUNDFNS to yield when not otherwise busy")
(DEFINEQ
(BACKGROUND-YIELD
[LAMBDA NIL (* ; "Edited 20-Sep-2021 11:37 by larry")
(IF (FIXP BACKGROUND-YIELD)
THEN (SUBRCALL YIELD BACKGROUND-YIELD)
(SUBRCALL CAUSE-INTERRUPT])
(INIT-YIELD
[LAMBDA (ONP) (* ; "Edited 19-Sep-2021 13:32 by larry")
(SETQ BACKGROUNDFNS (REMOVE 'BACKGROUND-YIELD BACKGROUNDFNS))
(if [AND ONP (CCODEP (GETD 'BACKGROUND-YIELD]
then
(* ;; " add to end")
(SETQ BACKGROUNDFNS (APPEND BACKGROUNDFNS '(BACKGROUND-YIELD])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY
(INIT-YIELD T)
)
(RPAQQ BACKGROUND-YIELD 8333330)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (879 1528 (BACKGROUND-YIELD 889 . 1144) (INIT-YIELD 1146 . 1526)))))
STOP

Binary file not shown.

View File

@@ -5,18 +5,30 @@ Alternatively, you can pick up the medley release, and build your own maiko.
Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). Get the Maiko release [here](https://github.com/Interlisp/maiko/releases).
The medley release comes in two parts:
1. The "loadups" (download `$tag-loadups.tgz` below)
2. The "runtime" (download `$tag-runtime.tgz` below)
You won't need the "runtime" if you clone medley; it's just a subset.
To download both using 'gh' GitHub command line:
```
gh release download -R Interlisp/medley -p "*"
```
To use (from a shell/terminal window): To use (from a shell/terminal window):
1. Unpack the medley tar file 1. Unpack the medley tar file(s)
```
tar -xvfz $tag.tgz
```
2. Unpack the maiko file for your operating system and CPU type,e.g.,
``` ```
tar -xvfz $tag-loadups.tgz
tar -xvfz $tag-runtime.tgz
```
2. Unpack the maiko file for your operating system and CPU type, e.g.,
```
tar -xvfz maiko-210823.linux.x86_64.tgz tar -xvfz maiko-210823.linux.x86_64.tgz
``` ```
3. This should leave you with two directories, `medley` and `maiko`. 3. This should leave you with two directories, `medley` and `maiko`.
Then you can Then you can

View File

@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
export MEDLEYDIR=`pwd` export MEDLEYDIR=`pwd`
if [ ! -x run-medley ] ; then if [ ! -x run-medley ] ; then
echo run from MEDLEYDIR echo run from MEDLEYDIR
@@ -13,18 +14,24 @@ fi
cd .. cd ..
echo making medley zip $tag echo making $tag-loadups.tgz
tar cfz medley/tmp/$tag.tgz \ tar cfz medley/tmp/$tag-loadups.tgz \
medley/loadups/lisp.sysout \
medley/loadups/full.sysout \
medley/loadups/whereis.hash \
medley/library/exports.all \
medley/library/RDSYS medley/library/RDSYS.LCOM
echo making $tag-runtime.tgz
tar cfz medley/tmp/$tag-runtime.tgz \
--exclude "*~" --exclude "*#*" \ --exclude "*~" --exclude "*#*" \
medley/docs/dinfo \ medley/docs/dinfo \
medley/docs/Documentation\ Tools \ medley/docs/Documentation\ Tools \
medley/greetfiles/SIMPLE-INIT \ medley/greetfiles/SIMPLE-INIT \
medley/run-medley \ medley/run-medley \
medley/scripts \ medley/scripts \
medley/loadups/lisp.sysout \
medley/loadups/full.sysout \
medley/loadups/whereis.hash \
medley/fonts/displayfonts medley/fonts/altofonts \ medley/fonts/displayfonts medley/fonts/altofonts \
medley/fonts/postscriptfonts \ medley/fonts/postscriptfonts \
medley/library/ \ medley/library/ \
@@ -33,12 +40,13 @@ tar cfz medley/tmp/$tag.tgz \
medley/sources/ \ medley/sources/ \
medley/internal/library \ medley/internal/library \
cd medley cd medley
echo making release echo making release
sed s/'$tag'/$tag/g < release-notes.md > tmp/release-notes.md sed s/'$tag'/$tag/g < release-notes.md > tmp/release-notes.md
gh release create $tag -F tmp/release-notes.md -p -t $tag gh release create $tag -F tmp/release-notes.md -p -t $tag
echo uploaded $tag.tgz echo uploading
gh release upload $tag tmp/$tag.tgz --clobber gh release upload $tag tmp/$tag-loadups.tgz tmp/$tag-runtime.tgz --clobber

View File

@@ -1,11 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 5-May-2021 19:41:55"  (FILECREATED "20-Sep-2021 10:59:58" 
{DSK}<Users>kaplan>Local>medley3.5>git-medley2>sources>HARDCOPY.;9 103663 {DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;2 103730
changes to%: (FNS COPY.TEXT.TO.IMAGE) changes to%: (VARS HARDCOPYCOMS)
previous date%: "16-Apr-2018 22:15:08" previous date%: " 5-May-2021 19:41:55"
{DSK}<Users>kaplan>Local>medley3.5>git-medley2>sources>HARDCOPY.;8) {DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;1)
(* ; " (* ; "
@@ -15,46 +15,47 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT HARDCOPYCOMS) (PRETTYCOMPRINT HARDCOPYCOMS)
(RPAQQ HARDCOPYCOMS (RPAQQ HARDCOPYCOMS
[(COMS (* ; "exported functionality") [(COMS (* ; "exported functionality")
(FNS HARDCOPY.SOMEHOW HARDCOPYIMAGEW HARDCOPYIMAGEW.TOFILE HARDCOPYIMAGEW.TOPRINTER (FNS HARDCOPY.SOMEHOW HARDCOPYIMAGEW HARDCOPYIMAGEW.TOFILE HARDCOPYIMAGEW.TOPRINTER
HARDCOPYREGION.TOFILE HARDCOPYREGION.TOPRINTER COPY.WINDOW.TO.BITMAP) HARDCOPYREGION.TOFILE HARDCOPYREGION.TOPRINTER COPY.WINDOW.TO.BITMAP)
(* ; "user interface jazz") (* ; "user interface jazz")
(INITVARS (ChangeDefaultPrinter)) (INITVARS (ChangeDefaultPrinter))
(FNS MakeMenuOfPrinters PRINTERS.WHENSELECTEDFN MakeMenuOfImageTypes (FNS MakeMenuOfPrinters PRINTERS.WHENSELECTEDFN MakeMenuOfImageTypes
GetNewPrinterFromUser PopUpWindowAndGetAtom PopUpWindowAndGetList NewPrinter GetNewPrinterFromUser PopUpWindowAndGetAtom PopUpWindowAndGetList NewPrinter
GetPrinterName GetImageFile FetchDefaultPrinter) GetPrinterName GetImageFile FetchDefaultPrinter)
(* ; "filename diddlers") (* ; "filename diddlers")
(FNS ExtensionForPrintFileType PRINTFILETYPE.FROM.EXTENSION)) (FNS ExtensionForPrintFileType PRINTFILETYPE.FROM.EXTENSION))
(COMS (* ; (COMS (* ;
 "Interface for PRINTERS and IMAGEFILES")  "Interface for PRINTERS and IMAGEFILES")
(FNS DEFAULTPRINTER CAN.PRINT.DIRECTLY CONVERT.FILE.TO.TYPE.FOR.PRINTER EMPRESS (FNS DEFAULTPRINTER CAN.PRINT.DIRECTLY CONVERT.FILE.TO.TYPE.FOR.PRINTER EMPRESS
HARDCOPYW LISTFILES1 PRINTER.BITMAPFILE PRINTER.BITMAPSCALE PRINTER.SCRATCH.FILE HARDCOPYW LISTFILES1 PRINTER.BITMAPFILE PRINTER.BITMAPSCALE PRINTER.SCRATCH.FILE
PRINTERPROP PRINTERSTATUS PRINTERTYPE PRINTERNAME PRINTFILEPROP PRINTFILETYPE PRINTERPROP PRINTERSTATUS PRINTERTYPE PRINTERNAME PRINTFILEPROP PRINTFILETYPE
\EXPECTED.FILE.TYPE SEND.FILE.TO.PRINTER) \EXPECTED.FILE.TYPE SEND.FILE.TO.PRINTER)
(FNS PRINTERDEVICE) (FNS PRINTERDEVICE)
[DECLARE%: DONTEVAL@LOAD DOCOPY (P (PRINTERDEVICE 'LPT] [DECLARE%: DONTEVAL@LOAD DOCOPY (P (PRINTERDEVICE 'LPT]
(P (* ; "for backward compatibility") (P (* ; "for backward compatibility")
(MOVD? 'NILL 'PRINTERMODE)) (MOVD? 'NILL 'PRINTERMODE))
(INITVARS (DEFAULTPRINTINGHOST) (INITVARS (DEFAULTPRINTINGHOST)
(DEFAULTPRINTERTYPE 'INTERPRESS) (DEFAULTPRINTERTYPE 'INTERPRESS)
(EMPRESS.SCRATCH) (EMPRESS.SCRATCH)
(EMPRESS#SIDES T)) (EMPRESS#SIDES T)
(PRINTFILETYPES NIL))
(GLOBALVARS DEFAULTPRINTINGHOST DEFAULTPRINTERTYPE EMPRESS#SIDES PRINTERTYPES (GLOBALVARS DEFAULTPRINTINGHOST DEFAULTPRINTERTYPE EMPRESS#SIDES PRINTERTYPES
PRINTFILETYPES)) PRINTFILETYPES))
(COMS (* ; (COMS (* ;
 "Converting text files to imagestreams")  "Converting text files to imagestreams")
(INITVARS (TEXTDEFAULTTABS (LIST 20320)) (INITVARS (TEXTDEFAULTTABS (LIST 20320))
(TEXTDEFAULTPAGEREGION (CREATEREGION 2794 1905 18415 24765))) (TEXTDEFAULTPAGEREGION (CREATEREGION 2794 1905 18415 24765)))
(* ; (* ;
 "TEXTDEFAULTTABS Hack, mica equivalent of 8 inches")  "TEXTDEFAULTTABS Hack, mica equivalent of 8 inches")
(GLOBALVARS TEXTDEFAULTTABS TEXTDEFAULTPAGEREGION) (GLOBALVARS TEXTDEFAULTTABS TEXTDEFAULTPAGEREGION)
(FNS TEXTTOIMAGEFILE COPY.TEXT.TO.IMAGE)) (FNS TEXTTOIMAGEFILE COPY.TEXT.TO.IMAGE))
(COMS (FNS \BLTSHADE.GENERICPRINTER) (COMS (FNS \BLTSHADE.GENERICPRINTER)
(* ; (* ;
 "hack for printers that can't really BLTSHADE")  "hack for printers that can't really BLTSHADE")
) )
[COMS (* ; [COMS (* ;
 "stuff to support hardcopy streams on the display.")  "stuff to support hardcopy streams on the display.")
(FNS MAKEHARDCOPYSTREAM UNMAKEHARDCOPYSTREAM HARDCOPYSTREAMTYPE \CHARWIDTH.HDCPYDISPLAY (FNS MAKEHARDCOPYSTREAM UNMAKEHARDCOPYSTREAM HARDCOPYSTREAMTYPE \CHARWIDTH.HDCPYDISPLAY
\DSPFONT.HDCPYDISPLAY \DSPRIGHTMARGIN.HDCPYDISPLAY \DSPXPOSITION.HDCPYDISPLAY \DSPFONT.HDCPYDISPLAY \DSPRIGHTMARGIN.HDCPYDISPLAY \DSPXPOSITION.HDCPYDISPLAY
\DSPYPOSITION.HDCPYDISPLAY \STRINGWIDTH.HDCPYDISPLAY \STRINGWIDTH.HCPYDISPLAYAUX \DSPYPOSITION.HDCPYDISPLAY \STRINGWIDTH.HDCPYDISPLAY \STRINGWIDTH.HCPYDISPLAYAUX
@@ -65,8 +66,8 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation.
(IMICASPERPT 35] (IMICASPERPT 35]
(DECLARE%: DONTCOPY DOEVAL@COMPILE (EXPORT (FUNCTIONS \MICASTOPTS))) (DECLARE%: DONTCOPY DOEVAL@COMPILE (EXPORT (FUNCTIONS \MICASTOPTS)))
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (\HDCPYDISPLAYINIT] (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\HDCPYDISPLAYINIT]
[COMS (* ; [COMS (* ;
 "Stuff to support MICA-unit hardcopy streams on the display")  "Stuff to support MICA-unit hardcopy streams on the display")
(FNS MAKEHARDCOPYMODESTREAM UNMAKEHARDCOPYMODESTREAM \BLTSHADE.HCPYMODE (FNS MAKEHARDCOPYMODESTREAM UNMAKEHARDCOPYMODESTREAM \BLTSHADE.HCPYMODE
\BITBLT.HCPYMODE \BRUSHCONVERT.HCPYMODE \CHANGECHARSET.HCPYMODE \BITBLT.HCPYMODE \BRUSHCONVERT.HCPYMODE \CHANGECHARSET.HCPYMODE
\DASHINGCONVERT.HCPYMODE \CHARWIDTH.HCPYMODE \DRAWLINE.HCPYMODE \DASHINGCONVERT.HCPYMODE \CHARWIDTH.HCPYMODE \DRAWLINE.HCPYMODE
@@ -649,7 +650,7 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation.
(PRINTERDEVICE 'LPT) (PRINTERDEVICE 'LPT)
) )
(* ; "for backward compatibility") (* ; "for backward compatibility")
(MOVD? 'NILL 'PRINTERMODE) (MOVD? 'NILL 'PRINTERMODE)
@@ -660,6 +661,8 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation.
(RPAQ? EMPRESS.SCRATCH ) (RPAQ? EMPRESS.SCRATCH )
(RPAQ? EMPRESS#SIDES T) (RPAQ? EMPRESS#SIDES T)
(RPAQ? PRINTFILETYPES NIL)
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS DEFAULTPRINTINGHOST DEFAULTPRINTERTYPE EMPRESS#SIDES PRINTERTYPES PRINTFILETYPES) (GLOBALVARS DEFAULTPRINTINGHOST DEFAULTPRINTERTYPE EMPRESS#SIDES PRINTERTYPES PRINTFILETYPES)
@@ -1085,39 +1088,39 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation.
(PUTPROPS HARDCOPY COPYRIGHT ("Venue & Xerox Corporation" 1984 1985 1986 1987 1988 1989 1990 1991 1992 (PUTPROPS HARDCOPY COPYRIGHT ("Venue & Xerox Corporation" 1984 1985 1986 1987 1988 1989 1990 1991 1992
1993 1999 2018 2021)) 1993 1999 2018 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (6141 10325 (HARDCOPY.SOMEHOW 6151 . 7509) (HARDCOPYIMAGEW 7511 . 7663) ( (FILEMAP (NIL (6176 10360 (HARDCOPY.SOMEHOW 6186 . 7544) (HARDCOPYIMAGEW 7546 . 7698) (
HARDCOPYIMAGEW.TOFILE 7665 . 7973) (HARDCOPYIMAGEW.TOPRINTER 7975 . 8640) (HARDCOPYREGION.TOFILE 8642 HARDCOPYIMAGEW.TOFILE 7700 . 8008) (HARDCOPYIMAGEW.TOPRINTER 8010 . 8675) (HARDCOPYREGION.TOFILE 8677
. 8940) (HARDCOPYREGION.TOPRINTER 8942 . 9564) (COPY.WINDOW.TO.BITMAP 9566 . 10323)) (10397 20947 ( . 8975) (HARDCOPYREGION.TOPRINTER 8977 . 9599) (COPY.WINDOW.TO.BITMAP 9601 . 10358)) (10432 20982 (
MakeMenuOfPrinters 10407 . 11632) (PRINTERS.WHENSELECTEDFN 11634 . 13376) (MakeMenuOfImageTypes 13378 MakeMenuOfPrinters 10442 . 11667) (PRINTERS.WHENSELECTEDFN 11669 . 13411) (MakeMenuOfImageTypes 13413
. 13896) (GetNewPrinterFromUser 13898 . 14326) (PopUpWindowAndGetAtom 14328 . 15713) ( . 13931) (GetNewPrinterFromUser 13933 . 14361) (PopUpWindowAndGetAtom 14363 . 15748) (
PopUpWindowAndGetList 15715 . 17281) (NewPrinter 17283 . 18231) (GetPrinterName 18233 . 18513) ( PopUpWindowAndGetList 15750 . 17316) (NewPrinter 17318 . 18266) (GetPrinterName 18268 . 18548) (
GetImageFile 18515 . 20802) (FetchDefaultPrinter 20804 . 20945)) (20982 21520 ( GetImageFile 18550 . 20837) (FetchDefaultPrinter 20839 . 20980)) (21017 21555 (
ExtensionForPrintFileType 20992 . 21185) (PRINTFILETYPE.FROM.EXTENSION 21187 . 21518)) (21575 37959 ( ExtensionForPrintFileType 21027 . 21220) (PRINTFILETYPE.FROM.EXTENSION 21222 . 21553)) (21610 37994 (
DEFAULTPRINTER 21585 . 21745) (CAN.PRINT.DIRECTLY 21747 . 21903) (CONVERT.FILE.TO.TYPE.FOR.PRINTER DEFAULTPRINTER 21620 . 21780) (CAN.PRINT.DIRECTLY 21782 . 21938) (CONVERT.FILE.TO.TYPE.FOR.PRINTER
21905 . 22949) (EMPRESS 22951 . 23264) (HARDCOPYW 23266 . 26226) (LISTFILES1 26228 . 26401) ( 21940 . 22984) (EMPRESS 22986 . 23299) (HARDCOPYW 23301 . 26261) (LISTFILES1 26263 . 26436) (
PRINTER.BITMAPFILE 26403 . 26650) (PRINTER.BITMAPSCALE 26652 . 26917) (PRINTER.SCRATCH.FILE 26919 . PRINTER.BITMAPFILE 26438 . 26685) (PRINTER.BITMAPSCALE 26687 . 26952) (PRINTER.SCRATCH.FILE 26954 .
27042) (PRINTERPROP 27044 . 27227) (PRINTERSTATUS 27229 . 27418) (PRINTERTYPE 27420 . 29729) ( 27077) (PRINTERPROP 27079 . 27262) (PRINTERSTATUS 27264 . 27453) (PRINTERTYPE 27455 . 29764) (
PRINTERNAME 29731 . 30033) (PRINTFILEPROP 30035 . 30226) (PRINTFILETYPE 30228 . 32172) ( PRINTERNAME 29766 . 30068) (PRINTFILEPROP 30070 . 30261) (PRINTFILETYPE 30263 . 32207) (
\EXPECTED.FILE.TYPE 32174 . 32956) (SEND.FILE.TO.PRINTER 32958 . 37957)) (37960 42942 (PRINTERDEVICE \EXPECTED.FILE.TYPE 32209 . 32991) (SEND.FILE.TO.PRINTER 32993 . 37992)) (37995 42977 (PRINTERDEVICE
37970 . 42940)) (43725 51926 (TEXTTOIMAGEFILE 43735 . 45925) (COPY.TEXT.TO.IMAGE 45927 . 51924)) ( 38005 . 42975)) (43792 51993 (TEXTTOIMAGEFILE 43802 . 45992) (COPY.TEXT.TO.IMAGE 45994 . 51991)) (
51927 53062 (\BLTSHADE.GENERICPRINTER 51937 . 53060)) (53190 71942 (MAKEHARDCOPYSTREAM 53200 . 54204) 51994 53129 (\BLTSHADE.GENERICPRINTER 52004 . 53127)) (53257 72009 (MAKEHARDCOPYSTREAM 53267 . 54271)
(UNMAKEHARDCOPYSTREAM 54206 . 54890) (HARDCOPYSTREAMTYPE 54892 . 55171) (\CHARWIDTH.HDCPYDISPLAY 55173 (UNMAKEHARDCOPYSTREAM 54273 . 54957) (HARDCOPYSTREAMTYPE 54959 . 55238) (\CHARWIDTH.HDCPYDISPLAY 55240
. 55604) (\DSPFONT.HDCPYDISPLAY 55606 . 57011) (\DSPRIGHTMARGIN.HDCPYDISPLAY 57013 . 57590) ( . 55671) (\DSPFONT.HDCPYDISPLAY 55673 . 57078) (\DSPRIGHTMARGIN.HDCPYDISPLAY 57080 . 57657) (
\DSPXPOSITION.HDCPYDISPLAY 57592 . 57853) (\DSPYPOSITION.HDCPYDISPLAY 57855 . 58116) ( \DSPXPOSITION.HDCPYDISPLAY 57659 . 57920) (\DSPYPOSITION.HDCPYDISPLAY 57922 . 58183) (
\STRINGWIDTH.HDCPYDISPLAY 58118 . 58625) (\STRINGWIDTH.HCPYDISPLAYAUX 58627 . 60959) (\HDCPYBLTCHAR \STRINGWIDTH.HDCPYDISPLAY 58185 . 58692) (\STRINGWIDTH.HCPYDISPLAYAUX 58694 . 61026) (\HDCPYBLTCHAR
60961 . 63496) (\HDCPYDISPLAY.FIX.XPOS 63498 . 63918) (\HDCPYDISPLAY.FIX.YPOS 63920 . 64340) ( 61028 . 63563) (\HDCPYDISPLAY.FIX.XPOS 63565 . 63985) (\HDCPYDISPLAY.FIX.YPOS 63987 . 64407) (
\HDCPYDISPLAYINIT 64342 . 65119) (\HDCPYDSPPRINTCHAR 65121 . 67281) (\SLOWHDCPYBLTCHAR 67283 . 70786) \HDCPYDISPLAYINIT 64409 . 65186) (\HDCPYDSPPRINTCHAR 65188 . 67348) (\SLOWHDCPYBLTCHAR 67350 . 70853)
(\CHANGECHARSET.HDCPYDISPLAY 70788 . 71940)) (72664 102961 (MAKEHARDCOPYMODESTREAM 72674 . 74583) ( (\CHANGECHARSET.HDCPYDISPLAY 70855 . 72007)) (72731 103028 (MAKEHARDCOPYMODESTREAM 72741 . 74650) (
UNMAKEHARDCOPYMODESTREAM 74585 . 75663) (\BLTSHADE.HCPYMODE 75665 . 76112) (\BITBLT.HCPYMODE 76114 . UNMAKEHARDCOPYMODESTREAM 74652 . 75730) (\BLTSHADE.HCPYMODE 75732 . 76179) (\BITBLT.HCPYMODE 76181 .
76736) (\BRUSHCONVERT.HCPYMODE 76738 . 76975) (\CHANGECHARSET.HCPYMODE 76977 . 78744) ( 76803) (\BRUSHCONVERT.HCPYMODE 76805 . 77042) (\CHANGECHARSET.HCPYMODE 77044 . 78811) (
\DASHINGCONVERT.HCPYMODE 78746 . 79009) (\CHARWIDTH.HCPYMODE 79011 . 79298) (\DRAWLINE.HCPYMODE 79300 \DASHINGCONVERT.HCPYMODE 78813 . 79076) (\CHARWIDTH.HCPYMODE 79078 . 79365) (\DRAWLINE.HCPYMODE 79367
. 79612) (\DRAWCURVE.HCPYMODE 79614 . 80043) (\DRAWCIRCLE.HCPYMODE 80045 . 80440) ( . 79679) (\DRAWCURVE.HCPYMODE 79681 . 80110) (\DRAWCIRCLE.HCPYMODE 80112 . 80507) (
\DRAWELLIPSE.HCPYMODE 80442 . 80954) (\DSPFONT.HCPYMODE 80956 . 82112) (\DSPLEFTMARGIN.HCPYMODE 82114 \DRAWELLIPSE.HCPYMODE 80509 . 81021) (\DSPFONT.HCPYMODE 81023 . 82179) (\DSPLEFTMARGIN.HCPYMODE 82181
. 82698) (\DSPLINEFEED.HCPYMODE 82700 . 83110) (\DSPRIGHTMARGIN.HCPYMODE 83112 . 83741) ( . 82765) (\DSPLINEFEED.HCPYMODE 82767 . 83177) (\DSPRIGHTMARGIN.HCPYMODE 83179 . 83808) (
\DSPSPACEFACTOR.HCPYMODE 83743 . 84264) (\DSPXPOSITION.HCPYMODE 84266 . 84847) (\DSPYPOSITION.HCPYMODE \DSPSPACEFACTOR.HCPYMODE 83810 . 84331) (\DSPXPOSITION.HCPYMODE 84333 . 84914) (\DSPYPOSITION.HCPYMODE
84849 . 85254) (\MOVETO.HCPYMODE 85256 . 85408) (\FONTCREATE.HCPYMODE.PRESS 85410 . 86422) ( 84916 . 85321) (\MOVETO.HCPYMODE 85323 . 85475) (\FONTCREATE.HCPYMODE.PRESS 85477 . 86489) (
\CREATECHARSET.HCPYMODE.PRESS 86424 . 87395) (\FONTCREATE.HCPYMODE.INTERPRESS 87397 . 88431) ( \CREATECHARSET.HCPYMODE.PRESS 86491 . 87462) (\FONTCREATE.HCPYMODE.INTERPRESS 87464 . 88498) (
\CREATECHARSET.HCPYMODE.INTERPRESS 88433 . 89421) (\STRINGWIDTH.HCPYMODE 89423 . 89857) ( \CREATECHARSET.HCPYMODE.INTERPRESS 88500 . 89488) (\STRINGWIDTH.HCPYMODE 89490 . 89924) (
\HCPYMODEBLTCHAR 89859 . 92828) (\HCPYMODEDISPLAYINIT 92830 . 95761) (\HCPYMODEDSPPRINTCHAR 95763 . \HCPYMODEBLTCHAR 89926 . 92895) (\HCPYMODEDISPLAYINIT 92897 . 95828) (\HCPYMODEDSPPRINTCHAR 95830 .
97944) (\SLOWHCPYMODEBLTCHAR 97946 . 101460) (\SFFixY.HCPYMODE 101462 . 102959))))) 98011) (\SLOWHCPYMODEBLTCHAR 98013 . 101527) (\SFFixY.HCPYMODE 101529 . 103026)))))
STOP STOP

Binary file not shown.