diff --git a/library/lafite/LAFITE-COMMANDS b/library/lafite/LAFITE-COMMANDS index d962475f8..9018b10fb 100644 --- a/library/lafite/LAFITE-COMMANDS +++ b/library/lafite/LAFITE-COMMANDS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-COMMANDS.;2 164484 +(FILECREATED "15-Feb-2025 13:05:52" {WMEDLEY}lafite>LAFITE-COMMANDS.;3 164570 :EDIT-BY rmk - :CHANGES-TO (VARS LAFITE-COMMANDSCOMS) + :CHANGES-TO (FNS LAFITE.SET.LOOKS LAFITE.SUBSTITUTE.VP.EOL) - :PREVIOUS-DATE "23-Feb-2024 21:58:18" {WMEDLEY}lafite>LAFITE-COMMANDS.;1) + :PREVIOUS-DATE "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-COMMANDS.;2) (PRETTYCOMPRINT LAFITE-COMMANDSCOMS) @@ -560,7 +560,7 @@ (LAFITE.SET.LOOKS TEXTSTREAM LAFITEFIXEDWIDTHFONT]) (LAFITE.SET.LOOKS - [LAMBDA (TEXTSTREAM NEWLOOKS PARALOOKS OMITHEADER USERFN) + [LAMBDA (TEXTSTREAM NEWLOOKS PARALOOKS OMITHEADER USERFN) (* ; "Edited 15-Feb-2025 13:02 by rmk") (* ; "Edited 3-Nov-89 14:50 by bvm") (* ;; "Called from Looks (sub)commands of Lafite display window. Change the looks of the current selection (if there is an interesting one) or the whole message to be NEWLOOKS. If NEWLOOKS is T, we use TEdit's menu interface. PARALOOKS is for paragraph formatting. USERFN is arbitrary function called with arg textstream & selection set appropriately. Any of NEWLOOKS, PARALOOKS, USERFN can be NIL. If OMITHEADER is true, the header is left out of the modification if user has not selected a region of text already.") @@ -571,57 +571,56 @@ (LET ((SEL (TEDIT.GETSEL TEXTSTREAM)) START LEN WIDTH FIXEDLOOKS) [if (AND (NOT PARALOOKS) - (FONTP NEWLOOKS) - (EQ (SETQ WIDTH (CHARWIDTH (CHARCODE "i") - NEWLOOKS)) - (CHARWIDTH (CHARCODE "W") - NEWLOOKS))) - then (* ; "If font is fixed-width, let's make the tab the right width. Might be nice to restore default tab if it's not fixed-width, but TEdit apparently doesn't support that.") - (SETQ FIXEDLOOKS (SETQ PARALOOKS `(TABS (,(TIMES WIDTH 8] - (if (> (SETQ LEN (fetch (SELECTION DCH) of SEL)) - 1) - then (* ; "User has already selected something. Assume any selection greater than a single character is not accidental.") - (if (AND FIXEDLOOKS (NEQ (SETQ FIXEDLOOKS (TEXTPROP TEXTSTREAM - 'LAFITEFIXEDLOOKS)) - T)) - then - - (* ;; "Record the portions we have so marked, so hardcopy can work right--T means everything. If FIXEDLOOKS is false, might want to unset, but that's tedious, unlikely to be worth the hairy code") - - (TEXTPROP TEXTSTREAM 'LAFITEFIXEDLOOKS - (CONS (CONS (fetch (SELECTION CH#) of SEL) - LEN) - FIXEDLOOKS))) + (FONTP NEWLOOKS) + (EQ (SETQ WIDTH (CHARWIDTH (CHARCODE "i") + NEWLOOKS)) + (CHARWIDTH (CHARCODE "W") + NEWLOOKS))) + then (* ; "If font is fixed-width, let's make the tab the right width. Might be nice to restore default tab if it's not fixed-width, but TEdit apparently doesn't support that.") + (SETQ FIXEDLOOKS (SETQ PARALOOKS `(TABS (,(TIMES WIDTH 8] + (if (> (SETQ LEN (TEDIT.SELPROP SEL 'LENGTH)) + 1) + then (* ; "User has already selected something. Assume any selection greater than a single character is not accidental.") + (if (AND FIXEDLOOKS (NEQ (SETQ FIXEDLOOKS (TEXTPROP TEXTSTREAM + 'LAFITEFIXEDLOOKS)) + T)) + then + (* ;; "Record the portions we have so marked, so hardcopy can work right--T means everything. If FIXEDLOOKS is false, might want to unset, but that's tedious, unlikely to be worth the hairy code") + + (TEXTPROP TEXTSTREAM 'LAFITEFIXEDLOOKS + (CONS (CONS (TEDIT.SELPROP SEL 'CH#) + LEN) + FIXEDLOOKS))) else (SETQ START (if OMITHEADER - then (* ; - "Start after the blank line following the header") - (\LAFITE.HEADER.EOF TEXTSTREAM) - else 0)) - (SETQ LEN (- (GETEOFPTR TEXTSTREAM) - (if LAFITEENDOFMESSAGESTR - then (NCHARS LAFITEENDOFMESSAGESTR) - else 0) - START)) - (TEDIT.SETSEL TEXTSTREAM (ADD1 START) - LEN - 'RIGHT) - (if FIXEDLOOKS - then (* ; "The whole thing is fixed now") - (TEXTPROP TEXTSTREAM 'LAFITEFIXEDLOOKS T))) + then (* ; + "Start after the blank line following the header") + (\LAFITE.HEADER.EOF TEXTSTREAM) + else 0)) + (SETQ LEN (- (GETEOFPTR TEXTSTREAM) + (if LAFITEENDOFMESSAGESTR + then (NCHARS LAFITEENDOFMESSAGESTR) + else 0) + START)) + (TEDIT.SETSEL TEXTSTREAM (ADD1 START) + LEN + 'RIGHT) + (if FIXEDLOOKS + then (* ; "The whole thing is fixed now") + (TEXTPROP TEXTSTREAM 'LAFITEFIXEDLOOKS T))) (* ;; "Now do the modification") (if (EQ NEWLOOKS T) - then (* ; "Use menu") - (\TEDIT.LOOKS (TEXTOBJ TEXTSTREAM)) + then (* ; "Use menu") + (\TEDIT.LOOKS (TEXTOBJ TEXTSTREAM)) elseif NEWLOOKS then (TEDIT.LOOKS TEXTSTREAM NEWLOOKS)) (if PARALOOKS - then (* ; "Paragraph looks") - (TEDIT.PARALOOKS TEXTSTREAM PARALOOKS)) + then (* ; "Paragraph looks") + (TEDIT.PARALOOKS TEXTSTREAM PARALOOKS)) (if USERFN - then (* ; "Arbitrary user manipulation.") - (CL:FUNCALL USERFN TEXTSTREAM)) + then (* ; "Arbitrary user manipulation.") + (CL:FUNCALL USERFN TEXTSTREAM)) (* ;; "Finally, set selection back to where it was.") @@ -657,31 +656,31 @@ STR]) (LAFITE.SUBSTITUTE.VP.EOL - [LAMBDA (TEXTSTREAM) (* ; "Edited 4-Aug-89 16:55 by bvm") + [LAMBDA (TEXTSTREAM) (* ; "Edited 15-Feb-2025 13:03 by rmk") + (* ; "Edited 4-Aug-89 16:55 by bvm") - (* ;; - "Called from Looks (sub)commands of Lafite display window. Replace VP eol (29) with ours.") + (* ;; "Called from Looks (sub)commands of Lafite display window. Replace VP eol (29) with ours.") (RESETLST (RESETSAVE NIL (LIST 'TEXTPROP TEXTSTREAM 'READONLY T)) (TEXTPROP TEXTSTREAM 'READONLY NIL) - (LET* ((SEL (TEDIT.GETSEL TEXTSTREAM)) - (LEN (fetch (SELECTION DCH) of SEL)) - POS) - (if (<= LEN 1) - then (* ; - "If user has already selected something (more than a single character), assume is not accidental.") - (SETQ POS (CADAR (LAFITE.PARSE.HEADER TEXTSTREAM NIL NIL NIL NIL T))) - (TEDIT.SETSEL TEXTSTREAM POS (- (GETEOFPTR TEXTSTREAM) - (if LAFITEENDOFMESSAGESTR - then (NCHARS LAFITEENDOFMESSAGESTR) - else 0) - POS))) - (TEDIT.SUBSTITUTE TEXTSTREAM (ALLOCSTRING 1 29) - (ALLOCSTRING 1 (CHARCODE EOL))) - (if POS - then (* ; "Undo the selection") - (TEDIT.SETSEL TEXTSTREAM 1 0))))]) + (LET ((SEL (TEDIT.GETSEL TEXTSTREAM)) + POS) + (if (<= (TEDIT.SELPROP SEL 'LENGTH) + 1) + then (* ; + "If user has already selected something (more than a single character), assume is not accidental.") + (SETQ POS (CADAR (LAFITE.PARSE.HEADER TEXTSTREAM NIL NIL NIL NIL T))) + (TEDIT.SETSEL TEXTSTREAM POS (- (GETEOFPTR TEXTSTREAM) + (if LAFITEENDOFMESSAGESTR + then (NCHARS LAFITEENDOFMESSAGESTR) + else 0) + POS))) + (TEDIT.SUBSTITUTE TEXTSTREAM (ALLOCSTRING 1 29) + (ALLOCSTRING 1 (CHARCODE EOL))) + (if POS + then (* ; "Undo the selection") + (TEDIT.SETSEL TEXTSTREAM 1 0))))]) ) (RPAQ? \LAFITE.DISPLAY.COMMANDS NIL) @@ -2546,37 +2545,37 @@ (ADDTOVAR LAMA LAFITE.HARDCOPY.MESSAGES) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (7743 27547 (\LAFITE.DISPLAY 7753 . 9458) (\LAFITE.DO.DISPLAY 9460 . 13625) ( -SELECTMESSAGETODISPLAY 13627 . 15995) (MESSAGEDISPLAYER 15997 . 23549) (LA.COPY.MESSAGE.TEXT 23551 . -24305) (\LAFITE.CLOSE.DISPLAYWINDOWS 24307 . 25901) (\LAFITE.CLOSE.DISPLAYER 25903 . 27545)) (27548 -36140 (\LAFITE.UNHIDE.HEADERS 27558 . 28648) (\LAFITE.HIDE.HEADERS 28650 . 29303) ( -\LAFITE.REHIDE.HEADERS 29305 . 30341) (LAFITE.EAT.UNDESIRABLE.FIELD 30343 . 31102) (LAFITE.EAT.GVGV -31104 . 32265) (\LAFITE.HARDCOPY.FROM.DISPLAY 32267 . 35786) (LAFITE.HARDCOPY.TAB.WIDTH 35788 . 36138) -) (36141 44444 (\LAFITE.SET.LOOKS.FROM.MENU 36151 . 36328) (\LAFITE.SET.DEFAULT.LOOKS 36330 . 36521) ( -\LAFITE.SET.FIXED.LOOKS 36523 . 36715) (LAFITE.SET.LOOKS 36717 . 41174) (LAFITE.SET.TAB.LOOKS 41176 . -41887) (LAFITE.SET.PARA.SEPARATION 41889 . 42097) (LAFITE.SET.LOWER.CASE 42099 . 42950) ( -LAFITE.SUBSTITUTE.VP.EOL 42952 . 44442)) (46361 54689 (LAFITE.DELETE.MESSAGES 46371 . 47421) ( -\LAFITE.DELETE 47423 . 48610) (DISPLAYAFTERDELETE 48612 . 53338) (\LAFITE.SELECT.NEXT 53340 . 53978) ( -\LAFITE.UNDELETE 53980 . 54687)) (54711 69206 (LAFITE.MOVE.MESSAGES 54721 . 55368) (\COERCE.TO.MSGLST -55370 . 56128) (\LAFITE.MOVETO 56130 . 60074) (\LAFITE.COPYTO 60076 . 60492) (\LAFITE.MOVETO.PROC -60494 . 61764) (\LAFITE.MOVE.MESSAGES.INTERNAL 61766 . 69204)) (69232 77784 (\LAFITE.ENABLE.MOVE.MENU -69242 . 70284) (\LAFITE.ADD.TO.MOVE.MENU 70286 . 71302) (\LAFITE.UPDATE.MOVE.MENU 71304 . 75944) ( -\LAFITE.RESTORE.MOVE.MENU 75946 . 76622) (\LAFITE.HANDLE.AUTO.MOVE 76624 . 77782)) (78640 96124 ( -\LAFITE.UPDATE 78650 . 84283) (\LAFITE.EXPUNGE.PROC 84285 . 85090) (\LAFITE.UPDATE.PROC 85092 . 86175) - (\LAFITE.HARDCOPYONLY.PROC 86177 . 86619) (LAB.CHOOSE.UPDATE.MENU 86621 . 87402) ( -LAB.CREATE.UPDATE.MENU 87404 . 89303) (LAB.UPDATE.NEEDED? 89305 . 90875) (\LAFITE.START.UPDATE 90877 - . 91909) (LAB.START.COMMAND 91911 . 92761) (\LAFITE.FINISH.UPDATE 92763 . 95016) ( -\LAFITE.CLOSE.OTHER.FOLDERS 95018 . 96122)) (96125 130919 (LAB.FLUSHWINDOW 96135 . 97814) ( -LAB.APPENDMESSAGES 97816 . 100978) (\LAFITE.COMPACT.FOLDER 100980 . 105144) (\LAFITE.COMPACT.FOLDER1 -105146 . 121185) (\LAFITE.COMPACT.FOLDER2 121187 . 125901) (\LAFITE.COMPACT.EXTRA 125903 . 128218) ( -\LAFITE.INVALIDATE.TOC 128220 . 128913) (\LAFITE.RENAMEFILE 128915 . 129385) (SMART-RENAMEFILEP 129387 - . 129947) (LA.OPENTEMPFILE 129949 . 130917)) (130920 144262 (\LAFITE.UPDATE.FOLDER 130930 . 132907) ( -\LAFITE.UPDATE.CONTENTS 132909 . 133626) (\LAFITE.UPDATE.CONTENTS1 133628 . 138482) (WRITETOCENTRY -138484 . 141602) (WRITETOCMARKBYTES 141604 . 141846) (WRITEFOLDERMARKBYTES 141848 . 144260)) (144288 -163263 (LAFITE.HARDCOPY.MESSAGES 144298 . 144758) (\LAFITE.HARDCOPY 144760 . 145095) ( -\LAFITE.HARDCOPY.PROC 145097 . 148575) (\LAFITE.HARDCOPY.HEADERS 148577 . 153906) ( -\LAFITE.MARK.HARDCOPIED 153908 . 155618) (\LAFITE.TRANSMIT.HARDCOPY 155620 . 157210) ( -\LAFITE.HARDCOPY.BODIES 157212 . 158454) (\LAFITE.APPEND.MESSAGE.BODY 158456 . 160564) ( -\LAFITE.DO.PENDING.HARDCOPY 160566 . 161641) (\LAFITE.CANCEL.HARDCOPY 161643 . 162359) ( -\LAFITE.CLEAR.HARDCOPY.STATE 162361 . 163261))))) + (FILEMAP (NIL (7764 27568 (\LAFITE.DISPLAY 7774 . 9479) (\LAFITE.DO.DISPLAY 9481 . 13646) ( +SELECTMESSAGETODISPLAY 13648 . 16016) (MESSAGEDISPLAYER 16018 . 23570) (LA.COPY.MESSAGE.TEXT 23572 . +24326) (\LAFITE.CLOSE.DISPLAYWINDOWS 24328 . 25922) (\LAFITE.CLOSE.DISPLAYER 25924 . 27566)) (27569 +36161 (\LAFITE.UNHIDE.HEADERS 27579 . 28669) (\LAFITE.HIDE.HEADERS 28671 . 29324) ( +\LAFITE.REHIDE.HEADERS 29326 . 30362) (LAFITE.EAT.UNDESIRABLE.FIELD 30364 . 31123) (LAFITE.EAT.GVGV +31125 . 32286) (\LAFITE.HARDCOPY.FROM.DISPLAY 32288 . 35807) (LAFITE.HARDCOPY.TAB.WIDTH 35809 . 36159) +) (36162 44530 (\LAFITE.SET.LOOKS.FROM.MENU 36172 . 36349) (\LAFITE.SET.DEFAULT.LOOKS 36351 . 36542) ( +\LAFITE.SET.FIXED.LOOKS 36544 . 36736) (LAFITE.SET.LOOKS 36738 . 41179) (LAFITE.SET.TAB.LOOKS 41181 . +41892) (LAFITE.SET.PARA.SEPARATION 41894 . 42102) (LAFITE.SET.LOWER.CASE 42104 . 42955) ( +LAFITE.SUBSTITUTE.VP.EOL 42957 . 44528)) (46447 54775 (LAFITE.DELETE.MESSAGES 46457 . 47507) ( +\LAFITE.DELETE 47509 . 48696) (DISPLAYAFTERDELETE 48698 . 53424) (\LAFITE.SELECT.NEXT 53426 . 54064) ( +\LAFITE.UNDELETE 54066 . 54773)) (54797 69292 (LAFITE.MOVE.MESSAGES 54807 . 55454) (\COERCE.TO.MSGLST +55456 . 56214) (\LAFITE.MOVETO 56216 . 60160) (\LAFITE.COPYTO 60162 . 60578) (\LAFITE.MOVETO.PROC +60580 . 61850) (\LAFITE.MOVE.MESSAGES.INTERNAL 61852 . 69290)) (69318 77870 (\LAFITE.ENABLE.MOVE.MENU +69328 . 70370) (\LAFITE.ADD.TO.MOVE.MENU 70372 . 71388) (\LAFITE.UPDATE.MOVE.MENU 71390 . 76030) ( +\LAFITE.RESTORE.MOVE.MENU 76032 . 76708) (\LAFITE.HANDLE.AUTO.MOVE 76710 . 77868)) (78726 96210 ( +\LAFITE.UPDATE 78736 . 84369) (\LAFITE.EXPUNGE.PROC 84371 . 85176) (\LAFITE.UPDATE.PROC 85178 . 86261) + (\LAFITE.HARDCOPYONLY.PROC 86263 . 86705) (LAB.CHOOSE.UPDATE.MENU 86707 . 87488) ( +LAB.CREATE.UPDATE.MENU 87490 . 89389) (LAB.UPDATE.NEEDED? 89391 . 90961) (\LAFITE.START.UPDATE 90963 + . 91995) (LAB.START.COMMAND 91997 . 92847) (\LAFITE.FINISH.UPDATE 92849 . 95102) ( +\LAFITE.CLOSE.OTHER.FOLDERS 95104 . 96208)) (96211 131005 (LAB.FLUSHWINDOW 96221 . 97900) ( +LAB.APPENDMESSAGES 97902 . 101064) (\LAFITE.COMPACT.FOLDER 101066 . 105230) (\LAFITE.COMPACT.FOLDER1 +105232 . 121271) (\LAFITE.COMPACT.FOLDER2 121273 . 125987) (\LAFITE.COMPACT.EXTRA 125989 . 128304) ( +\LAFITE.INVALIDATE.TOC 128306 . 128999) (\LAFITE.RENAMEFILE 129001 . 129471) (SMART-RENAMEFILEP 129473 + . 130033) (LA.OPENTEMPFILE 130035 . 131003)) (131006 144348 (\LAFITE.UPDATE.FOLDER 131016 . 132993) ( +\LAFITE.UPDATE.CONTENTS 132995 . 133712) (\LAFITE.UPDATE.CONTENTS1 133714 . 138568) (WRITETOCENTRY +138570 . 141688) (WRITETOCMARKBYTES 141690 . 141932) (WRITEFOLDERMARKBYTES 141934 . 144346)) (144374 +163349 (LAFITE.HARDCOPY.MESSAGES 144384 . 144844) (\LAFITE.HARDCOPY 144846 . 145181) ( +\LAFITE.HARDCOPY.PROC 145183 . 148661) (\LAFITE.HARDCOPY.HEADERS 148663 . 153992) ( +\LAFITE.MARK.HARDCOPIED 153994 . 155704) (\LAFITE.TRANSMIT.HARDCOPY 155706 . 157296) ( +\LAFITE.HARDCOPY.BODIES 157298 . 158540) (\LAFITE.APPEND.MESSAGE.BODY 158542 . 160650) ( +\LAFITE.DO.PENDING.HARDCOPY 160652 . 161727) (\LAFITE.CANCEL.HARDCOPY 161729 . 162445) ( +\LAFITE.CLEAR.HARDCOPY.STATE 162447 . 163347))))) STOP diff --git a/library/lafite/LAFITE-COMMANDS.LCOM b/library/lafite/LAFITE-COMMANDS.LCOM index 004043948..a9abed06e 100644 Binary files a/library/lafite/LAFITE-COMMANDS.LCOM and b/library/lafite/LAFITE-COMMANDS.LCOM differ diff --git a/library/lafite/LAFITE-INDENT b/library/lafite/LAFITE-INDENT index 2ffb95fc2..c6f15824c 100644 --- a/library/lafite/LAFITE-INDENT +++ b/library/lafite/LAFITE-INDENT @@ -1,16 +1,18 @@ -(DEFINE-FILE-INFO §READTABLE "INTERLISP" §PACKAGE "INTERLISP") -(FILECREATED "22-Jan-87 01:34:36" {ERIS}LISPCORE>LAFITE-INDENT.;1 25845 +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) - previous date%: "21-Jan-87 16:06:01" {ERIS}KOTO>LAFITE-INDENT.;5) +(FILECREATED "15-Feb-2025 14:11:54" {WMEDLEY}lafite>LAFITE-INDENT.;4 26926 + :EDIT-BY rmk + + :CHANGES-TO (FNS TEDIT-INDENT-BREAK-LONG-LINES TEDIT-INDENT-SELECTION TEDIT-OPEN-LINE + TEDIT-MAKE-LINES-EXPLICIT TEDIT-INDENT-SET-INDENT) + + :PREVIOUS-DATE "15-Feb-2025 09:21:58" {WMEDLEY}lafite>LAFITE-INDENT.;3) -(* " -Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. -") (PRETTYCOMPRINT LAFITE-INDENTCOMS) -(RPAQQ LAFITE-INDENTCOMS +(RPAQQ LAFITE-INDENTCOMS [(* * LAFITE-INDENT defines a function that will indent the current selection.) (FNS TEDIT-INDENT-ADD-INDENTATION TEDIT-INDENT-BREAK-LINE TEDIT-INDENT-BREAK-LONG-LINES TEDIT-INDENT-FIND-BREAKPOINT TEDIT-INDENT-REPLACE-SELECTION TEDIT-INDENT-SELECTION @@ -31,12 +33,14 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. (SUBITEMS (Indent 'TEDIT-INDENT-SELECTION "Indent the current selection" ) - ("Indent & keep lines" ' - TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS + ("Indent & keep lines" + ' + TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS + "Indent the current selection, keeping existing line breaks" ) - ("Set indent" ' - TEDIT-INDENT-SET-INDENT + ("Set indent" + 'TEDIT-INDENT-SET-INDENT "Set the indent string to a new value" ) (Unindent 'TEDIT-REMOVE-INDENT @@ -45,12 +49,14 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. ("Open line" 'TEDIT-OPEN-LINE "Open a blank line at the current position" ) - ("Insert s" ' - TEDIT-MAKE-LINES-EXPLICIT + ("Insert s" + 'TEDIT-MAKE-LINES-EXPLICIT "Insert real s at the end of each line in the current selection" ) - ("Break long lines" ' - TEDIT-INDENT-BREAK-LONG-LINES + ("Break long lines" + ' + TEDIT-INDENT-BREAK-LONG-LINES + "Break long lines by inserting explicit 's" ]) (* * LAFITE-INDENT defines a function that will indent the current selection.) @@ -127,14 +133,10 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. max-length max-length]) (TEDIT-INDENT-BREAK-LONG-LINES - [LAMBDA (text-stream explicit-paragraph-breaks?) (* smL "21-Jan-87 16:03") - - (* * Break the current selection into explicit lines, each having no more than - *TEDIT-INDENT-LINE-LENGTH* characters. - - If the flag *TEDIT-INDENT-KEEP-LINE-BREAKS* is false, existing line breaks in - the current selection are removed. - - This is intended to be used in Lafite, where one wants to indent a piece of a - forwarded document, but can be used in any TEdit document) + [LAMBDA (text-stream explicit-paragraph-breaks?) (* ; "Edited 15-Feb-2025 14:07 by rmk") + (* smL "21-Jan-87 16:03") + +(* ;;; "Break the current selection into explicit lines, each having no more than *TEDIT-INDENT-LINE-LENGTH* characters. --- If the flag *TEDIT-INDENT-KEEP-LINE-BREAKS* is false, existing line breaks in the current selection are removed. --- This is intended to be used in Lafite, where one wants to indent a piece of a forwarded document, but can be used in any TEdit document") (LET ((selection (TEDIT.GETSEL text-stream))) (TEDIT-INDENT-REPLACE-SELECTION @@ -142,11 +144,13 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. (CONCATLIST (for string on (TEDIT-INDENT-SEPERATE-PARAGRAPHS (TEDIT.SEL.AS.STRING text-stream selection) explicit-paragraph-breaks?) - bind [hanging-indent _ - (AND (NOT (EQP (fetch CHAR1 of (CAR (fetch L1 of selection))) - (fetch CH# of selection))) - (DIFFERENCE (fetch CH# of selection) - (fetch CHAR1 of (CAR (fetch L1 of selection] + bind [hanging-indent _ (AND [NOT (EQP (GETLD (CAR (GETSEL selection L1)) + LCHAR1) + (TEDIT.SELPROP selection 'CH#] + (DIFFERENCE (TEDIT.SELPROP selection + 'CH#) + (GETLD (CAR (GETSEL selection L1)) + LCHAR1] join (PROG1 (LIST (TEDIT-INDENT-ADD-INDENTATION (CAR string) "" *TEDIT-INDENT-LINE-LENGTH* hanging-indent) *eol-string*) @@ -181,15 +185,10 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. 'RIGHT]) (TEDIT-INDENT-SELECTION - [LAMBDA (text-stream explicit-paragraph-breaks?) (* smL "21-Jan-87 16:00") - - (* * Indent the current selection by prefacing each line with the value of - *TEDIT-INDENT-STRING*, and inserting line breaks after each - *TEDIT-INDENT-LINE-LENGTH* characters. - - If the flag *TEDIT-INDENT-KEEP-LINE-BREAKS* is false, existing line breaks in - the current selection are removed. - - This is intended to be used in Lafite, where one wants to indent a piece of a - forwarded document, but can be used in any TEdit document) + [LAMBDA (text-stream explicit-paragraph-breaks?) (* ; "Edited 15-Feb-2025 14:07 by rmk") + (* smL "21-Jan-87 16:00") + +(* ;;; "Indent the current selection by prefacing each line with the value of *TEDIT-INDENT-STRING*, and inserting line breaks after each *TEDIT-INDENT-LINE-LENGTH* characters. --- If the flag *TEDIT-INDENT-KEEP-LINE-BREAKS* is false, existing line breaks in the current selection are removed. --- This is intended to be used in Lafite, where one wants to indent a piece of a forwarded document, but can be used in any TEdit document") (LET ((selection (TEDIT.GETSEL text-stream))) (TEDIT-INDENT-REPLACE-SELECTION @@ -197,11 +196,13 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. (CONCATLIST (for string on (TEDIT-INDENT-SEPERATE-PARAGRAPHS (TEDIT.SEL.AS.STRING text-stream selection) explicit-paragraph-breaks?) - bind [hanging-indent _ - (AND (NOT (EQP (fetch CHAR1 of (CAR (fetch L1 of selection))) - (fetch CH# of selection))) - (DIFFERENCE (fetch CH# of selection) - (fetch CHAR1 of (CAR (fetch L1 of selection] + bind [hanging-indent _ (AND [NOT (EQP (GETLD (CAR (GETSEL selection L1)) + LCHAR1) + (TEDIT.SELPROP selection 'CH#] + (DIFFERENCE (TEDIT.SELPROP selection + 'CH#) + (GETLD (CAR (GETSEL selection L1)) + LCHAR1] join (PROG1 (LIST (TEDIT-INDENT-ADD-INDENTATION (CAR string) *TEDIT-INDENT-STRING* *TEDIT-INDENT-LINE-LENGTH* hanging-indent) @@ -231,18 +232,19 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. else (\TEDIT-INDENT-SEPERATE-PARAGRAPHS string NIL]) (TEDIT-INDENT-SET-INDENT - [LAMBDA (text-stream) (* smL "12-Sep-86 17:09") - - (* * Prompt the user for a new indentation string) + [LAMBDA (text-stream) (* ; "Edited 15-Feb-2025 09:21 by rmk") + (* smL "12-Sep-86 17:09") + +(* ;;; "Prompt the user for a new indentation string") - (LET* ((window (fetch \WINDOW of (TEXTOBJ text-stream))) + (LET* ((window (\TEDIT.PRIMARYPANE text-stream)) (pwindow (if window then (GETPROMPTWINDOW (if (LISTP window) then (CAR window) else window)) else PROMPTWINDOW))) (CLEARW pwindow) - (SETQ *TEDIT-INDENT-STRING* (PROMPTFORWORD "New indent string: " *TEDIT-INDENT-STRING* NIL + (SETQ *TEDIT-INDENT-STRING* (PROMPTFORWORD "New indent string: " *TEDIT-INDENT-STRING* NIL pwindow NIL NIL (LIST (CHARCODE EOL]) (TEDIT-INDENT-STRIP-INDENTATION @@ -267,36 +269,34 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. else string]) (TEDIT-MAKE-LINES-EXPLICIT - [LAMBDA (text-stream) (* smL " 8-Sep-86 18:20") - - (* * Take the current selection and replace all TEdit end-of-lines with - explicit line breaks. - - This is intended to be used in Lafite, where it is sometimes nice to know that - anyone receiving the msg will see the same line breaks that you see. - see, but can be used in any TEdit document) + [LAMBDA (text-stream) (* ; "Edited 15-Feb-2025 09:20 by rmk") + (* smL " 8-Sep-86 18:20") + +(* ;;; "Take the current selection and replace all TEdit end-of-lines with explicit line breaks. --- This is intended to be used in Lafite, where it is sometimes nice to know that anyone receiving the msg will see the same line breaks that you see. see, but can be used in any TEdit document") (LET ((selection (TEDIT.GETSEL text-stream))) - [for i in (bind (this-line _ (CAR (fetch L1 of selection))) - [last-line _ (CAR (LAST (fetch LN of selection] - repeatuntil (PROGN (SETQ this-line (fetch NEXTLINE of this-line)) - (EQ this-line last-line)) collect (fetch CHARLIM - of this-line)) - do (TEDIT.SETSEL text-stream i 1 'LEFT T) - (TEDIT.INSERT text-stream (CONSTANT (CHARACTER (CHARCODE EOL] + [for i in (bind (this-line _ (CAR (GETSEL selection L1))) + [last-line _ (CAR (LAST (GETSEL selection LN] + repeatuntil (PROGN (SETQ this-line (GETLD this-line NEXTLINE)) + (EQ this-line last-line)) collect (GETLD this-line LCHARLIM) + ) do (TEDIT.SETSEL text-stream i 1 'LEFT T) + (TEDIT.INSERT text-stream (CONSTANT (CHARACTER (CHARCODE EOL] (TEDIT.SETSEL text-stream selection NIL 'RIGHT]) (TEDIT-OPEN-LINE - [LAMBDA (text-stream) (* smL "17-Sep-86 11:13") - - (* * Open a new line at the current position.) + [LAMBDA (text-stream) (* ; "Edited 15-Feb-2025 14:09 by rmk") + (* smL "17-Sep-86 11:13") + +(* ;;; "Open a new line at the current position.") (LET ((selection (TEDIT.GETSEL text-stream))) - (TEDIT.INSERT text-stream (CONCAT *eol-string* - (ALLOCSTRING [DIFFERENCE (fetch CH# of selection) - (fetch CHAR1 - of (CAR (fetch L1 of selection] - " "))) - (if (ZEROP (fetch DCH of selection)) + (TEDIT.INSERT text-stream (CONCAT *eol-string* (ALLOCSTRING + (DIFFERENCE (TEDIT.SELPROP selection + 'CH#) + (GETLD (CAR (GETSEL selection L1)) + LCHAR1)) + " "))) + (if (ZEROP (TEDIT.SELPROP selection 'LENGTH)) then (TEDIT.SETSEL text-stream selection]) (TEDIT-REMOVE-INDENT @@ -393,21 +393,27 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. (RPAQ *eol-string* (CHARACTER (CHARCODE EOL))) + [CONSTANTS (*eol-string* (CHARACTER (CHARCODE EOL] ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS *TEDIT-INDENT-STRING* *TEDIT-INDENT-LINE-LENGTH*) ) + (OR (GETD 'TEDIT) (FILESLOAD TEDIT)) + (TEDIT.REMOVE.MENUITEM TEDIT.DEFAULT.MENU 'Indent) + [TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENU '(Indent 'TEDIT-INDENT-SELECTION "Indent the current selection" (SUBITEMS (Indent 'TEDIT-INDENT-SELECTION "Indent the current selection") - ("Indent & keep lines" ' - TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS + ("Indent & keep lines" + ' + TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS + "Indent the current selection, keeping existing line breaks" ) ("Set indent" 'TEDIT-INDENT-SET-INDENT @@ -418,21 +424,21 @@ Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved. ("Open line" 'TEDIT-OPEN-LINE "Open a blank line at the current position" ) - ("Insert s" 'TEDIT-MAKE-LINES-EXPLICIT + ("Insert s" 'TEDIT-MAKE-LINES-EXPLICIT + "Insert real s at the end of each line in the current selection" ) - ("Break long lines" ' - TEDIT-INDENT-BREAK-LONG-LINES + ("Break long lines" + 'TEDIT-INDENT-BREAK-LONG-LINES "Break long lines by inserting explicit 's" ] -(PUTPROPS LAFITE-INDENT COPYRIGHT ("Xerox Corporation" 1986 1987)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3949 23354 (TEDIT-INDENT-ADD-INDENTATION 3959 . 6527) (TEDIT-INDENT-BREAK-LINE 6529 . -8462) (TEDIT-INDENT-BREAK-LONG-LINES 8464 . 10231) (TEDIT-INDENT-FIND-BREAKPOINT 10233 . 11056) ( -TEDIT-INDENT-REPLACE-SELECTION 11058 . 11615) (TEDIT-INDENT-SELECTION 11617 . 13518) ( -TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS 13520 . 13799) (TEDIT-INDENT-SEPERATE-PARAGRAPHS 13801 . -14530) (TEDIT-INDENT-SET-INDENT 14532 . 15306) (TEDIT-INDENT-STRIP-INDENTATION 15308 . 16528) ( -TEDIT-MAKE-LINES-EXPLICIT 16530 . 17735) (TEDIT-OPEN-LINE 17737 . 18493) (TEDIT-REMOVE-INDENT 18495 . -19265) (\TEDIT-INDENT-COUNT-SPACES 19267 . 19868) (\TEDIT-INDENT-FIND-PARAGRAPH-END 19870 . 20841) ( -\TEDIT-INDENT-SEPERATE-LINES 20843 . 21641) (\TEDIT-INDENT-SEPERATE-PARAGRAPHS 21643 . 23352))))) + (FILEMAP (NIL (4363 24314 (TEDIT-INDENT-ADD-INDENTATION 4373 . 6941) (TEDIT-INDENT-BREAK-LINE 6943 . +8876) (TEDIT-INDENT-BREAK-LONG-LINES 8878 . 10828) (TEDIT-INDENT-FIND-BREAKPOINT 10830 . 11653) ( +TEDIT-INDENT-REPLACE-SELECTION 11655 . 12212) (TEDIT-INDENT-SELECTION 12214 . 14283) ( +TEDIT-INDENT-SELECTION-KEEPING-LINEBREAKS 14285 . 14564) (TEDIT-INDENT-SEPERATE-PARAGRAPHS 14566 . +15295) (TEDIT-INDENT-SET-INDENT 15297 . 16143) (TEDIT-INDENT-STRIP-INDENTATION 16145 . 17365) ( +TEDIT-MAKE-LINES-EXPLICIT 17367 . 18517) (TEDIT-OPEN-LINE 18519 . 19453) (TEDIT-REMOVE-INDENT 19455 . +20225) (\TEDIT-INDENT-COUNT-SPACES 20227 . 20828) (\TEDIT-INDENT-FIND-PARAGRAPH-END 20830 . 21801) ( +\TEDIT-INDENT-SEPERATE-LINES 21803 . 22601) (\TEDIT-INDENT-SEPERATE-PARAGRAPHS 22603 . 24312))))) STOP diff --git a/library/lafite/LAFITE-INDENT.LCOM b/library/lafite/LAFITE-INDENT.LCOM index f158f64e2..21cd24f7e 100644 Binary files a/library/lafite/LAFITE-INDENT.LCOM and b/library/lafite/LAFITE-INDENT.LCOM differ diff --git a/library/lafite/LAFITE-SEND b/library/lafite/LAFITE-SEND index 79ddadce5..027091414 100644 --- a/library/lafite/LAFITE-SEND +++ b/library/lafite/LAFITE-SEND @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-SEND.;2 100561 +(FILECREATED "15-Feb-2025 13:05:38" {WMEDLEY}lafite>LAFITE-SEND.;4 100003 :EDIT-BY rmk - :CHANGES-TO (VARS LAFITE-SENDCOMS) + :CHANGES-TO (FNS \SENDMSG.CHANGE.MODE) - :PREVIOUS-DATE "23-Feb-2024 22:03:43" {WMEDLEY}lafite>LAFITE-SEND.;1) + :PREVIOUS-DATE "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-SEND.;2) (PRETTYCOMPRINT LAFITE-SENDCOMS) @@ -222,14 +222,14 @@ (ERROR!]) (\SENDMSG.CHANGE.MODE - [LAMBDA (WINDOW TEXTSTREAM MENU ITEM) (* ; "Edited 5-Jan-90 18:06 by bvm") + [LAMBDA (WINDOW TEXTSTREAM MENU ITEM) (* ; "Edited 15-Feb-2025 13:05 by rmk") + (* ; "Edited 5-Jan-90 18:06 by bvm") (LET* [(OLDMODE (TEXTPROP TEXTSTREAM 'LAFITEMODE)) - (OTHERMODES (for MODE in LAFITEMODELST unless (OR (EQ (fetch (LAFITEOPS - LAFITEMODE) - of MODE) - OLDMODE) - (NLISTP (CDR MODE))) + (OTHERMODES (for MODE in LAFITEMODELST unless (OR (EQ (fetch (LAFITEOPS LAFITEMODE) + of MODE) + OLDMODE) + (NLISTP (CDR MODE))) collect (fetch (LAFITEOPS LAFITEMODE) of MODE))) (NEWMODE (if (NULL OTHERMODES) then (\SENDMESSAGE.PROMPT WINDOW "There are no other modes") @@ -244,58 +244,51 @@ N N2) (if (NULL NEWMODEDATA) then (\SENDMESSAGE.PROMPT WINDOW (CL:FORMAT NIL - "Can't authenticate user in ~A mode" - NEWMODE)) - else (LET ((OLDNAME (fetch (LAFITEMODEDATA FULLUSERNAME) of OLDMODEDATA) - ) - (END (TEDIT.FIND TEXTSTREAM " + "Can't authenticate user in ~A mode" + NEWMODE)) + else (LET ((OLDNAME (fetch (LAFITEMODEDATA FULLUSERNAME) of OLDMODEDATA)) + (END (TEDIT.FIND TEXTSTREAM " " 1)) - START N LEN NEW OLDSEL) - (if END - then (add END 1)) (* ; - "Don't search past end of header. END now points at second cr.") - [for FIELD in '("cc" "Reply-to") - when [AND (SETQ N (\SENDMSG.FIND.FIELD TEXTSTREAM FIELD END - )) - (PROGN (SETQ LEN (CADR N)) - (SETQ N (CAR N)) - (SETQ START - (STRPOS OLDNAME - (SETQ OLDSEL - (TEDIT.SEL.AS.STRING TEXTSTREAM - (create SELECTION - CH# _ N - DCH _ LEN))) - NIL NIL NIL NIL UPPERCASEARRAY] - do (* ; "Change field containing old user name to new. This is much more complicated than it needs to be because TEDIT.FIND is case sensitive.") - (TEDIT.DELETE TEXTSTREAM N LEN) - (TEDIT.INSERT TEXTSTREAM - (SETQ NEW (CONCAT (OR (SUBSTRING OLDSEL 1 (SUB1 START) - ) - "") - (fetch (LAFITEMODEDATA - FULLUSERNAME) - of NEWMODEDATA) - (OR (SUBSTRING OLDSEL - (+ START (NCHARS OLDNAME)) - ) - ""))) - N) - (AND END (add END (- (NCHARS NEW) - LEN] - (if (SETQ N (\SENDMSG.FIND.FIELD TEXTSTREAM "To" END)) - then (* ; - "Leave the To field selected for address modification") - (TEDIT.SETSEL TEXTSTREAM (CAR N) - (CADR N) - 'RIGHT T)) - (TEXTPROP TEXTSTREAM 'LAFITEMODE NEWMODE) - (if (SETQ N (STRPOS (CONCAT "(" OLDMODE ")") - TITLE)) - then (WINDOWPROP WINDOW 'TITLE (CONCAT (SUBSTRING TITLE 1 N) - NEWMODE ")"))) - (\SENDMESSAGE.PROMPT WINDOW "Message mode is now " NEWMODE] + START N LEN NEW OLDSEL) + (if END + then (add END 1)) (* ; + "Don't search past end of header. END now points at second cr.") + [for FIELD in '("cc" "Reply-to") + when [AND (SETQ N (\SENDMSG.FIND.FIELD TEXTSTREAM FIELD END)) + (PROGN (SETQ LEN (CADR N)) + (SETQ N (CAR N)) + (SETQ START (STRPOS OLDNAME (SETQ OLDSEL + (TEDIT.SEL.AS.STRING + TEXTSTREAM N LEN)) + NIL NIL NIL NIL UPPERCASEARRAY] + do (* ; "Change field containing old user name to new. This is much more complicated than it needs to be because TEDIT.FIND is case sensitive.") + (TEDIT.DELETE TEXTSTREAM N LEN) + (TEDIT.INSERT TEXTSTREAM (SETQ NEW + (CONCAT (OR (SUBSTRING OLDSEL 1 + (SUB1 START)) + "") + (fetch (LAFITEMODEDATA FULLUSERNAME + ) of NEWMODEDATA) + (OR (SUBSTRING OLDSEL + (+ START (NCHARS OLDNAME + ))) + ""))) + N) + (AND END (add END (- (NCHARS NEW) + LEN] + (if (SETQ N (\SENDMSG.FIND.FIELD TEXTSTREAM "To" END)) + then (* ; + "Leave the To field selected for address modification") + (TEDIT.SETSEL TEXTSTREAM (CAR N) + (CADR N) + 'RIGHT T)) + (TEXTPROP TEXTSTREAM 'LAFITEMODE NEWMODE) + (if (SETQ N (STRPOS (CONCAT "(" OLDMODE ")") + TITLE)) + then (WINDOWPROP WINDOW 'TITLE (CONCAT (SUBSTRING TITLE 1 N) + NEWMODE ")"))) + (\SENDMESSAGE.PROMPT WINDOW "Message mode is now " NEWMODE] (* ;; "Exit with error so that the window is restored to previous state") @@ -1761,29 +1754,29 @@ cc: ~A ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (5214 28191 (DOLAFITESENDINGCOMMAND 5224 . 5714) (\SENDMESSAGE.INITIATE 5716 . 7655) ( -\SENDMSG.DELIVER 7657 . 8265) (\SENDMSG.EXIT.TEDIT 8267 . 8638) (\SENDMSG.SAVE.FORM 8640 . 10627) ( -\LAFITE.HEADER.EOF 10629 . 10922) (\LAFITE.INSERT.REPLYTO 10924 . 11532) (\SENDMSG.REPLYTO 11534 . -12093) (\SENDMSG.CHANGE.MODE 12095 . 17671) (\SENDMSG.FIND.FIELD 17673 . 18183) (\SENDMESSAGE.PARSE -18185 . 18981) (\LAFITE.PREPARE.SEND 18983 . 21816) (\LAFITE.PREPARE.ERROR 21818 . 23000) ( -\LAFITE.CHOOSE.MSG.FORMAT 23002 . 25643) (LAFITE.MAKE.PLAIN.TEXTSTREAM 25645 . 26570) ( -\SENDMESSAGE.MENUPROMPT 26572 . 27435) (\SENDMESSAGE.PROMPT 27437 . 27973) (\SENDMESSAGEFAIL 27975 . -28189)) (28192 52854 (\SENDMESSAGE 28202 . 29554) (\SENDMESSAGE.RESTARTABLE 29556 . 34757) ( -\SENDMESSAGE.CLEANUP 34759 . 34975) (\SENDMESSAGE.MAKEWINDOW 34977 . 41150) (MAKELAFITEDELIVERMENU -41152 . 41459) (\LAFITE.CLOSEMSG? 41461 . 42411) (\LAFITE.AFTER.DELIVER 42413 . 45732) ( -\LAFITE.UNSENT.ICON 45734 . 46044) (\LAFITE.FETCH.SUBJECT 46046 . 46846) (LAFITE.SENDMESSAGE 46848 . -47741) (\SENDMESSAGE0 47743 . 50607) (LA.ASSURE.PROMPT.WINDOW 50609 . 51506) (\LAFITE.SEND.FAIL 51508 - . 51979) (\LAFITE.INVALID.RECIPIENTS 51981 . 52439) (\SENDMESSAGE.ABORT 52441 . 52852)) (52886 62799 -(\OUTBOX.CREATE 52896 . 54359) (\OUTBOX.RESET 54361 . 54854) (\OUTBOX.CLOSEFN 54856 . 54996) ( -\OUTBOX.REPAINTFN 54998 . 55661) (\OUTBOX.RESHAPEFN 55663 . 56946) (\OUTBOX.SHADEITEM 56948 . 57621) ( -\OUTBOX.BUTTONFN 57623 . 60471) (\OUTBOX.DISPLAYLINE 60473 . 60967) (\OUTBOX.ADD.ITEM 60969 . 62797)) -(63095 79503 (\LAFITE.MESSAGEFORM 63105 . 67448) (MAKELAFITESUPPORTFORM 67450 . 67639) ( -MAKELISPSUPPORTFORM 67641 . 67807) (MAKEXXXSUPPORTFORM 67809 . 71858) (MAKENEWMESSAGEFORM 71860 . -72816) (MAKELAFITEPRIVATEFORMSITEMS 72818 . 73246) (\LAFITE.UNCACHE.MESSAGEFORM 73248 . 73701) ( -\LAFITE.DELETE.MESSAGEFORM 73703 . 74304) (\LAFITE.SELECT.FORM 74306 . 74661) ( -\LAFITE.DELETE.FORM.INTERNAL 74663 . 75807) (\LAFITE.READ.FORM 75809 . 78546) (\LAFITE.FIND.TEMPLATE -78548 . 79501)) (79527 87258 (\LAFITE.ANSWER 79537 . 79942) (\LAFITE.ANSWER.PROC 79944 . 81838) ( -MAKEANSWERFORM 81840 . 84370) (LA.PRINT.COMMA.LIST 84372 . 84858) (LAFITE.FILL.IN.ANSWER.FORM 84860 . -87256)) (87283 93479 (\LAFITE.FORWARD 87293 . 87701) (\LAFITE.FORWARD.PROC 87703 . 89692) ( -MAKEFORWARDFORM 89694 . 93477))))) + (FILEMAP (NIL (5218 27633 (DOLAFITESENDINGCOMMAND 5228 . 5718) (\SENDMESSAGE.INITIATE 5720 . 7659) ( +\SENDMSG.DELIVER 7661 . 8269) (\SENDMSG.EXIT.TEDIT 8271 . 8642) (\SENDMSG.SAVE.FORM 8644 . 10631) ( +\LAFITE.HEADER.EOF 10633 . 10926) (\LAFITE.INSERT.REPLYTO 10928 . 11536) (\SENDMSG.REPLYTO 11538 . +12097) (\SENDMSG.CHANGE.MODE 12099 . 17113) (\SENDMSG.FIND.FIELD 17115 . 17625) (\SENDMESSAGE.PARSE +17627 . 18423) (\LAFITE.PREPARE.SEND 18425 . 21258) (\LAFITE.PREPARE.ERROR 21260 . 22442) ( +\LAFITE.CHOOSE.MSG.FORMAT 22444 . 25085) (LAFITE.MAKE.PLAIN.TEXTSTREAM 25087 . 26012) ( +\SENDMESSAGE.MENUPROMPT 26014 . 26877) (\SENDMESSAGE.PROMPT 26879 . 27415) (\SENDMESSAGEFAIL 27417 . +27631)) (27634 52296 (\SENDMESSAGE 27644 . 28996) (\SENDMESSAGE.RESTARTABLE 28998 . 34199) ( +\SENDMESSAGE.CLEANUP 34201 . 34417) (\SENDMESSAGE.MAKEWINDOW 34419 . 40592) (MAKELAFITEDELIVERMENU +40594 . 40901) (\LAFITE.CLOSEMSG? 40903 . 41853) (\LAFITE.AFTER.DELIVER 41855 . 45174) ( +\LAFITE.UNSENT.ICON 45176 . 45486) (\LAFITE.FETCH.SUBJECT 45488 . 46288) (LAFITE.SENDMESSAGE 46290 . +47183) (\SENDMESSAGE0 47185 . 50049) (LA.ASSURE.PROMPT.WINDOW 50051 . 50948) (\LAFITE.SEND.FAIL 50950 + . 51421) (\LAFITE.INVALID.RECIPIENTS 51423 . 51881) (\SENDMESSAGE.ABORT 51883 . 52294)) (52328 62241 +(\OUTBOX.CREATE 52338 . 53801) (\OUTBOX.RESET 53803 . 54296) (\OUTBOX.CLOSEFN 54298 . 54438) ( +\OUTBOX.REPAINTFN 54440 . 55103) (\OUTBOX.RESHAPEFN 55105 . 56388) (\OUTBOX.SHADEITEM 56390 . 57063) ( +\OUTBOX.BUTTONFN 57065 . 59913) (\OUTBOX.DISPLAYLINE 59915 . 60409) (\OUTBOX.ADD.ITEM 60411 . 62239)) +(62537 78945 (\LAFITE.MESSAGEFORM 62547 . 66890) (MAKELAFITESUPPORTFORM 66892 . 67081) ( +MAKELISPSUPPORTFORM 67083 . 67249) (MAKEXXXSUPPORTFORM 67251 . 71300) (MAKENEWMESSAGEFORM 71302 . +72258) (MAKELAFITEPRIVATEFORMSITEMS 72260 . 72688) (\LAFITE.UNCACHE.MESSAGEFORM 72690 . 73143) ( +\LAFITE.DELETE.MESSAGEFORM 73145 . 73746) (\LAFITE.SELECT.FORM 73748 . 74103) ( +\LAFITE.DELETE.FORM.INTERNAL 74105 . 75249) (\LAFITE.READ.FORM 75251 . 77988) (\LAFITE.FIND.TEMPLATE +77990 . 78943)) (78969 86700 (\LAFITE.ANSWER 78979 . 79384) (\LAFITE.ANSWER.PROC 79386 . 81280) ( +MAKEANSWERFORM 81282 . 83812) (LA.PRINT.COMMA.LIST 83814 . 84300) (LAFITE.FILL.IN.ANSWER.FORM 84302 . +86698)) (86725 92921 (\LAFITE.FORWARD 86735 . 87143) (\LAFITE.FORWARD.PROC 87145 . 89134) ( +MAKEFORWARDFORM 89136 . 92919))))) STOP diff --git a/library/lafite/LAFITE-SEND.LCOM b/library/lafite/LAFITE-SEND.LCOM index 6ca563882..9e04c2071 100644 Binary files a/library/lafite/LAFITE-SEND.LCOM and b/library/lafite/LAFITE-SEND.LCOM differ diff --git a/library/lafite/LAFITE-TEDIT b/library/lafite/LAFITE-TEDIT index e1f4192f3..d706ad3f0 100644 --- a/library/lafite/LAFITE-TEDIT +++ b/library/lafite/LAFITE-TEDIT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-TEDIT.;2 6592 +(FILECREATED "15-Feb-2025 14:03:21" {WMEDLEY}lafite>LAFITE-TEDIT.;4 6618 :EDIT-BY rmk - :CHANGES-TO (VARS LAFITE-TEDITCOMS) + :CHANGES-TO (FNS TEDIT.ASSURE.NO.BACKING.FILE) - :PREVIOUS-DATE "23-Feb-2024 22:09:24" {WMEDLEY}lafite>LAFITE-TEDIT.;1) + :PREVIOUS-DATE "23-Feb-2024 22:24:01" {WMEDLEY}lafite>LAFITE-TEDIT.;2) (PRETTYCOMPRINT LAFITE-TEDITCOMS) @@ -74,7 +74,8 @@ (TEXTPROP TEXTSTREAM '\WINDOW NIL]) (TEDIT.ASSURE.NO.BACKING.FILE - [LAMBDA (TEXTSTREAM) (* ; "Edited 13-Jan-2024 18:08 by rmk") + [LAMBDA (TEXTSTREAM) (* ; "Edited 15-Feb-2025 14:03 by rmk") + (* ; "Edited 13-Jan-2024 18:08 by rmk") (* ; "Edited 18-Jun-2023 09:31 by rmk") (* ; "Edited 29-Oct-2022 22:34 by rmk") (* ; "Edited 20-May-92 11:25 by rmk:") @@ -82,18 +83,17 @@ (* ;; "This puts the contents of TEXTSTREAM to a nodircore file (if it isn't already on nodircore), and then sets it up for continuing in the current editing session. Essentially eliminates the file-system backing store.") (LET* ((TEXTOBJ (TEXTOBJ TEXTSTREAM)) - (OFILE (GETTOBJ TEXTOBJ TXTFILE)) + (OFILE (GETTEXTPROP TEXTSTREAM 'FILESTREAM)) NEWFILE) - (CL:WHEN [AND (TYPE? STREAM OFILE) - (NEQ 'NODIRCORE (FETCH (FDEV DEVICENAME) OF (FETCH (STREAM DEVICE) - OF (TRUEFILENAME OFILE] + (CL:WHEN [AND OFILE (NEQ 'NODIRCORE (FILENAMEFIELD (TRUEFILENAME OFILE) + 'HOST] (SETQ NEWFILE (OPENSTREAM '{NODIRCORE} 'BOTH)) (* ;; "\TEDIT.PUT.PCTB will save the current text and looks in NEWFILE, leaving it open. It returns the sequence of new looks for continued editing, where all the file pieces point to their position in NEWFILE. But the file PCONTENTS do not yet point to the new stream. ") (CLOSEF? OFILE) (\TEDIT.INSERT.NEWPIECES NEWFILE TEXTOBJ (\TEDIT.PUT.PCTB TEXTOBJ NEWFILE NIL T)) - (FSETTOBJ TEXTOBJ TXTFILE NIL) + (PUTTEXTPROP TEXTOBJ 'TXTFILE NIL) (PUTTEXTPROP TEXTOBJ 'CACHE NEWFILE) TEXTSTREAM)]) @@ -118,6 +118,6 @@ ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (987 6361 (LA.ADJUST.FORMATTING 997 . 4043) (LA.DETACH.TEDIT 4045 . 4411) ( -TEDIT.ASSURE.NO.BACKING.FILE 4413 . 6079) (LA.WINDOW.FROM.TEXTSTREAM 6081 . 6359))))) + (FILEMAP (NIL (998 6387 (LA.ADJUST.FORMATTING 1008 . 4054) (LA.DETACH.TEDIT 4056 . 4422) ( +TEDIT.ASSURE.NO.BACKING.FILE 4424 . 6105) (LA.WINDOW.FROM.TEXTSTREAM 6107 . 6385))))) STOP diff --git a/library/lafite/LAFITE-TEDIT.LCOM b/library/lafite/LAFITE-TEDIT.LCOM index 2d7599ecd..e05301147 100644 Binary files a/library/lafite/LAFITE-TEDIT.LCOM and b/library/lafite/LAFITE-TEDIT.LCOM differ