Skip to content

Commit 44e4294

Browse files
rmkaplannbriggsmasinter
authored
Tedit 4th round (#1352)
* INSPECT: Sort datatype fields alphabetically, fixed a small bug * INSPECT: Sort only DATATYPE records * VIRTUALKEYBOARD: fix loadup * Reorganizing VIRTUALKEYBOARDS as described in #1267 * KEYBOARDEDITOR: fixed one bug, still is out of step * MEDLEYDIR: Pack DSK as the default HOST on the value of (UNIX-GETENV "MEDLEYDIR") * Move KEYBOARDCONFIGS KEYBOARDEDIT to library/virtualkeyboards This collects all files relevant to VIRTUALKEYBOARDS into the same subdirectory * NEARESTCORNER must be onscreen (addresses #1294 Mouse jumps to the nearest onscreen corner of the ghost region * EQUALALL tests equivalence of bitmaps and big bitmaps * Oops, off by one * INSPECT: had wrong test in deciding whether to sort or not * Improve check for closed stream in \UFSCloseFile. Check if the (STREAM ACCESS) bits are NIL, indicating a closed stream, and if so do not attempt to close the file again * COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT, EXAMINEDEFS Relatively minor cleanups, little or no functionality improvements * Remove calls to OPENFILE OPENFILE is a residual Interlisp function that returns a litatom instead of a stream. In almost all cases, this immediate causes an error that litatom files are no longer supported. I have found (FINDCALLERS) all the examples in lispusers/sources/library/ and replaced OPENFILE with OPENSTREAM (except for the calls from \PEEKPUP and \PEEKNS, that I didn't track down). There was a trivai call in COMPILE.FILECHECK in COMPILE, but that function is not called anywhere. So I removed it. * ADIR: remove OPENFILE calls, also another stab at \COPYSYS With respect to \COPYSYS, this replaces the draft PR #1263. This applies TRUEFILENAME at the start, but remembers whether it was in fact a pseudohost and restores that for the return value. So if you start in a pseudo world you end up there. * Next version of TEDIT core files * Update * Update * UPDATE * UPDATE * UPDATE: FORCE-END fix * FILEIO: OPENSTREAM parameters default to STREAMPROP also add LINELENGTH * Expose useful subfunctions * TEDITDORADOKEYS - compatibility with new declarations * Update tedit-exports.all * * removed from title when all changes are undone * Delete old tedit fiels * Add TEDIT.FILEDATE * REGISTER-TYPED-REGION creates a new TYPED-REGIONS entry If a window is closed whose region is of an as-yet-unknown type, a new entry will be added implicitly to TYPED-REGIONS to that that region and future regions of that type can be recycled. * COMPAREDIRECTORIES: Get AUTHOR only if selected This may provide a little speed up. But of more importance, almost all the array crashes I am seeing are underneath (GETFILEINFO xxx 'AUTHOR). The UFS implementation may be smashing array space, or maybe it is just detecting the corruption. For now, I'm eliminating this potential source of bad behavior. * Hilighting and caret flashing in split windows * A little more on window splitting caret/hilights * Rename caret functions * REGIONMANAGER: Compatibility with REGIONMANAGER PR * EXAMINEDEFS: Better interpretation of TYPE NIL = (FNS FUNCTIONS) with better formatting * Refining caret behavior, importing separate changes also in other PRs for compatibility * Mostly dealing with highlighting and caret flashing in split windows * FONTPROFILE: specvars declaration for cleanliness * Prep for UTF8, a little performance tuning * Meta EOL = non-paragraph linebreak * Back-scrolling based on linebreak characters, not paragraph breaks, also eliminate obsolete code * FIddling around with window titles (getting *'s when changed), dealing with titles not computed by Tedit * Recompile DOC-OBJECTS because \DIRTY bit has changed * COMPARETEXT: fixed to avoid EOF error if EOL gets confused * CLIPBOARD (bug fix also a separate PR) * \TEXTBOUT of EOL doesn't create a paragraph, though typing does Otherwise, every line in a plaintext or lisp sourcefile is a separate paragraph, which adds unnecessary overhead. * TEDIT-PCTREE: Move some straggling piece and btree functions to their proper home * Change \TEDIT2 to \TEDIT1 as a way of recognizing a Tedit process * Prepping for more speed up in SEEing of large source files * Miscellaneous stability/maintenance/performance changes Fixes the TEDIT.TITLEMENUFN problem, adds TEDIT.COLLECT.OBJECTS * TEDIT-FILE : fix readers for obsolete Tedit file formats * Cleanout misplaced pane/ files * Fix for most of the lispusers/ hardcopy failures They all had to do with the diacritic overbar in Env-os. * Another diacritic glitch * MODERNIZE: Fixed off by one bug in NEARESTCORNER * Update tedit-exports.all * The "HELP PURGE" problem, plus a little cleanup * hide initial caret in menus * TEDIT-LOOKS, TEDIT-PCTREE: prep for reducing FIXP's * LLSYMBOL's FILEMAP was also incomplete This update hopefully won't reveal any other problems * Introduce NOTSPLITTABLE TEXTPROPERTY If T, window-splitting cannot happen for this text stream. Hopefully removes need for Notecards advice on \TEDIT.SPLITW. * PSEUDHOSTS and .TEDIT: Apply TRUEFILENAME on PREFIX, update documentation Documentation addresses #1303 . Using TRUEFILENAME makes sure it always goes to a ground instance in e.g. (PSEUDOHOST 'MEDLEY '{MEDLEY}). * Don't allow Put of readonly file * Inverted selection (black) hilights in readonly texts More visible than a little underline when there is no blinking cursor * Remove redundant type-tests The I.S.OPRs test the I.V. type for lines and pieces, so that field accesses can safely be fast inside the loops * MULTIPLE-HARDCOPY: at least fix obvious issues with new Tedit Also avoided FILELST as a bound variable. This needs work and maybe a little support from Tedit--it shouldn't be advising and unadvising a Tedit function. * TEDIT-SELECTION: Fix hilighting glitch with READONLY texts (Shift select should have its usual highlighting) * TEDIT menus are not splittable * TEDIT-FILE fixes imageobj bug in old Tedit formats Revealed by running HCFILES * Improve conversion of unformatted to formatted Also cache HINTPC inside \CHTOPC * Fix to pageregion problem in old versions Also adds TEDIT.NCHARS * Code cleanup after testing faster scrolling * EXTERNALFORMAT: \CHECKECOLC macro confusedf ANY vs CR EOL convention * Recompile callers of \CHECKEOLC macro * EXTERNALFORMAT: \CHECKECOLC macro confusedf ANY vs CR EOL convention * Recompile callers of \CHECKEOLC macro * Mostly work on scrolling and HCFILE issues * Trying to fix PSEUDHOSTS conficts * PDFSTREAM Backing up to fix merge problems * update EXTERNALFORMAT to avoid conflicdt * Mostly diacritic display and hardcopy * Change DIRTY field to LDIRTY * Added new user function TEDIT.FINDLOOKS * WINDOWOBJ: READIMAGEOBJ doesn't ask for permission If the image object is on a hyphenated file and it can find a nonhyphenated sister, it loads that. If that doesn't provide the getfn, it tries the original file. * If ANY and no CR after LF, return EOL instead of CR * Move charset management to externalformat (addresses #1454) Removed IMCHARSET from IMAGEOPS declaration, added FORMATCHARSETFN to EXTERNALFORMAT, put XCCS charset handling in the XCCS externalformat. * XCCS, fixed a glitch * Fix EXTERNALFORMAT clash * Mostly CHARENCODING * TEDIT-PF-SEE: Use TEDIT.ATOMBOUND.READTABLE Tedit word-selection → atom selection in source files * For merging with new charset arrangement * Mostly work on hardcopy-display Also asks before it saves a plaintext file as a formatted file * Changing to hardcopy display doesn't mark "dirty" * Mostly Put and Get, reorganizing for UTF8, plus odds and ends * Straggler: TMAX-XREF.LCOM * Meta-EOL * Fix and extend page-format updates Original TEDIT.PAGEFORMAT was unsafe and less useful. Also did not update history for undoing. * Use window's screen's height/width to test offscreen * Write and read unbreakable character property * Don't suggest put-name if TEMPLATE * 2 point hilight if readonly * Mostly proper treatment of invisible pieces and forward char-delete * Forward word delete, better paragraph selection, cleanup, lisp source atom selection * fix conflicts for merge * fix incompatible merge * Updates including UTF-8 plaintext files Other continuing cleanups * Continue edit after writing out UTF-8 plaintext * TEDIT-FILE EOL stays EOL after putting to a different EOL convention for continued editing. * Update EXTERNALFORMAT from master * Get rid of needless file change * EOL processing * Fix Lafite glitches Including relaxing constraints on the order of pieces in Tedit files. * Unsplit any existing panes before main window is reused * TEDIT-FILE glitch * Better TEDIT.FORMATTEDFILEP, more TEDIT.CONCAT * Headings with concatenated Tedit files * Adjust page headers and numbers * Reshaping reestablishes the YBOT of PLINES * Tighten up on binable, better error when binning on empty textstream * TEDIT.PUT.STREAM, left click gives point selection * TEDIT.PUT.STREAM * Unhighlighting of menu buttons related to point vs. single-character selection * Better behavior when moving to foreign target also some cleanup of the file-putting code * More improvements to cursor tracking * Single-char shift-selection (lost an edit) * Try it again * Suppress EOF error * BIN instead of GETBASEBYTE, more cleanup of buttonevent and TEDIT.PUT * Mostly work on process and menu configuration * A little more careful in choosing the current selection (as opposed to prior search target) for find and substitutes Use the selection if it is greater than a single character, otherwise the prior target. meta,G is available for clearly just repeating the prior target. * Make the names of the Tedit menu process more distinctive E.g. TEDIT-Charlooks instead of TEDIT#2. TEDIT and TEDIT#n stand out as the document processes. * Logically correct undo of Move between different documents The destination document keeps the delete event in the source, if it is still the most recent source event when the move is undone, the deletion is undone in the source. Otherwise, the deletion is ignored. * Line spacing reflects offsets * TEXTPROP returns length * TEDIT-HISTORY: Redo of a move just does a new-location insert * remove unwanted cpv from PR * Removed the unecessary SPTEXTOBJ field in SELPIECES, move work on move-undo * Fix hardcopy bug * More work on the hardcopy interface * TEDIT-FILE addresses put of empty stream (issue #1577) --------- Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com> Co-authored-by: Larry Masinter <lmm@acm.org>
1 parent 35b7195 commit 44e4294

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+26860
-28870
lines changed

library/CLIPBOARD

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED " 7-Jul-2022 23:53:01" 
4-
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>CLIPBOARD.;7 9243
3+
(FILECREATED "19-Oct-2023 00:20:01" {WMEDLEY}<library>CLIPBOARD.;8 9130
54

6-
:CHANGES-TO (VARS CLIPBOARDCOMS)
7-
(FNS CLIPBOARD-COPY-STREAM CLIPBOARD-PASTE-STREAM)
5+
:EDIT-BY rmk
86

9-
:PREVIOUS-DATE " 3-Jul-2021 13:16:26"
10-
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>CLIPBOARD.;6)
7+
:CHANGES-TO (FNS TEDIT.EXTRACTTOCLIPBOARD)
8+
9+
:PREVIOUS-DATE " 7-Jul-2022 23:53:01" {WMEDLEY}<library>CLIPBOARD.;7)
1110

