1
0
mirror of synced 2026-05-05 15:44:25 +00:00

TEDIT: New architecture for key bindings, plus better suggestions for initial window regions (#2070)

* Implement new key binding architecture for Tedit actions, to make mappings more user-accessible. Includes new Buttons item on Tedit menu.  See TEDIT-RELEASENOTES
*  Prompts for Tedit initial-window region based on document properties
*  More flexible Tedit abbreviations
*  Size + or -  in Tedit character looks go to next available
*  Other bug fixes and code adjustments.
This commit is contained in:
rmkaplan
2025-03-31 11:43:13 -07:00
committed by GitHub
parent 36a7274390
commit 75666aa979
33 changed files with 3426 additions and 2708 deletions

View File

@@ -1,12 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "22-Feb-2025 16:00:43" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;604 161000
(FILECREATED "26-Mar-2025 10:02:49" {WMEDLEY}<library>tedit>TEDIT-FILE.;607 161915
:EDIT-BY rmk
:CHANGES-TO (FNS TEDIT.PUT)
:CHANGES-TO (VARS TEDIT-FILECOMS)
(FNS TEDITFROMLISPSOURCE \TEDIT.PUT.PCTB.NEXTNEW)
:PREVIOUS-DATE "19-Feb-2025 12:11:42" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;603)
:PREVIOUS-DATE "14-Mar-2025 15:29:22" {WMEDLEY}<library>tedit>TEDIT-FILE.;605)
(PRETTYCOMPRINT TEDIT-FILECOMS)
@@ -55,6 +56,7 @@
(FNS \TEDIT.PUT.PARALOOKS.LIST \TEDIT.PUT.SINGLE.PARALOOKS \TEDIT.PUT.PARALOOKS))
(GLOBALVARS TEDIT.INPUT.FORMATS *TEDIT-FILE-READTABLE*)
(FNS TEDITFROMLISPSOURCE SHELLSCRIPTP TEDITFROMSHELLSCRIPT)
(INITVARS (TEDIT.SOURCE.LINELENGTH 110))
(ADDVARS (TEDIT.INPUT.FORMATS (LISPSOURCEFILEP TEDITFROMLISPSOURCE)
(SHELLSCRIPTP TEDITFROMSHELLSCRIPT)))
(INITVARS (* ;
@@ -117,7 +119,8 @@
(DEFINEQ
(TEDIT.GET
[LAMBDA (TSTREAM FILE UNFORMATTED? PROPS) (* ; "Edited 26-Aug-2024 16:15 by rmk")
[LAMBDA (TSTREAM FILE UNFORMATTED? PROPS) (* ; "Edited 14-Mar-2025 11:52 by rmk")
(* ; "Edited 26-Aug-2024 16:15 by rmk")
(* ; "Edited 11-Aug-2024 12:13 by rmk")
(* ; "Edited 29-Jun-2024 16:30 by rmk")
(* ; "Edited 18-May-2024 16:31 by rmk")
@@ -151,7 +154,7 @@
[SETQ FILE (\TEDIT.MAKEFILENAME (OR FILE (TEDIT.GETINPUT TEXTOBJ "GET from: "
(OR (GETTEXTPROP TEXTOBJ
'LASTGETFILENAME)
(\TEXTSTREAM.FILENAME TEXTOBJ]
(\TEDIT.LIKELY.FILENAME TEXTOBJ]
(CL:UNLESS FILE
(TEDIT.PROMPTPRINT TEXTOBJ "No input file--aborted" T T)
(RETURN))
@@ -390,7 +393,8 @@
(TEDIT.INCLUDE TSTREAM INFILE START END SAFE T])
(TEDIT.PUT
[LAMBDA (TSTREAM FILE FORCENEW UNFORMATTED? FORMAT QUIET) (* ; "Edited 22-Feb-2025 15:56 by rmk")
[LAMBDA (TSTREAM FILE FORCENEW UNFORMATTED? FORMAT QUIET) (* ; "Edited 14-Mar-2025 11:52 by rmk")
(* ; "Edited 22-Feb-2025 15:56 by rmk")
(* ; "Edited 23-Dec-2024 23:02 by rmk")
(* ; "Edited 11-Aug-2024 12:30 by rmk")
(* ; "Edited 29-Jun-2024 10:31 by rmk")
@@ -452,10 +456,11 @@
(SETQ FORCENEW 'DETEMPLATE)))
[SETQ FILE (\TEDIT.MAKEFILENAME (TEDIT.GETINPUT TEXTOBJ "Put to: "
(CL:UNLESS FORCENEW
(\TEXTSTREAM.FILENAME
(
\TEDIT.LIKELY.FILENAME
TEXTOBJ UNFORMATTED?
])
(T (SETQ FILE (\TEXTSTREAM.FILENAME TEXTOBJ UNFORMATTED?)))
(T (SETQ FILE (\TEDIT.LIKELY.FILENAME TEXTOBJ UNFORMATTED?)))
NIL)
(CL:UNLESS FILE (* ; "No file to put to.")
(TEDIT.PROMPTPRINT TEXTOBJ "No output file--aborted" T T)
@@ -2004,6 +2009,7 @@
(\TEDIT.PUT.PCTB.NEXTNEW
[LAMBDA (NEXTNEW PC OLDBYTE# RUNLEN EXTFORMAT TEXTOBJ EOLC NSHIFTBYTES)
(* ; "Edited 26-Mar-2025 09:27 by rmk")
(* ; "Edited 21-Oct-2024 00:26 by rmk")
(* ; "Edited 14-May-2024 18:54 by rmk")
(* ; "Edited 13-May-2024 08:27 by rmk")
@@ -2036,8 +2042,9 @@
(THINSTRING.PTYPE
THINFILE.PTYPE)
((LIST FATSTRING.PTYPE FATFILE1.PTYPE)
(* ;
 "PCHARSET is not relevant for FILEFILE2")
(FSETPC NEXTNEW PBYTESPERCHAR 2)
(FSETPC NEXTNEW PCHARSET \NORUNCODE)
FATFILE2.PTYPE)
(PTYPE PC))))
(\TEDIT.THELP "EXTERNAL FORMAT NOT RECOGNIZED" EXTFORMAT))
@@ -2463,7 +2470,8 @@
(DEFINEQ
(TEDITFROMLISPSOURCE
[LAMBDA (SOURCEFILE TSTREAM PROPS USERTEMP START END) (* ; "Edited 18-Feb-2025 23:34 by rmk")
[LAMBDA (SOURCEFILE TSTREAM PROPS USERTEMP START END) (* ; "Edited 26-Mar-2025 10:02 by rmk")
(* ; "Edited 18-Feb-2025 23:34 by rmk")
(* ; "Edited 17-Nov-2024 10:03 by rmk")
(* ; "Edited 25-Dec-2023 12:28 by rmk")
(* ; "Edited 5-Dec-2023 23:46 by rmk")
@@ -2478,13 +2486,15 @@
(* ;; "USERTEMP is the reader environment returned by LISPSOURCEFILEP")
(DECLARE (USEDFREE TEDIT.SOURCE.LINELENGTH))
(CL:UNLESS TSTREAM
(SETQ TSTREAM (OPENTEXTSTREAM)))
(* ;; "Estimate 110 characters per line in the default font?")
[PUTTEXTPROPS TSTREAM `(PARABREAKCHARS NIL OPENWIDTH ,(TIMES 110 (CHARWIDTH (CHARCODE SPACE)
DEFAULTFONT))
[PUTTEXTPROPS TSTREAM `(PARABREAKCHARS NIL OPENWIDTH ,(TIMES TEDIT.SOURCE.LINELENGTH
(CHARWIDTH (CHARCODE SPACE)
DEFAULTFONT))
BOUNDTABLE
,(TEDIT.ATOMBOUND.READTABLE (fetch (READER-ENVIRONMENT REREADTABLE)
of USERTEMP]
@@ -2514,33 +2524,35 @@
TSTREAM])
)
(RPAQ? TEDIT.SOURCE.LINELENGTH 110)
(ADDTOVAR TEDIT.INPUT.FORMATS (LISPSOURCEFILEP TEDITFROMLISPSOURCE)
(SHELLSCRIPTP TEDITFROMSHELLSCRIPT))
(RPAQ? *TEDIT-FILE-READTABLE* (COPYREADTABLE \ORIGREADTABLE))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4999 34243 (TEDIT.GET 5009 . 11018) (TEDIT.FORMATTEDFILEP 11020 . 12336) (
TEDIT.FILEDATE 12338 . 13509) (TEDIT.INCLUDE 13511 . 21540) (TEDIT.RAW.INCLUDE 21542 . 22350) (
TEDIT.PUT 22352 . 30408) (TEDIT.PUT.STREAM 30410 . 34241)) (34244 54014 (\TEDIT.GET.FOREIGN.FILE 34254
. 37679) (\TEDIT.GET.UNFORMATTED.FILE 37681 . 41673) (\TEDIT.GET.FORMATTED.FILE 41675 . 44593) (
\TEDIT.FORMATTEDSTREAMP 44595 . 47613) (\ARBIN 47615 . 48335) (\ATMIN 48337 . 48874) (\DWIN 48876 .
49255) (\STRINGIN 49257 . 49965) (\TEDIT.GET.TRAILER 49967 . 52483) (\TEDIT.CACHEFILE 52485 . 54012))
(54180 67934 (\TEDIT.GET.PIECES3 54190 . 64696) (\TEDIT.GET.IDATE3 64698 . 66093) (
\TEDIT.MAKE.STRINGPIECE 66095 . 67932)) (67935 80310 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 67945 . 74061)
(\TEDIT.INTERPRET.XCCS.SHIFTS 74063 . 80308)) (80332 86354 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 80342 .
86352)) (86377 95002 (\TEDIT.GET.CHARLOOKS.LIST 86387 . 87118) (\TEDIT.GET.SINGLE.CHARLOOKS 87120 .
91814) (\TEDIT.GET.CHARLOOKS 91816 . 93146) (\TEDIT.GET.PARALOOKS.INDEX 93148 . 93692) (
\TEDIT.GET.CHARLOOKS.INDEX 93694 . 95000)) (95003 102660 (\TEDIT.GET.PARALOOKS.LIST 95013 . 95635) (
\TEDIT.GET.SINGLE.PARALOOKS 95637 . 102658)) (102661 106251 (\TEDIT.GET.OBJECT 102671 . 106249)) (
106313 138190 (\TEDIT.PUT.PCTB 106323 . 115973) (\TEDIT.PUT.PCTB.PIECEDATA 115975 . 119173) (
\TEDIT.PUT.TRAILER 119175 . 119942) (\TEDIT.PUT.PCTB.MERGEABLE 119944 . 123378) (
\TEDIT.PUT.UTF8.SPLITPIECES 123380 . 128082) (\TEDIT.PUT.PCTB.NEXTNEW 128084 . 132351) (
\TEDIT.INSERT.NEWPIECES 132353 . 135788) (\TEDIT.PUTRESET 135790 . 136032) (\ARBOUT 136034 . 136758) (
\ATMOUT 136760 . 137365) (\DWOUT 137367 . 137646) (\STRINGOUT 137648 . 138188)) (138191 150266 (
\TEDIT.PUT.CHARLOOKS.LIST 138201 . 139873) (\TEDIT.PUT.SINGLE.CHARLOOKS 139875 . 145610) (
\TEDIT.PUT.CHARLOOKS 145612 . 146837) (\TEDIT.PUT.CHARLOOKS1 146839 . 147890) (\TEDIT.PUT.OBJECT
147892 . 150264)) (150267 157906 (\TEDIT.PUT.PARALOOKS.LIST 150277 . 151179) (
\TEDIT.PUT.SINGLE.PARALOOKS 151181 . 156765) (\TEDIT.PUT.PARALOOKS 156767 . 157904)) (158001 160770 (
TEDITFROMLISPSOURCE 158011 . 160019) (SHELLSCRIPTP 160021 . 160250) (TEDITFROMSHELLSCRIPT 160252 .
160768)))))
(FILEMAP (NIL (5122 34670 (TEDIT.GET 5132 . 11252) (TEDIT.FORMATTEDFILEP 11254 . 12570) (
TEDIT.FILEDATE 12572 . 13743) (TEDIT.INCLUDE 13745 . 21774) (TEDIT.RAW.INCLUDE 21776 . 22584) (
TEDIT.PUT 22586 . 30835) (TEDIT.PUT.STREAM 30837 . 34668)) (34671 54441 (\TEDIT.GET.FOREIGN.FILE 34681
. 38106) (\TEDIT.GET.UNFORMATTED.FILE 38108 . 42100) (\TEDIT.GET.FORMATTED.FILE 42102 . 45020) (
\TEDIT.FORMATTEDSTREAMP 45022 . 48040) (\ARBIN 48042 . 48762) (\ATMIN 48764 . 49301) (\DWIN 49303 .
49682) (\STRINGIN 49684 . 50392) (\TEDIT.GET.TRAILER 50394 . 52910) (\TEDIT.CACHEFILE 52912 . 54439))
(54607 68361 (\TEDIT.GET.PIECES3 54617 . 65123) (\TEDIT.GET.IDATE3 65125 . 66520) (
\TEDIT.MAKE.STRINGPIECE 66522 . 68359)) (68362 80737 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 68372 . 74488)
(\TEDIT.INTERPRET.XCCS.SHIFTS 74490 . 80735)) (80759 86781 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 80769 .
86779)) (86804 95429 (\TEDIT.GET.CHARLOOKS.LIST 86814 . 87545) (\TEDIT.GET.SINGLE.CHARLOOKS 87547 .
92241) (\TEDIT.GET.CHARLOOKS 92243 . 93573) (\TEDIT.GET.PARALOOKS.INDEX 93575 . 94119) (
\TEDIT.GET.CHARLOOKS.INDEX 94121 . 95427)) (95430 103087 (\TEDIT.GET.PARALOOKS.LIST 95440 . 96062) (
\TEDIT.GET.SINGLE.PARALOOKS 96064 . 103085)) (103088 106678 (\TEDIT.GET.OBJECT 103098 . 106676)) (
106740 138821 (\TEDIT.PUT.PCTB 106750 . 116400) (\TEDIT.PUT.PCTB.PIECEDATA 116402 . 119600) (
\TEDIT.PUT.TRAILER 119602 . 120369) (\TEDIT.PUT.PCTB.MERGEABLE 120371 . 123805) (
\TEDIT.PUT.UTF8.SPLITPIECES 123807 . 128509) (\TEDIT.PUT.PCTB.NEXTNEW 128511 . 132982) (
\TEDIT.INSERT.NEWPIECES 132984 . 136419) (\TEDIT.PUTRESET 136421 . 136663) (\ARBOUT 136665 . 137389) (
\ATMOUT 137391 . 137996) (\DWOUT 137998 . 138277) (\STRINGOUT 138279 . 138819)) (138822 150897 (
\TEDIT.PUT.CHARLOOKS.LIST 138832 . 140504) (\TEDIT.PUT.SINGLE.CHARLOOKS 140506 . 146241) (
\TEDIT.PUT.CHARLOOKS 146243 . 147468) (\TEDIT.PUT.CHARLOOKS1 147470 . 148521) (\TEDIT.PUT.OBJECT
148523 . 150895)) (150898 158537 (\TEDIT.PUT.PARALOOKS.LIST 150908 . 151810) (
\TEDIT.PUT.SINGLE.PARALOOKS 151812 . 157396) (\TEDIT.PUT.PARALOOKS 157398 . 158535)) (158632 161644 (
TEDITFROMLISPSOURCE 158642 . 160893) (SHELLSCRIPTP 160895 . 161124) (TEDITFROMSHELLSCRIPT 161126 .
161642)))))
STOP