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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user