1211

1312
(PRETTYCOMPRINT CLIPBOARDCOMS)
@@ -146,12 +145,12 @@
146145
THEN (PUTCLIPBOARD (TEDIT.SEL.AS.STRING TEXTSTREAM])
147146

148147
(TEDIT.EXTRACTTOCLIPBOARD
149-
[LAMBDA NIL (* ; "Edited 19-Apr-2020 12:17 by rmk:")
150-
(* ; "Edited 18-Apr-2018 00:02 by rmk:")
151-
(LET [(TEXTSTREAM (TEXTSTREAM (TTY.PROCESS]
152-
(IF TEXTSTREAM
153-
THEN (PUTCLIPBOARD (TEDIT.SEL.AS.STRING TEXTSTREAM))
154-
(TEDIT.DELETE TEXTSTREAM (TEDIT.GETSEL TEXTSTREAM])
148+
[LAMBDA (TSTREAM TEXTOBJ SEL) (* ; "Edited 19-Oct-2023 00:19 by rmk")
149+
(* ; "Edited 19-Apr-2020 12:17 by rmk:")
150+
(* ; "Edited 18-Apr-2018 00:02 by rmk:")
151+
(CL:WHEN TSTREAM
152+
(PUTCLIPBOARD (TEDIT.SEL.AS.STRING TSTREAM))
153+
(TEDIT.DELETE TSTREAM SEL))])
155154
)
156155
(DEFINEQ
157156

@@ -199,8 +198,8 @@
199198
)
200199
(PUTPROPS CLIPBOARD COPYRIGHT (NONE))
201200
(DECLARE%: DONTCOPY
202-
(FILEMAP (NIL (1317 6626 (INSTALL-CLIPBOARD 1327 . 3259) (GETCLIPBOARD 3261 . 3635) (PUTCLIPBOARD 3637
203-
. 4042) (PASTEFROMCLIPBOARD 4044 . 4962) (LISPINTERRUPTS.PASTE 4964 . 5385) (CLIPBOARD-COPY-STREAM
204-
5387 . 5902) (CLIPBOARD-PASTE-STREAM 5904 . 6624)) (6627 7386 (TEDIT.COPYTOCLIPBOARD 6637 . 6918) (
205-
TEDIT.EXTRACTTOCLIPBOARD 6920 . 7384)) (7387 8926 (SEDIT.COPYTOCLIPBOARD 7397 . 8924)))))
201+
(FILEMAP (NIL (1196 6505 (INSTALL-CLIPBOARD 1206 . 3138) (GETCLIPBOARD 3140 . 3514) (PUTCLIPBOARD 3516
202+
. 3921) (PASTEFROMCLIPBOARD 3923 . 4841) (LISPINTERRUPTS.PASTE 4843 . 5264) (CLIPBOARD-COPY-STREAM
203+
5266 . 5781) (CLIPBOARD-PASTE-STREAM 5783 . 6503)) (6506 7273 (TEDIT.COPYTOCLIPBOARD 6516 . 6797) (
204+
TEDIT.EXTRACTTOCLIPBOARD 6799 . 7271)) (7274 8813 (SEDIT.COPYTOCLIPBOARD 7284 . 8811)))))
206205
STOP

library/CLIPBOARD.LCOM

-215 Bytes
Binary file not shown.

library/CLIPBOARD.TXT

Lines changed: 0 additions & 17 deletions
This file was deleted.

library/TEXEC

Lines changed: 35 additions & 184 deletions
Large diffs are not rendered by default.

library/TEXEC.LCOM

-1.34 KB
Binary file not shown.

library/UNICODE

Lines changed: 1070 additions & 789 deletions
Large diffs are not rendered by default.

library/UNICODE.LCOM

4.05 KB
Binary file not shown.

library/UNICODE.TEDIT

3.73 KB
Binary file not shown.

library/lafite/LAFITECOMMANDS

Lines changed: 71 additions & 76 deletions
Large diffs are not rendered by default.

library/lafite/LAFITECOMMANDS.LCOM

-338 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)