From a6efdb3558766075c33d93ea144381a73dd29a4d Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Tue, 12 Oct 2021 15:47:19 -0700 Subject: [PATCH] TEDIT fixes for format and window-splitting Introduced an external format (:TEDIT) for Tedit, initialized TEXTOFD to use it. Parmeterized the window split-window region to stop confusions with modernwindows. TEDIT-SEE starts out the defaultfont for non-Tedit-format files. Restored git-lost edits to COPY.TEXT.TO.IMAGE --- library/TEDIT | 52 ++++---- library/TEDIT.LCOM | Bin 38913 -> 38884 bytes library/TEDITWINDOW | 116 +++++++++++------- library/TEDITWINDOW.LCOM | Bin 56527 -> 56437 bytes library/TEXTOFD | 118 +++++++++--------- library/TEXTOFD.LCOM | Bin 38717 -> 38810 bytes sources/HARDCOPY | 250 +++++++++++++++++++-------------------- 7 files changed, 283 insertions(+), 253 deletions(-) diff --git a/library/TEDIT b/library/TEDIT index d366eba4..3d25f0eb 100644 --- a/library/TEDIT +++ b/library/TEDIT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "29-Sep-2021 22:16:28"  -{DSK}kaplan>Local>medley3.5>git-medley>library>TEDIT.;11 142247 +(FILECREATED "11-Oct-2021 14:03:12"  +{DSK}kaplan>Local>medley3.5>git-medley>library>TEDIT.;17 142229 changes to%: (FNS TEDIT-SEE) - previous date%: "19-Sep-2021 17:08:56" -{DSK}kaplan>Local>medley3.5>git-medley>library>TEDIT.;5) + previous date%: " 8-Oct-2021 22:12:18" +{DSK}kaplan>Local>medley3.5>git-medley>library>TEDIT.;16) (* ; " @@ -330,7 +330,7 @@ Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation. (RETURN PROC]) (TEDIT-SEE - [LAMBDA (FILE WINDOW FORMAT) (* ; "Edited 29-Sep-2021 22:16 by rmk:") + [LAMBDA (FILE WINDOW FORMAT) (* ; "Edited 11-Oct-2021 14:02 by rmk:") (* ; "Edited 27-Feb-2021 20:07 by rmk:") (* ; "Edited 1-Feb-88 19:00 by bvm:") @@ -340,17 +340,16 @@ Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation. (CL:WITH-OPEN-FILE (STREAM FILE :DIRECTION :INPUT) (LET ((SEESTREAM STREAM) - ENV TSTREAM) + TSTREAM) (* ;; "No need to fiddle with a TEDIT file") (IF (\TEDIT.FORMATTEDP1 STREAM) - ELSEIF (SETQ ENV (LISPSOURCEFILEP STREAM)) + ELSEIF (LISPSOURCEFILEP STREAM) THEN (* ;; "Lisp source file") - (SETFILEINFO STREAM 'FORMAT ENV) (SETQ SEESTREAM (OPENTEXTSTREAM)) (COPY.TEXT.TO.IMAGE STREAM SEESTREAM) ELSE @@ -360,11 +359,12 @@ Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation. (* ;; "Maybe there is a conventional way of finding out the external format of a plain-text stream (an EMACS header?), here we nudge towards :UTF-8 (if it exists).") (SETFILEINFO STREAM 'FORMAT (OR FORMAT (FIND-FORMAT :UTF-8) - *DEFAULT-EXTERNALFORMAT*)) + :DEFAULT)) (CL:UNLESS (RANDACCESSP STREAM) (SETQ SEESTREAM (OPENSTREAM '{NODIRCORE} 'BOTH 'NEW)) (COPYCHARS STREAM SEESTREAM))) - [SETQ TSTREAM (TEXTSTREAM (TEDIT SEESTREAM WINDOW NIL '(READONLY T] + [SETQ TSTREAM (TEXTSTREAM (TEDIT SEESTREAM WINDOW NIL + `(READONLY T FONT ,DEFAULTFONT] (WINDOWPROP (WFROMDS TSTREAM) 'TITLE (CONCAT "SEE window for " (FULLNAME STREAM))) @@ -2235,7 +2235,7 @@ Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation. (* ; "TEDIT Support information") -(RPAQQ TEDITSYSTEMDATE "29-Sep-2021 22:16:28") +(RPAQQ TEDITSYSTEMDATE "11-Oct-2021 14:03:12") (RPAQ TEDITSUPPORT "TEditSupport.PA") (DEFINEQ @@ -2261,19 +2261,19 @@ Copyright (c) 1983-1993, 1995, 1999, 2018, 2021 by Venue & Xerox Corporation. (PUTPROPS TEDIT COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1995 1999 2018 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4329 117413 (\TEDIT2 4339 . 7090) (COERCETEXTOBJ 7092 . 15868) (TEDIT 15870 . 20839) ( -TEDIT-SEE 20841 . 23089) (TEDIT.CHARWIDTH 23091 . 25115) (TEDIT.COPY 25117 . 33553) (TEDIT.DELETE -33555 . 34245) (TEDIT.DO.BLUEPENDINGDELETE 34247 . 37314) (TEDIT.INSERT 37316 . 42846) (TEDIT.KILL -42848 . 44405) (TEDIT.MAPLINES 44407 . 45806) (TEDIT.MAPPIECES 45808 . 46764) (TEDIT.MOVE 46766 . -56550) (TEDIT.QUIT 56552 . 58552) (TEDIT.STRINGWIDTH 58554 . 59225) (TEDIT.\INSERT 59227 . 61252) ( -TEXTOBJ 61254 . 62379) (TEXTSTREAM 62381 . 63996) (\TEDIT.INCLUDE 63998 . 67898) (\TEDIT.INSERT.PIECES - 67900 . 77815) (\TEDIT.MOVE.PIECEMAPFN 77817 . 79896) (\TEDIT.OBJECT.SHOWSEL 79898 . 83527) ( -\TEDIT.RESTARTFN 83529 . 85524) (\TEDIT.CHARDELETE 85526 . 89488) (\TEDIT.COPY.PIECEMAPFN 89490 . -92715) (\TEDIT.DELETE 92717 . 100235) (\TEDIT.DIFFUSE.PARALOOKS 100237 . 103001) (\TEDIT.FOREIGN.COPY? - 103003 . 106730) (\TEDIT.QUIT 106732 . 109878) (\TEDIT.WORDDELETE 109880 . 114713) (\TEDIT1 114715 . -117411)) (117527 117643 (\CREATE.TEDIT.RESTART.MENU 117537 . 117641)) (117742 121431 (PLCHAIN 117752 - . 118026) (PRINTLINE 118028 . 120792) (SEEFILE 120794 . 121429)) (121472 141115 (TEDIT.INSERT.OBJECT -121482 . 130559) (TEDIT.EDIT.OBJECT 130561 . 132817) (TEDIT.FIND.OBJECT 132819 . 133712) ( -TEDIT.FIND.OBJECT.SUBTREE 133714 . 134520) (TEDIT.PUT.OBJECT 134522 . 136181) (TEDIT.GET.OBJECT 136183 - . 139382) (TEDIT.OBJECT.CHANGED 139384 . 141113)) (141393 141756 (MAKETEDITFORM 141403 . 141754))))) + (FILEMAP (NIL (4330 117395 (\TEDIT2 4340 . 7091) (COERCETEXTOBJ 7093 . 15869) (TEDIT 15871 . 20840) ( +TEDIT-SEE 20842 . 23071) (TEDIT.CHARWIDTH 23073 . 25097) (TEDIT.COPY 25099 . 33535) (TEDIT.DELETE +33537 . 34227) (TEDIT.DO.BLUEPENDINGDELETE 34229 . 37296) (TEDIT.INSERT 37298 . 42828) (TEDIT.KILL +42830 . 44387) (TEDIT.MAPLINES 44389 . 45788) (TEDIT.MAPPIECES 45790 . 46746) (TEDIT.MOVE 46748 . +56532) (TEDIT.QUIT 56534 . 58534) (TEDIT.STRINGWIDTH 58536 . 59207) (TEDIT.\INSERT 59209 . 61234) ( +TEXTOBJ 61236 . 62361) (TEXTSTREAM 62363 . 63978) (\TEDIT.INCLUDE 63980 . 67880) (\TEDIT.INSERT.PIECES + 67882 . 77797) (\TEDIT.MOVE.PIECEMAPFN 77799 . 79878) (\TEDIT.OBJECT.SHOWSEL 79880 . 83509) ( +\TEDIT.RESTARTFN 83511 . 85506) (\TEDIT.CHARDELETE 85508 . 89470) (\TEDIT.COPY.PIECEMAPFN 89472 . +92697) (\TEDIT.DELETE 92699 . 100217) (\TEDIT.DIFFUSE.PARALOOKS 100219 . 102983) (\TEDIT.FOREIGN.COPY? + 102985 . 106712) (\TEDIT.QUIT 106714 . 109860) (\TEDIT.WORDDELETE 109862 . 114695) (\TEDIT1 114697 . +117393)) (117509 117625 (\CREATE.TEDIT.RESTART.MENU 117519 . 117623)) (117724 121413 (PLCHAIN 117734 + . 118008) (PRINTLINE 118010 . 120774) (SEEFILE 120776 . 121411)) (121454 141097 (TEDIT.INSERT.OBJECT +121464 . 130541) (TEDIT.EDIT.OBJECT 130543 . 132799) (TEDIT.FIND.OBJECT 132801 . 133694) ( +TEDIT.FIND.OBJECT.SUBTREE 133696 . 134502) (TEDIT.PUT.OBJECT 134504 . 136163) (TEDIT.GET.OBJECT 136165 + . 139364) (TEDIT.OBJECT.CHANGED 139366 . 141095)) (141375 141738 (MAKETEDITFORM 141385 . 141736))))) STOP diff --git a/library/TEDIT.LCOM b/library/TEDIT.LCOM index 419aa50db9ed8b1e62c8ae265f02f9baac9f840f..217df6290e03626c85aac2f270aea6be7342f96f 100644 GIT binary patch delta 697 zcmZuv!EVz)5VZq{CU6N&142Cvkq`ta#N4}7$4Zex!$gB&qI0@NIracI0REx`HuBvM zKB(n*8u6Dore~W974__@%CBkKWlcNh88)`}O8)s^x=_tmD()?A%XK|hP+!hfRIRsp zu^6c)Nwr)|5pJls*x$%b8t;}SLcqrJVBqr<`WCP;P0Cw42;5IXKL}`=j-h8mN=0sb zoJ0(|1R{C+PU(wP=oo@N6^39&Jo0xbkU}somZH+QVVsUrHst}0;_U0z-63L6+M5VK zG(ox_vSc_1*M)@6z_s8p69aHuc%QH^<^kjM19bb~m6n6;fHxIU#|5jO{oR7>PV?R+ Y`9#^1=5CIw&&}VpGrkwL#8D(sRk2KdkRGn;1Cb1$F>KKtPg%{N;u+ z)1hicU_eCEfzKfV6a3-}QSoL$CnS---{&fM!AY9<{Y9!%m^Nf_64Fe8+ONiqn#7t< z>TJDMJoD+Ij(j)R_`GC*Ae=#V7UY#a=! zpM-u85XOdJo4^P!*Ayoa1|#N`C>Yt)Nf< diff --git a/library/TEDITWINDOW b/library/TEDITWINDOW index ae1a86b5..01ecefd2 100644 --- a/library/TEDITWINDOW +++ b/library/TEDITWINDOW @@ -1,11 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "19-Sep-2021 23:11:04"  -{DSK}kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;10 186372 - changes to%: (FNS \TEDIT.SCROLLFN) +(FILECREATED "12-Oct-2021 15:10:06"  +{DSK}kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;16 187619 - previous date%: "19-Sep-2021 22:58:18" -{DSK}kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;9) + changes to%: (FNS \TEDIT.BUTTONEVENTFN) + + previous date%: "12-Oct-2021 15:01:30" +{DSK}kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;15) (* ; " @@ -25,6 +26,9 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat \TEDIT.WINDOW.OPS \TEDIT.EXPANDFN \TEDIT.MAINW \TEDIT.PRIMARYW \TEDIT.COPYINSERTFN \TEDIT.NEWREGIONFN \TEDIT.SET.WINDOW.EXTENT \TEDIT.SHRINK.ICONCREATE \TEDIT.SHRINKFN \TEDIT.SPLITW \TEDIT.UNSPLITW \TEDIT.WINDOW.SETUP \SAFE.FIRST) + (INITVARS (\TEDIT.OP.WIDTH 12) + (\TEDIT.OP.BOTTOM 12)) + (DECLARE%: DONTEVAL@LOAD DOCOPY (GLOBALVARS \TEDIT.OP.WIDTH \TEDIT.OP.BOTTOM)) (CURSORS BXCARET BXHICARET TEDIT.LINECURSOR \TEDIT.SPLITCURSOR \TEDIT.MOVESPLITCURSOR \TEDIT.UNSPLITCURSOR \TEDIT.MAKESPLITCURSOR) (INITVARS (TEDIT.DEFAULT.WINDOW NIL)) @@ -156,7 +160,7 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat TEDIT.DEFAULT.WINDOW]) (TEDIT.CURSORMOVEDFN - [LAMBDA (W) (* ; "Edited 30-May-91 23:39 by jds") + [LAMBDA (W) (* ; "Edited 12-Oct-2021 13:14 by rmk:") (* Watch the mouse and change the cursor to reflect the region of the window  it's in (line select, window split eventually?)) @@ -187,13 +191,18 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat of LINE] (SELECTQ (fetch (TEXTOBJ MOUSEREGION) of TEXTOBJ) (TEXT [COND - ((IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) - of TEXTOBJ) - 8))) + ((AND (IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) + of TEXTOBJ) + \TEDIT.OP.WIDTH))) + (IGEQ Y (IPLUS (fetch (TEXTOBJ WBOTTOM) of TEXTOBJ) + \TEDIT.OP.BOTTOM))) + + (* ;; "The region to the right of text, for splitting operations.") + (CURSOR \TEDIT.SPLITCURSOR) (replace (TEXTOBJ MOUSEREGION) of TEXTOBJ with 'WINDOW) (replace LEFT of CURSORREG with LEFT) - (replace WIDTH of CURSORREG with 8)) + (replace WIDTH of CURSORREG with \TEDIT.OP.WIDTH)) ([ILESSP X (SETQ LEFT (OR [AND LINE (COND ((fetch (FMTSPEC FMTHARDCOPY) @@ -221,13 +230,15 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat of TEXTOBJ) (IPLUS LEFT 8]) (LINE (COND - ((IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) - of TEXTOBJ) - 8))) + ((AND (IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) + of TEXTOBJ) + \TEDIT.OP.WIDTH))) + (IGEQ Y (IPLUS (fetch (TEXTOBJ WBOTTOM) of TEXTOBJ) + \TEDIT.OP.BOTTOM))) (CURSOR \TEDIT.SPLITCURSOR) (replace (TEXTOBJ MOUSEREGION) of TEXTOBJ with 'WINDOW) (replace LEFT of CURSORREG with LEFT) - (replace WIDTH of CURSORREG with 8)) + (replace WIDTH of CURSORREG with \TEDIT.OP.WIDTH)) [[IGEQ X (SETQ LEFT (OR [AND LINE (COND ((fetch (FMTSPEC FMTHARDCOPY) of (fetch ( @@ -256,13 +267,15 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat (T (replace LEFT of CURSORREG with 0) (replace WIDTH of CURSORREG with LEFT)))) (WINDOW (COND - ((IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) - of TEXTOBJ) - 8))) + ((AND (IGEQ X (SETQ LEFT (IDIFFERENCE (fetch (TEXTOBJ WRIGHT) + of TEXTOBJ) + \TEDIT.OP.WIDTH))) + (IGEQ Y (IPLUS (fetch (TEXTOBJ WBOTTOM) of TEXTOBJ) + \TEDIT.OP.BOTTOM))) (replace (TEXTOBJ MOUSEREGION) of TEXTOBJ with 'WINDOW) (replace LEFT of CURSORREG with LEFT) - (replace WIDTH of CURSORREG with 8)) + (replace WIDTH of CURSORREG with \TEDIT.OP.WIDTH)) ([IGEQ X (SETQ LEFT (OR [AND LINE (COND ((fetch (FMTSPEC FMTHARDCOPY) @@ -795,17 +808,18 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat 'SELECTED OSEL (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ])]) (\TEDIT.WINDOW.OPS - [LAMBDA (TEXTOBJ WINDOWTOSPLIT) (* ; "Edited 30-May-91 23:33 by jds") + [LAMBDA (TEXTOBJ WINDOWTOSPLIT) (* ; "Edited 12-Oct-2021 15:01 by rmk:") (* ;;; "Do window operations for TEdit, e.g., splitting a window, moving the split location, or unsplitting.") (PROG ([WINDOWOPREGION (create REGION LEFT _ (DIFFERENCE (fetch (TEXTOBJ WRIGHT) of TEXTOBJ) - 8) - BOTTOM _ 0 - WIDTH _ 8 - HEIGHT _ (fetch HEIGHT of (WINDOWPROP WINDOWTOSPLIT - 'REGION] + \TEDIT.OP.WIDTH) + BOTTOM _ \TEDIT.OP.BOTTOM + WIDTH _ \TEDIT.OP.WIDTH + HEIGHT _ (fetch (REGION HEIGHT) of (WINDOWPROP + WINDOWTOSPLIT + 'REGION] Y OPERATION) [while [AND (MOUSESTATE (OR LEFT MIDDLE RIGHT)) (INSIDE? WINDOWOPREGION (LASTMOUSEX WINDOWTOSPLIT) @@ -845,7 +859,7 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat (\TEDIT.UNSPLITW WINDOWTOSPLIT)) (MOVE (* ;  "Moving the divider between two panes.") - (TEDIT.PROMPTPRINT TEXTOBJ "Can't move the split point yet." T)) + (TEDIT.PROMPTPRINT TEXTOBJ "Split-point moving is not yet implemented" T)) (SHOULDNT))) (T (CURSOR T]) @@ -1366,6 +1380,16 @@ Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporat (CAR LIST.OR.ATOM)) (T LIST.OR.ATOM]) ) + +(RPAQ? \TEDIT.OP.WIDTH 12) + +(RPAQ? \TEDIT.OP.BOTTOM 12) +(DECLARE%: DONTEVAL@LOAD DOCOPY +(DECLARE%: DOEVAL@COMPILE DONTCOPY + +(GLOBALVARS \TEDIT.OP.WIDTH \TEDIT.OP.BOTTOM) +) +) (RPAQ BXCARET (CURSORCREATE (QUOTE #*(16 16)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@CH@@CH@@FL@@FL@@LF@@ ) (QUOTE NIL) 3 4)) (RPAQ BXHICARET (CURSORCREATE (QUOTE #*(16 16)A@@@A@@@A@@@A@@@A@@@A@@@A@@@A@@@CH@@GL@@FL@@LF@@HB@@@@@@@@@@@@@@ @@ -2830,25 +2854,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 1989 1990 1991 1993 1994 1999 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (7117 93041 (TEDIT.CREATEW 7127 . 8263) (\TEDIT.CREATEW.FROM.REGION 8265 . 9249) ( -TEDIT.CURSORMOVEDFN 9251 . 19903) (TEDIT.CURSOROUTFN 19905 . 20440) (TEDIT.WINDOW.SETUP 20442 . 22251) - (TEDIT.MINIMAL.WINDOW.SETUP 22253 . 30042) (\TEDIT.ACTIVE.WINDOWP 30044 . 31025) ( -\TEDIT.BUTTONEVENTFN 31027 . 56017) (\TEDIT.WINDOW.OPS 56019 . 59822) (\TEDIT.EXPANDFN 59824 . 60227) -(\TEDIT.MAINW 60229 . 61518) (\TEDIT.PRIMARYW 61520 . 62732) (\TEDIT.COPYINSERTFN 62734 . 63705) ( -\TEDIT.NEWREGIONFN 63707 . 66174) (\TEDIT.SET.WINDOW.EXTENT 66176 . 72278) (\TEDIT.SHRINK.ICONCREATE -72280 . 74552) (\TEDIT.SHRINKFN 74554 . 75129) (\TEDIT.SPLITW 75131 . 81232) (\TEDIT.UNSPLITW 81234 . -86928) (\TEDIT.WINDOW.SETUP 86930 . 92650) (\SAFE.FIRST 92652 . 93039)) (94187 95094 (TEDITWINDOWP -94197 . 95092)) (95131 97627 (TEDIT.GETINPUT 95141 . 97124) (\TEDIT.MAKEFILENAME 97126 . 97625)) ( -97676 104127 (TEDIT.PROMPTPRINT 97686 . 100590) (TEDIT.PROMPTFLASH 100592 . 102547) ( -\TEDIT.PROMPT.PAGEFULLFN 102549 . 104125)) (104362 108424 (TEXTSTREAM.TITLE 104372 . 104993) ( -\TEDIT.ORIGINAL.WINDOW.TITLE 104995 . 107040) (\TEDIT.WINDOW.TITLE 107042 . 107712) ( -\TEXTSTREAM.FILENAME 107714 . 108422)) (108467 153208 (TEDIT.DEACTIVATE.WINDOW 108477 . 115626) ( -\TEDIT.REPAINTFN 115628 . 118485) (\TEDIT.RESHAPEFN 118487 . 124107) (\TEDIT.SCROLLFN 124109 . 153206) -) (153250 155299 (\TEDIT.PROCIDLEFN 153260 . 154609) (\TEDIT.PROCENTRYFN 154611 . 154904) ( -\TEDIT.PROCEXITFN 154906 . 155297)) (155378 166378 (\EDIT.DOWNCARET 155388 . 156069) (\EDIT.FLIPCARET -156071 . 157606) (TEDIT.FLASHCARET 157608 . 158722) (\EDIT.UPCARET 158724 . 159177) ( -TEDIT.NORMALIZECARET 159179 . 165130) (\SETCARET 165132 . 166052) (\TEDIT.CARET 166054 . 166376)) ( -166412 180167 (TEDIT.ADD.MENUITEM 166422 . 168337) (TEDIT.DEFAULT.MENUFN 168339 . 177606) ( -TEDIT.REMOVE.MENUITEM 177608 . 178609) (\TEDIT.CREATEMENU 178611 . 179064) (\TEDIT.MENU.WHENHELDFN -179066 . 179836) (\TEDIT.MENU.WHENSELECTEDFN 179838 . 180165))))) + (FILEMAP (NIL (7288 94104 (TEDIT.CREATEW 7298 . 8434) (\TEDIT.CREATEW.FROM.REGION 8436 . 9420) ( +TEDIT.CURSORMOVEDFN 9422 . 20808) (TEDIT.CURSOROUTFN 20810 . 21345) (TEDIT.WINDOW.SETUP 21347 . 23156) + (TEDIT.MINIMAL.WINDOW.SETUP 23158 . 30947) (\TEDIT.ACTIVE.WINDOWP 30949 . 31930) ( +\TEDIT.BUTTONEVENTFN 31932 . 56922) (\TEDIT.WINDOW.OPS 56924 . 60885) (\TEDIT.EXPANDFN 60887 . 61290) +(\TEDIT.MAINW 61292 . 62581) (\TEDIT.PRIMARYW 62583 . 63795) (\TEDIT.COPYINSERTFN 63797 . 64768) ( +\TEDIT.NEWREGIONFN 64770 . 67237) (\TEDIT.SET.WINDOW.EXTENT 67239 . 73341) (\TEDIT.SHRINK.ICONCREATE +73343 . 75615) (\TEDIT.SHRINKFN 75617 . 76192) (\TEDIT.SPLITW 76194 . 82295) (\TEDIT.UNSPLITW 82297 . +87991) (\TEDIT.WINDOW.SETUP 87993 . 93713) (\SAFE.FIRST 93715 . 94102)) (95434 96341 (TEDITWINDOWP +95444 . 96339)) (96378 98874 (TEDIT.GETINPUT 96388 . 98371) (\TEDIT.MAKEFILENAME 98373 . 98872)) ( +98923 105374 (TEDIT.PROMPTPRINT 98933 . 101837) (TEDIT.PROMPTFLASH 101839 . 103794) ( +\TEDIT.PROMPT.PAGEFULLFN 103796 . 105372)) (105609 109671 (TEXTSTREAM.TITLE 105619 . 106240) ( +\TEDIT.ORIGINAL.WINDOW.TITLE 106242 . 108287) (\TEDIT.WINDOW.TITLE 108289 . 108959) ( +\TEXTSTREAM.FILENAME 108961 . 109669)) (109714 154455 (TEDIT.DEACTIVATE.WINDOW 109724 . 116873) ( +\TEDIT.REPAINTFN 116875 . 119732) (\TEDIT.RESHAPEFN 119734 . 125354) (\TEDIT.SCROLLFN 125356 . 154453) +) (154497 156546 (\TEDIT.PROCIDLEFN 154507 . 155856) (\TEDIT.PROCENTRYFN 155858 . 156151) ( +\TEDIT.PROCEXITFN 156153 . 156544)) (156625 167625 (\EDIT.DOWNCARET 156635 . 157316) (\EDIT.FLIPCARET +157318 . 158853) (TEDIT.FLASHCARET 158855 . 159969) (\EDIT.UPCARET 159971 . 160424) ( +TEDIT.NORMALIZECARET 160426 . 166377) (\SETCARET 166379 . 167299) (\TEDIT.CARET 167301 . 167623)) ( +167659 181414 (TEDIT.ADD.MENUITEM 167669 . 169584) (TEDIT.DEFAULT.MENUFN 169586 . 178853) ( +TEDIT.REMOVE.MENUITEM 178855 . 179856) (\TEDIT.CREATEMENU 179858 . 180311) (\TEDIT.MENU.WHENHELDFN +180313 . 181083) (\TEDIT.MENU.WHENSELECTEDFN 181085 . 181412))))) STOP diff --git a/library/TEDITWINDOW.LCOM b/library/TEDITWINDOW.LCOM index 59c632ab5c61ff70ac98543478b130e04278603c..bf7fb2a15722716577eae9518a7020de422242c5 100644 GIT binary patch delta 7963 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 P3ELK(jX(VJCwl%5jla*) delta 8190 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 DUan^9 diff --git a/library/TEXTOFD b/library/TEXTOFD index 525f9d07..b32fdd96 100644 --- a/library/TEXTOFD +++ b/library/TEXTOFD @@ -1,11 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 6-May-2021 10:18:06"  -{DSK}kaplan>Local>medley3.5>git-medley2>library>TEXTOFD.;4 176139 - changes to%: (FNS \TEXTINIT) +(FILECREATED "12-Oct-2021 15:38:41"  +{DSK}kaplan>Local>medley3.5>git-medley>library>TEXTOFD.;4 176302 - previous date%: "11-Feb-2001 12:06:42" -{DSK}kaplan>Local>medley3.5>git-medley2>library>TEXTOFD.;2) + changes to%: (FNS \TEDITOUTCCODEFN) + + previous date%: " 7-Oct-2021 08:41:13" +{DSK}kaplan>Local>medley3.5>git-medley>library>TEXTOFD.;3) (* ; " @@ -25,24 +26,24 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (FNS \INSERTCH \INSERTCR) (COMS -(* ;;; "Functions to manipulate the Piece Table (PCTB)") +(* ;;; "Functions to manipulate the Piece Table (PCTB)") (FNS \CHTOPC \CHTOPCNO \CLEARPCTB \CREATEPIECEORSTREAM \DELETEPIECE \FINDPIECE \INSERTPIECE \MAKEPCTB \SPLITPIECE \INSERT.FIRST.PIECE)) - (COMS (* ; - "Generic-IO type operations support") + (COMS (* ; + "Generic-IO type operations support") (FNS \TEXTCLOSEF \TEXTCLOSEF-SUBTREE \TEXTDSPFONT \TEXTEOFP \TEXTGETEOFPTR \TEXTGETFILEPTR \TEXTOPENF \TEXTOPENF-SUBTREE \TEXTOUTCHARFN \TEXTBACKFILEPTR - \TEXTBOUT \TEDITOUTCHARFN \TEXTSETEOF \TEXTSETFILEPTR \TEXTDSPXPOSITION + \TEXTBOUT \TEDITOUTCCODEFN \TEXTSETEOF \TEXTSETFILEPTR \TEXTDSPXPOSITION \TEXTDSPYPOSITION \TEXTLEFTMARGIN \TEXTRIGHTMARGIN \TEXTDSPCHARWIDTH \TEXTDSPSTRINGWIDTH \TEXTDSPLINEFEED) (FNS \TEXTBIN \TEDIT.TEXTBIN.STRINGSETUP \TEDIT.TEXTBIN.FILESETUP \TEDIT.TEXTBIN.NEW.PAGE) (FNS \TEXTPEEKBIN \TEDIT.PEEKBIN.NEW.PAGE)) - (COMS (* ; "Support for TEXTPROP") + (COMS (* ; "Support for TEXTPROP") (FNS CGETTEXTPROP CTEXTPROP GETTEXTPROP PUTTEXTPROP TEXTPROP)) [COMS - (* ;; "Support for error handling: The old error handler for the stream-not-open error. This is here, because you only want to do this ONCE, even if you load TEXTOFD multiple times (as, e.g., in development)") + (* ;; "Support for error handling: The old error handler for the stream-not-open error. This is here, because you only want to do this ONCE, even if you load TEXTOFD multiple times (as, e.g., in development)") (INITVARS (*TEDIT-OLD-STREAM-ERROR-HANDLER* (CONDITION-HANDLER 'XCL:STREAM-NOT-OPEN] (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\TEXTINIT))) @@ -676,29 +677,29 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (RETURN PC]) (\TEXTINIT - [LAMBDA NIL (* ; "Edited 6-May-2021 10:17 by rmk:") - (* ; - "Create the FDEV and STREAM prototypes for TEXT streams.") + [LAMBDA NIL (* ; "Edited 7-Oct-2021 08:40 by rmk:") + (* ; + "Create the FDEV and STREAM prototypes for TEXT streams.") - (* ;; "TEXT streams make use of the following STREAM fields:") + (* ;; "TEXT streams make use of the following STREAM fields:") - (* ;; "(DEVICE (* FDEV of this guy -- The TEXT device)") + (* ;; "(DEVICE (* FDEV of this guy -- The TEXT device)") - (* ;; "F1 (* The STREAM for the PFILE of the current piece (or NIL))") + (* ;; "F1 (* The STREAM for the PFILE of the current piece (or NIL))") - (* ;; "F2 (* # chars left in piece at end of underlying file's page)") + (* ;; "F2 (* # chars left in piece at end of underlying file's page)") - (* ;; "F3 (* The TEXTOBJ for this stream)") + (* ;; "F3 (* The TEXTOBJ for this stream)") - (* ;; "F4") + (* ;; "F4") - (* ;; "F5 (* The PIECE we're currently inside)") + (* ;; "F5 (* The PIECE we're currently inside)") - (* ;; "(FW6 WORD) (* CPAGE for the start of the piece, for BACKFILEPTR)") + (* ;; "(FW6 WORD) (* CPAGE for the start of the piece, for BACKFILEPTR)") - (* ;; "(FW7 WORD) (* COFFSET for the start of the piece, for BACKFILEPTR)") + (* ;; "(FW7 WORD) (* COFFSET for the start of the piece, for BACKFILEPTR)") - (* ;; "(FW8 WORD)") + (* ;; "(FW8 WORD)") (SETQ \TEXTIMAGEOPS (create IMAGEOPS IMAGETYPE _ 'TEXT @@ -745,6 +746,9 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor FDEXTENDABLE _ NIL TRUNCATEFILE _ (FUNCTION NILL) WRITEPAGES _ (FUNCTION NILL))) + + (* ;; "The prototypical Text stream") + (SETQ \TEXTOFD (create STREAM BINABLE _ T @@ -761,10 +765,16 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor FW7 _ 0 MAXBUFFERS _ 10 IMAGEOPS _ \TEXTIMAGEOPS - IMAGEDATA _ (create TEXTIMAGEDATA) - OUTCHARFN _ (FUNCTION \TEDITOUTCHARFN))) (* ; "The prototypical Text stream") + IMAGEDATA _ (create TEXTIMAGEDATA))) - (* ;; "Set up so that FILE NOT OPENs on TEdit streams are caught and fixed.") + (* ;; "Maybe more functions later?") + + (MAKE-EXTERNALFORMAT :TEDIT NIL NIL NIL (FUNCTION \TEDITOUTCCODEFN) + NIL + 'CR) + (\EXTERNALFORMAT \TEXTOFD :TEDIT) + + (* ;; "Set up so that FILE NOT OPENs on TEdit streams are caught and fixed.") (CL:SETF (CONDITION-HANDLER 'XCL:STREAM-NOT-OPEN) (FUNCTION (LAMBDA (CONDITION) @@ -772,8 +782,8 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (COND [(AND (BOUNDP 'ERRORPOS) (TEXTSTREAMP STREAM)) - (* ; - "This happened in the error handler, and it happened to a TEdit stream, so try the fix:") + (* ; + "This happened in the error handler, and it happened to a TEdit stream, so try the fix:") (LET ((XCL::RESULT (REOPENTEXTSTREAM STREAM))) (CL:WHEN XCL::RESULT (ENVAPPLY (STKNAME ERRORPOS) @@ -781,8 +791,8 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (STKNTH -1 ERRORPOS ERRORPOS) ERRORPOS T T))] (*TEDIT-OLD-STREAM-ERROR-HANDLER* - (* ; - "Some other kind of stream, so punt to the old handler (if there is one):") + (* ; + "Some other kind of stream, so punt to the old handler (if there is one):") (APPLY* *TEDIT-OLD-STREAM-ERROR-HANDLER* CONDITION]) (\TEXTMARK @@ -1782,10 +1792,10 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (freplace (TEXTSTREAM CHARSLEFT) of STREAM with 0) (freplace (TEXTSTREAM REALFILE) of STREAM with NIL]) -(\TEDITOUTCHARFN - [LAMBDA (STREAM CHARCODE) (* ; "Edited 31-May-91 14:19 by jds") +(\TEDITOUTCCODEFN + [LAMBDA (STREAM CHARCODE) (* ; "Edited 12-Oct-2021 15:38 by rmk:") - (* ;; "OUTCHARFN for TEdit streams -- always BOUTs the character, because TEdit streams deal in complete charcodes rather than bytes. BUT -- does update the CHARPOSITION of the stream, which is used by some code to decide things.") + (* ;; "OUTCCODEFN for TEdit streams -- always BOUTs the character, because TEdit streams deal in complete charcodes rather than bytes (via \TEXTBOUT). BUT -- does update the CHARPOSITION of the stream, which is used by some code to decide things.") (COND ((EQ CHARCODE (CHARCODE EOL)) @@ -2657,25 +2667,25 @@ Copyright (c) 1983-1991, 1993-1995, 1999-2001, 2021 by John Sybalsky & Xerox Cor (PUTPROPS TEXTOFD COPYRIGHT ("John Sybalsky & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990 1991 1993 1994 1995 1999 2000 2001 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2982 52971 (COPYTEXTSTREAM 2992 . 6114) (OPENTEXTSTREAM 6116 . 20993) (REOPENTEXTSTREAM - 20995 . 21417) (TEDIT.STREAMCHANGEDP 21419 . 21717) (TEXTSTREAMP 21719 . 22033) (TXTFILE 22035 . -22480) (\DELETECH 22482 . 33738) (\SETUPGETCH 33740 . 41019) (\TEDIT.REOPEN.STREAM 41021 . 42871) ( -\TEDIT.COPYTEXTSTREAM.PIECEMAPFN 42873 . 45311) (\TEXTINIT 45313 . 50864) (\TEXTMARK 50866 . 51614) ( -\TEXTTTYBOUT 51616 . 52969)) (52972 78404 (\INSERTCH 52982 . 76708) (\INSERTCR 76710 . 78402)) (78470 -98786 (\CHTOPC 78480 . 79669) (\CHTOPCNO 79671 . 80933) (\CLEARPCTB 80935 . 81731) ( -\CREATEPIECEORSTREAM 81733 . 84707) (\DELETEPIECE 84709 . 85622) (\FINDPIECE 85624 . 85990) ( -\INSERTPIECE 85992 . 89002) (\MAKEPCTB 89004 . 90919) (\SPLITPIECE 90921 . 97880) (\INSERT.FIRST.PIECE - 97882 . 98784)) (98838 123056 (\TEXTCLOSEF 98848 . 100075) (\TEXTCLOSEF-SUBTREE 100077 . 100783) ( -\TEXTDSPFONT 100785 . 101777) (\TEXTEOFP 101779 . 103138) (\TEXTGETEOFPTR 103140 . 103350) ( -\TEXTGETFILEPTR 103352 . 105415) (\TEXTOPENF 105417 . 106247) (\TEXTOPENF-SUBTREE 106249 . 107050) ( -\TEXTOUTCHARFN 107052 . 107400) (\TEXTBACKFILEPTR 107402 . 113303) (\TEXTBOUT 113305 . 116653) ( -\TEDITOUTCHARFN 116655 . 117901) (\TEXTSETEOF 117903 . 118412) (\TEXTSETFILEPTR 118414 . 119639) ( -\TEXTDSPXPOSITION 119641 . 120498) (\TEXTDSPYPOSITION 120500 . 121045) (\TEXTLEFTMARGIN 121047 . -121530) (\TEXTRIGHTMARGIN 121532 . 122468) (\TEXTDSPCHARWIDTH 122470 . 122708) (\TEXTDSPSTRINGWIDTH -122710 . 122950) (\TEXTDSPLINEFEED 122952 . 123054)) (123057 156801 (\TEXTBIN 123067 . 139853) ( -\TEDIT.TEXTBIN.STRINGSETUP 139855 . 145568) (\TEDIT.TEXTBIN.FILESETUP 145570 . 151956) ( -\TEDIT.TEXTBIN.NEW.PAGE 151958 . 156799)) (156802 170210 (\TEXTPEEKBIN 156812 . 165951) ( -\TEDIT.PEEKBIN.NEW.PAGE 165953 . 170208)) (170248 175466 (CGETTEXTPROP 170258 . 170734) (CTEXTPROP -170736 . 173080) (GETTEXTPROP 173082 . 173677) (PUTTEXTPROP 173679 . 175004) (TEXTPROP 175006 . 175464 + (FILEMAP (NIL (2989 53114 (COPYTEXTSTREAM 2999 . 6121) (OPENTEXTSTREAM 6123 . 21000) (REOPENTEXTSTREAM + 21002 . 21424) (TEDIT.STREAMCHANGEDP 21426 . 21724) (TEXTSTREAMP 21726 . 22040) (TXTFILE 22042 . +22487) (\DELETECH 22489 . 33745) (\SETUPGETCH 33747 . 41026) (\TEDIT.REOPEN.STREAM 41028 . 42878) ( +\TEDIT.COPYTEXTSTREAM.PIECEMAPFN 42880 . 45318) (\TEXTINIT 45320 . 51007) (\TEXTMARK 51009 . 51757) ( +\TEXTTTYBOUT 51759 . 53112)) (53115 78547 (\INSERTCH 53125 . 76851) (\INSERTCR 76853 . 78545)) (78613 +98929 (\CHTOPC 78623 . 79812) (\CHTOPCNO 79814 . 81076) (\CLEARPCTB 81078 . 81874) ( +\CREATEPIECEORSTREAM 81876 . 84850) (\DELETEPIECE 84852 . 85765) (\FINDPIECE 85767 . 86133) ( +\INSERTPIECE 86135 . 89145) (\MAKEPCTB 89147 . 91062) (\SPLITPIECE 91064 . 98023) (\INSERT.FIRST.PIECE + 98025 . 98927)) (98981 123219 (\TEXTCLOSEF 98991 . 100218) (\TEXTCLOSEF-SUBTREE 100220 . 100926) ( +\TEXTDSPFONT 100928 . 101920) (\TEXTEOFP 101922 . 103281) (\TEXTGETEOFPTR 103283 . 103493) ( +\TEXTGETFILEPTR 103495 . 105558) (\TEXTOPENF 105560 . 106390) (\TEXTOPENF-SUBTREE 106392 . 107193) ( +\TEXTOUTCHARFN 107195 . 107543) (\TEXTBACKFILEPTR 107545 . 113446) (\TEXTBOUT 113448 . 116796) ( +\TEDITOUTCCODEFN 116798 . 118064) (\TEXTSETEOF 118066 . 118575) (\TEXTSETFILEPTR 118577 . 119802) ( +\TEXTDSPXPOSITION 119804 . 120661) (\TEXTDSPYPOSITION 120663 . 121208) (\TEXTLEFTMARGIN 121210 . +121693) (\TEXTRIGHTMARGIN 121695 . 122631) (\TEXTDSPCHARWIDTH 122633 . 122871) (\TEXTDSPSTRINGWIDTH +122873 . 123113) (\TEXTDSPLINEFEED 123115 . 123217)) (123220 156964 (\TEXTBIN 123230 . 140016) ( +\TEDIT.TEXTBIN.STRINGSETUP 140018 . 145731) (\TEDIT.TEXTBIN.FILESETUP 145733 . 152119) ( +\TEDIT.TEXTBIN.NEW.PAGE 152121 . 156962)) (156965 170373 (\TEXTPEEKBIN 156975 . 166114) ( +\TEDIT.PEEKBIN.NEW.PAGE 166116 . 170371)) (170411 175629 (CGETTEXTPROP 170421 . 170897) (CTEXTPROP +170899 . 173243) (GETTEXTPROP 173245 . 173840) (PUTTEXTPROP 173842 . 175167) (TEXTPROP 175169 . 175627 ))))) STOP diff --git a/library/TEXTOFD.LCOM b/library/TEXTOFD.LCOM index cb4668885b5cbf187e286decdbee0618605505ff..3ff752612aa9fd8ad760542cf7b70510d71aabd1 100644 GIT binary patch delta 891 zcmaJ<&ui2`6mFJ+H7a;0>P2`&Dh;|}CdqDoTqK*Fbc5NMkYuHlJyg4kT~S-MRYZ{D z-GepYK@Z+M>LGaWpa`D)JN!p{6Wn%f!8r`?ee-^N^S$@&Q{&y|#_QfSbv23;7G^9c zSQj*EHpSL{(g zF2tY+L(ydshsk5mqCt|td;`NUG#K68$IO$BWpPi_XY8*2hn@z9FK(T+L8VUHB4+tP zxn%#-T!-E1_~~Tl$zI(I>1p5`f0M{R`qVmn-chXTdgHQwp0*(c0s*14RmC@kiegqD zZ*C|GREqJnQT`-9%2#xHuss^xU%<0n-xtnEdsAMuuO3;oTVLlSc5z{ql9mPOphz>3 z0wtCOL$+S9j0Z_1vVKq?NL}a$w^{SVgXcOh%vlkHZpiW+HKN3JrR3{H%;N%C+a{*l z7Obpo^>l<7YhDdeB5hW*32@;B8h@54a$iQ{XQdz#j z+_wGqi~V4Yi8KdSmXwU6F1rJcTQi+`4hpiyILqSD$QTd$OcE*w7Hses*U*uQ9|r{8 z6dV&f%%D!pb8u*D4#90k2nDGNv^|`{EIRB38BV17ZGEv9<;Iuqx5rB=2CA#NS}je! M>or{cdb7Xy2cSgXXaE2J delta 851 zcmZuuO>5Lp6zxn4t)m4Or7m=FiBx8)6W&WQ`4S50swF8=_uKNTJmB%O4rk!(e9E7 zea`N2*LOLjPeE{co(E^?MNt%BW3YpD|H_us5)~S?zuvB%nClL9kIfO2>LyVIIC#~( zCasLp;bbt`T`4pJ#};oZP@|ekWg~lES!^B|X~1}rJWsctZI{C6QJ}QxBtzsR*sz3z zrXn4@Bn#&-O1W6Q(zv8j2!Vh_s7mrXH~W=}k{{lBP^r}N3*zVM?87NM3!B+@@?-8% z`L2J$&uc+sOW97I7&U^UJSae2_=?T!^WKIl4yy_soNZoO-*G27x6zaO&e zd!TFbaU(?_2xHI-ks{Tx*B k%_unXK>46dV`cVxGnt!5WWL^*&o|PqjRMVYWIHo|0Q^ne^#A|> diff --git a/sources/HARDCOPY b/sources/HARDCOPY index 145f90bb..7d63bbf5 100644 --- a/sources/HARDCOPY +++ b/sources/HARDCOPY @@ -1,11 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "20-Sep-2021 10:59:58"  -{DSK}kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;2 103730 - changes to%: (VARS HARDCOPYCOMS) +(FILECREATED " 8-Oct-2021 22:23:49"  +{DSK}kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;13 103499 - previous date%: " 5-May-2021 19:41:55" -{DSK}kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;1) + changes to%: (FNS COPY.TEXT.TO.IMAGE) + + previous date%: " 7-Oct-2021 10:43:32" +{DSK}kaplan>Local>medley3.5>git-medley>sources>HARDCOPY.;12) (* ; " @@ -722,105 +723,100 @@ Copyright (c) 1984-1993, 1999, 2018, 2021 by Venue & Xerox Corporation. (CLOSEF IMAGESTREAM])]) (COPY.TEXT.TO.IMAGE - [LAMBDA (INFILE IMAGESTREAM FONTS TABS) (* ; "Edited 5-May-2021 19:41 by rmk:") - (* ; "Edited 10-Apr-95 21:23 by rmk:") + [LAMBDA (INFILE IMAGESTREAM FONTS TABS) (* ; "Edited 8-Oct-2021 22:23 by rmk:") + (* ; "Edited 10-Apr-95 21:23 by rmk:") - (* ;; "Copy text to an image stream, obeying PSPOOL control characters") + (* ;; "Copy text to an image stream, obeying PSPOOL control characters") (LET* - ((IMAGESTREAM (GETSTREAM IMAGESTREAM 'OUTPUT)) + [(IMAGESTREAM (GETSTREAM IMAGESTREAM 'OUTPUT)) (RIGHTMAR (DSPRIGHTMARGIN NIL IMAGESTREAM)) (FONTARRAY (FONTMAPARRAY FONTS)) (MAXFONT (ARRAYSIZE FONTARRAY)) (INSTRM (GETSTREAM INFILE 'INPUT)) - DEFAULTTAB C FC) - (replace (STREAM ENDOFSTREAMOP) of INSTRM with (FUNCTION ZERO)) - (do - (COND - ((AND [EQ 0 (LOGAND 255 (SETQ C (\INCCODE INSTRM] - (EOFP INSTRM)) - (RETURN)) - ((AND RIGHTMAR (> (DSPXPOSITION NIL IMAGESTREAM) - RIGHTMAR)) (* ; - "Not to walk off the right edge of the paper") - (TERPRI IMAGESTREAM))) - (COND - ([> C (CONSTANT (APPLY (FUNCTION MAX) - (CHARCODE (^F CR LF ^L TAB NULL] - (\OUTCHAR IMAGESTREAM C)) - (T - (SELCHARQ C - (^F (* ; "Font shift") + DEFAULTTAB C FC (EOSP (GETFILEINFO INSTRM 'ENDOFSTREAMOP] - (* ;; - "For FX-XP-9 printer:SETXY interpress command to avoid printer's BUG(Take)") + (* ;; +"RMK: EOS function changed to NILL from ZERO. 0 in low-order bits is OK in UNICODE, when we switch") - (DSPXPOSITION (IPLUS (DSPXPOSITION NIL IMAGESTREAM) - 1) - IMAGESTREAM) - [SELCHARQ (SETQ FC (\INCCODE INSTRM)) - (^T (* ; "tab to absolute pos.") - (COND - ((EQ 0 (SETQ FC (\INCCODE INSTRM))) - (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) - (\OUTCHAR IMAGESTREAM (CHARCODE ^T)) - (AND (\EOFP INSTRM) - (RETURN)) - (\OUTCHAR IMAGESTREAM FC)) - (T + (SETFILEINFO INSTRM 'ENDOFSTREAMOP (FUNCTION NILL)) + [while (SETQ C (\INCCODE INSTRM)) + do + (COND + ((AND RIGHTMAR (> (DSPXPOSITION NIL IMAGESTREAM) + RIGHTMAR)) (* ; + "Not to walk off the right edge of the paper") + (TERPRI IMAGESTREAM))) + (COND + ([> C (CONSTANT (APPLY (FUNCTION MAX) + (CHARCODE (^F CR LF ^L TAB] + (\OUTCHAR IMAGESTREAM C)) + (T + (SELCHARQ C + (^F (* ; "Font shift") - (* ;; "TEXTDEFAULTTABS is a hack, since it depends on the units of the stream. Should really be a property of the stream or imagetype, or defined in terms of standard scale") + (* ;; + "For FX-XP-9 printer:SETXY interpress command to avoid printer's BUG(Take)") - [SETQ FC - (IF TABS - THEN (OR (CAR (NTH TABS FC)) - (ERROR "Undefined absolute tab number" FC)) - ELSE (TIMES FC - (OR DEFAULTTAB - (SETQ DEFAULTTAB - (TIMES 8 (CHARWIDTH (CHARCODE SPACE) - (FONTCREATE (ELT FONTARRAY - 1) - NIL NIL NIL - IMAGESTREAM] - (DSPXPOSITION FC IMAGESTREAM)))) - (NULL (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) - (AND (\EOFP INSTRM) - (RETURN)) - (\OUTCHAR IMAGESTREAM FC) (* ; "EOS after ^F") - ) - (COND - ((AND (>= MAXFONT FC) - (NEQ FC 0)) - (DSPFONT (ELT FONTARRAY FC) - IMAGESTREAM)) - (T (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) - (\OUTCHAR IMAGESTREAM C]) - (CR - (* ;; "Assumes that CR and possibly following LF denote a single EOL, independent of the EOL convention and independent of whether the file was opened binary or text. Originally, this function tried to discriminate, treating an LF in a CR-mode file as a line-feed and a CR in an LF file as a carriage-return. But these formatting effects cannot be guaranteed across text-file transfers (which is all that it makes sense to print), so it is silly to take them seriously. Given that just this information can be lost in text-mode file transfers, we make adopt here the 99%% correct solution, which is to treat all instances of CR, CRLF, and LF as end-of-line.") + (DSPXPOSITION (IPLUS (DSPXPOSITION NIL IMAGESTREAM) + 1) + IMAGESTREAM) + [SELCHARQ (SETQ FC (\INCCODE INSTRM)) + (^T (* ; "tab to absolute pos.") + (CL:UNLESS (SETQ FC (\INCCODE INSTRM)) + (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) + (\OUTCHAR IMAGESTREAM (CHARCODE ^T)) + (RETURN)) - (TERPRI IMAGESTREAM) - (COND - ((EQ (CHARCODE LF) - (\PEEKBIN INSTRM T)) - (BIN INSTRM)))) - (TAB (OR (LET* [(LEFTMARGIN (DSPLEFTMARGIN NIL IMAGESTREAM)) - (TAB.WIDTH (TIMES (CHARWIDTH (CHARCODE SPACE) - IMAGESTREAM) - 8)) - (CURRENT.X (- (DSPXPOSITION NIL IMAGESTREAM) - LEFTMARGIN)) - (CURRENT.STOP (- CURRENT.X (REMAINDER CURRENT.X TAB.WIDTH] - (NLSETQ (RELMOVETO (- (+ CURRENT.STOP TAB.WIDTH) - CURRENT.X) - 0 IMAGESTREAM))) - (\OUTCHAR IMAGESTREAM C))) - (LF (* ; "See comment at CR") - (TERPRI IMAGESTREAM)) - (NULL (AND (EOFP INSTRM) - (RETURN)) - (\OUTCHAR IMAGESTREAM C)) - (\OUTCHAR IMAGESTREAM C]) + (* ;; "TEXTDEFAULTTABS is a hack, since it depends on the units of the stream. Should really be a property of the stream or imagetype, or defined in terms of standard scale") + + [SETQ FC + (IF TABS + THEN (OR (CAR (NTH TABS FC)) + (ERROR "Undefined absolute tab number" FC)) + ELSE (TIMES FC (OR DEFAULTTAB + (SETQ DEFAULTTAB + (TIMES 8 (CHARWIDTH (CHARCODE SPACE) + (FONTCREATE (ELT FONTARRAY 1 + ) + NIL NIL NIL + IMAGESTREAM] + (DSPXPOSITION FC IMAGESTREAM)) + (NIL (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) + (* ; "EOS after ^F") + (RETURN)) + (COND + ((AND (>= MAXFONT FC) + (NEQ FC 0)) + (DSPFONT (ELT FONTARRAY FC) + IMAGESTREAM)) + (T (\OUTCHAR IMAGESTREAM (CHARCODE ^F)) + (\OUTCHAR IMAGESTREAM FC]) + (CR + (* ;; "Assumes that CR and possibly following LF denote a single EOL, independent of the EOL convention and independent of whether the file was opened binary or text. Originally, this function tried to discriminate, treating an LF in a CR-mode file as a line-feed and a CR in an LF file +as a carriage-return. But these formatting effects cannot be guaranteed across text-file transfers (which is all that it makes sense to print), so it is silly to take them seriously. Given that just this information can be lost in text-mode file transfers, we make adopt here the 99%% correct solution, wh +ich is to treat all instances of CR, CRLF, and LF as end-of-line.") + + (COND + ((EQ (CHARCODE LF) + (\PEEKCCODE.NOEOLC INSTRM T)) + (\INCCODE INSTRM))) + (TERPRI IMAGESTREAM)) + (LF (* ; "Isolatedx LF, see comment at CR") + (TERPRI IMAGESTREAM)) + (TAB (OR (LET* [(LEFTMARGIN (DSPLEFTMARGIN NIL IMAGESTREAM)) + (TAB.WIDTH (TIMES (CHARWIDTH (CHARCODE SPACE) + IMAGESTREAM) + 8)) + (CURRENT.X (- (DSPXPOSITION NIL IMAGESTREAM) + LEFTMARGIN)) + (CURRENT.STOP (- CURRENT.X (REMAINDER CURRENT.X TAB.WIDTH] + (NLSETQ (RELMOVETO (- (+ CURRENT.STOP TAB.WIDTH) + CURRENT.X) + 0 IMAGESTREAM))) + (\OUTCHAR IMAGESTREAM C))) + (\OUTCHAR IMAGESTREAM C] + (SETFILEINFO INSTRM 'ENDOFSTREAMOP EOSP]) ) (DEFINEQ @@ -1088,39 +1084,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 1993 1999 2018 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6176 10360 (HARDCOPY.SOMEHOW 6186 . 7544) (HARDCOPYIMAGEW 7546 . 7698) ( -HARDCOPYIMAGEW.TOFILE 7700 . 8008) (HARDCOPYIMAGEW.TOPRINTER 8010 . 8675) (HARDCOPYREGION.TOFILE 8677 - . 8975) (HARDCOPYREGION.TOPRINTER 8977 . 9599) (COPY.WINDOW.TO.BITMAP 9601 . 10358)) (10432 20982 ( -MakeMenuOfPrinters 10442 . 11667) (PRINTERS.WHENSELECTEDFN 11669 . 13411) (MakeMenuOfImageTypes 13413 - . 13931) (GetNewPrinterFromUser 13933 . 14361) (PopUpWindowAndGetAtom 14363 . 15748) ( -PopUpWindowAndGetList 15750 . 17316) (NewPrinter 17318 . 18266) (GetPrinterName 18268 . 18548) ( -GetImageFile 18550 . 20837) (FetchDefaultPrinter 20839 . 20980)) (21017 21555 ( -ExtensionForPrintFileType 21027 . 21220) (PRINTFILETYPE.FROM.EXTENSION 21222 . 21553)) (21610 37994 ( -DEFAULTPRINTER 21620 . 21780) (CAN.PRINT.DIRECTLY 21782 . 21938) (CONVERT.FILE.TO.TYPE.FOR.PRINTER -21940 . 22984) (EMPRESS 22986 . 23299) (HARDCOPYW 23301 . 26261) (LISTFILES1 26263 . 26436) ( -PRINTER.BITMAPFILE 26438 . 26685) (PRINTER.BITMAPSCALE 26687 . 26952) (PRINTER.SCRATCH.FILE 26954 . -27077) (PRINTERPROP 27079 . 27262) (PRINTERSTATUS 27264 . 27453) (PRINTERTYPE 27455 . 29764) ( -PRINTERNAME 29766 . 30068) (PRINTFILEPROP 30070 . 30261) (PRINTFILETYPE 30263 . 32207) ( -\EXPECTED.FILE.TYPE 32209 . 32991) (SEND.FILE.TO.PRINTER 32993 . 37992)) (37995 42977 (PRINTERDEVICE -38005 . 42975)) (43792 51993 (TEXTTOIMAGEFILE 43802 . 45992) (COPY.TEXT.TO.IMAGE 45994 . 51991)) ( -51994 53129 (\BLTSHADE.GENERICPRINTER 52004 . 53127)) (53257 72009 (MAKEHARDCOPYSTREAM 53267 . 54271) -(UNMAKEHARDCOPYSTREAM 54273 . 54957) (HARDCOPYSTREAMTYPE 54959 . 55238) (\CHARWIDTH.HDCPYDISPLAY 55240 - . 55671) (\DSPFONT.HDCPYDISPLAY 55673 . 57078) (\DSPRIGHTMARGIN.HDCPYDISPLAY 57080 . 57657) ( -\DSPXPOSITION.HDCPYDISPLAY 57659 . 57920) (\DSPYPOSITION.HDCPYDISPLAY 57922 . 58183) ( -\STRINGWIDTH.HDCPYDISPLAY 58185 . 58692) (\STRINGWIDTH.HCPYDISPLAYAUX 58694 . 61026) (\HDCPYBLTCHAR -61028 . 63563) (\HDCPYDISPLAY.FIX.XPOS 63565 . 63985) (\HDCPYDISPLAY.FIX.YPOS 63987 . 64407) ( -\HDCPYDISPLAYINIT 64409 . 65186) (\HDCPYDSPPRINTCHAR 65188 . 67348) (\SLOWHDCPYBLTCHAR 67350 . 70853) -(\CHANGECHARSET.HDCPYDISPLAY 70855 . 72007)) (72731 103028 (MAKEHARDCOPYMODESTREAM 72741 . 74650) ( -UNMAKEHARDCOPYMODESTREAM 74652 . 75730) (\BLTSHADE.HCPYMODE 75732 . 76179) (\BITBLT.HCPYMODE 76181 . -76803) (\BRUSHCONVERT.HCPYMODE 76805 . 77042) (\CHANGECHARSET.HCPYMODE 77044 . 78811) ( -\DASHINGCONVERT.HCPYMODE 78813 . 79076) (\CHARWIDTH.HCPYMODE 79078 . 79365) (\DRAWLINE.HCPYMODE 79367 - . 79679) (\DRAWCURVE.HCPYMODE 79681 . 80110) (\DRAWCIRCLE.HCPYMODE 80112 . 80507) ( -\DRAWELLIPSE.HCPYMODE 80509 . 81021) (\DSPFONT.HCPYMODE 81023 . 82179) (\DSPLEFTMARGIN.HCPYMODE 82181 - . 82765) (\DSPLINEFEED.HCPYMODE 82767 . 83177) (\DSPRIGHTMARGIN.HCPYMODE 83179 . 83808) ( -\DSPSPACEFACTOR.HCPYMODE 83810 . 84331) (\DSPXPOSITION.HCPYMODE 84333 . 84914) (\DSPYPOSITION.HCPYMODE - 84916 . 85321) (\MOVETO.HCPYMODE 85323 . 85475) (\FONTCREATE.HCPYMODE.PRESS 85477 . 86489) ( -\CREATECHARSET.HCPYMODE.PRESS 86491 . 87462) (\FONTCREATE.HCPYMODE.INTERPRESS 87464 . 88498) ( -\CREATECHARSET.HCPYMODE.INTERPRESS 88500 . 89488) (\STRINGWIDTH.HCPYMODE 89490 . 89924) ( -\HCPYMODEBLTCHAR 89926 . 92895) (\HCPYMODEDISPLAYINIT 92897 . 95828) (\HCPYMODEDSPPRINTCHAR 95830 . -98011) (\SLOWHCPYMODEBLTCHAR 98013 . 101527) (\SFFixY.HCPYMODE 101529 . 103026))))) + (FILEMAP (NIL (6184 10368 (HARDCOPY.SOMEHOW 6194 . 7552) (HARDCOPYIMAGEW 7554 . 7706) ( +HARDCOPYIMAGEW.TOFILE 7708 . 8016) (HARDCOPYIMAGEW.TOPRINTER 8018 . 8683) (HARDCOPYREGION.TOFILE 8685 + . 8983) (HARDCOPYREGION.TOPRINTER 8985 . 9607) (COPY.WINDOW.TO.BITMAP 9609 . 10366)) (10440 20990 ( +MakeMenuOfPrinters 10450 . 11675) (PRINTERS.WHENSELECTEDFN 11677 . 13419) (MakeMenuOfImageTypes 13421 + . 13939) (GetNewPrinterFromUser 13941 . 14369) (PopUpWindowAndGetAtom 14371 . 15756) ( +PopUpWindowAndGetList 15758 . 17324) (NewPrinter 17326 . 18274) (GetPrinterName 18276 . 18556) ( +GetImageFile 18558 . 20845) (FetchDefaultPrinter 20847 . 20988)) (21025 21563 ( +ExtensionForPrintFileType 21035 . 21228) (PRINTFILETYPE.FROM.EXTENSION 21230 . 21561)) (21618 38002 ( +DEFAULTPRINTER 21628 . 21788) (CAN.PRINT.DIRECTLY 21790 . 21946) (CONVERT.FILE.TO.TYPE.FOR.PRINTER +21948 . 22992) (EMPRESS 22994 . 23307) (HARDCOPYW 23309 . 26269) (LISTFILES1 26271 . 26444) ( +PRINTER.BITMAPFILE 26446 . 26693) (PRINTER.BITMAPSCALE 26695 . 26960) (PRINTER.SCRATCH.FILE 26962 . +27085) (PRINTERPROP 27087 . 27270) (PRINTERSTATUS 27272 . 27461) (PRINTERTYPE 27463 . 29772) ( +PRINTERNAME 29774 . 30076) (PRINTFILEPROP 30078 . 30269) (PRINTFILETYPE 30271 . 32215) ( +\EXPECTED.FILE.TYPE 32217 . 32999) (SEND.FILE.TO.PRINTER 33001 . 38000)) (38003 42985 (PRINTERDEVICE +38013 . 42983)) (43800 51762 (TEXTTOIMAGEFILE 43810 . 46000) (COPY.TEXT.TO.IMAGE 46002 . 51760)) ( +51763 52898 (\BLTSHADE.GENERICPRINTER 51773 . 52896)) (53026 71778 (MAKEHARDCOPYSTREAM 53036 . 54040) +(UNMAKEHARDCOPYSTREAM 54042 . 54726) (HARDCOPYSTREAMTYPE 54728 . 55007) (\CHARWIDTH.HDCPYDISPLAY 55009 + . 55440) (\DSPFONT.HDCPYDISPLAY 55442 . 56847) (\DSPRIGHTMARGIN.HDCPYDISPLAY 56849 . 57426) ( +\DSPXPOSITION.HDCPYDISPLAY 57428 . 57689) (\DSPYPOSITION.HDCPYDISPLAY 57691 . 57952) ( +\STRINGWIDTH.HDCPYDISPLAY 57954 . 58461) (\STRINGWIDTH.HCPYDISPLAYAUX 58463 . 60795) (\HDCPYBLTCHAR +60797 . 63332) (\HDCPYDISPLAY.FIX.XPOS 63334 . 63754) (\HDCPYDISPLAY.FIX.YPOS 63756 . 64176) ( +\HDCPYDISPLAYINIT 64178 . 64955) (\HDCPYDSPPRINTCHAR 64957 . 67117) (\SLOWHDCPYBLTCHAR 67119 . 70622) +(\CHANGECHARSET.HDCPYDISPLAY 70624 . 71776)) (72500 102797 (MAKEHARDCOPYMODESTREAM 72510 . 74419) ( +UNMAKEHARDCOPYMODESTREAM 74421 . 75499) (\BLTSHADE.HCPYMODE 75501 . 75948) (\BITBLT.HCPYMODE 75950 . +76572) (\BRUSHCONVERT.HCPYMODE 76574 . 76811) (\CHANGECHARSET.HCPYMODE 76813 . 78580) ( +\DASHINGCONVERT.HCPYMODE 78582 . 78845) (\CHARWIDTH.HCPYMODE 78847 . 79134) (\DRAWLINE.HCPYMODE 79136 + . 79448) (\DRAWCURVE.HCPYMODE 79450 . 79879) (\DRAWCIRCLE.HCPYMODE 79881 . 80276) ( +\DRAWELLIPSE.HCPYMODE 80278 . 80790) (\DSPFONT.HCPYMODE 80792 . 81948) (\DSPLEFTMARGIN.HCPYMODE 81950 + . 82534) (\DSPLINEFEED.HCPYMODE 82536 . 82946) (\DSPRIGHTMARGIN.HCPYMODE 82948 . 83577) ( +\DSPSPACEFACTOR.HCPYMODE 83579 . 84100) (\DSPXPOSITION.HCPYMODE 84102 . 84683) (\DSPYPOSITION.HCPYMODE + 84685 . 85090) (\MOVETO.HCPYMODE 85092 . 85244) (\FONTCREATE.HCPYMODE.PRESS 85246 . 86258) ( +\CREATECHARSET.HCPYMODE.PRESS 86260 . 87231) (\FONTCREATE.HCPYMODE.INTERPRESS 87233 . 88267) ( +\CREATECHARSET.HCPYMODE.INTERPRESS 88269 . 89257) (\STRINGWIDTH.HCPYMODE 89259 . 89693) ( +\HCPYMODEBLTCHAR 89695 . 92664) (\HCPYMODEDISPLAYINIT 92666 . 95597) (\HCPYMODEDSPPRINTCHAR 95599 . +97780) (\SLOWHCPYMODEBLTCHAR 97782 . 101296) (\SFFixY.HCPYMODE 101298 . 102795))))) STOP