Rmk30 another tedit release #1772
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This includes updates to all core Tedit files, plus minor updates for compatibility to TMAX and a few other separate applications. This supercedes the draft PR #1673.
What this includes:
More work on eliminating Xpointers through TEXTOBJ and SELECTION (still a bit more to do).
Performance improvements in line updating when typing and especially printing (important slow case remains: printing at the end of the stream, e.g. for transcript/dribble applications)
Fixed glitches in transitions between fat XCCS characters on either side of image objects
Scrolling improvements
- Fewer line-update subroutines, for maintainability
- Better caret placement with keyboard input
- Better line and caret placement at bottom of pane and end of document, with or without EOL's
- Fix scrolling TEDIT window when left side off-screen updates incorrectly #1677 (offscreen on left)
- Better behavior when reshaping
New functionality
- meta-d/D brings up DINFO man page, like Sedit, for a selected word (a "word" is an atom according to the reader environment, if seeing a Lisp source file or function) TEDIT: add meta-d for man page, meta-o for ED open #1739
- meta-o/O opens an Sedit, if possible, for a selected word also TEDIT: add meta-d for man page, meta-o for ED open #1739
- READONLY property can have value QUIET instead of just T: Still ignores attempted changes but doesn't put up a warning message TEDIT feature: Quiet variant of READONLY #1738. Perhaps useful for applications like hexdump (@pamoroso )
- New property APPEND: allows updates only at the end of the stream, FWIW.
Changed behavior:
- Textstream BOUT now behaves like BOUT (and printing) to other output streams: appends at the end, replaces in the middle. TEDIT BOUT should replace and not insert #1740, also Peculiarities with printing(BOUT) to a Tedit stream #1701.
- BOUT also doesn't create a history event--not undoable. There is some discussion of this in Peculiarities with printing(BOUT) to a Tedit stream #1701, and this can be adjusted or conditioned on a property. E.g. only make the last 100 BOUT's undoable, like the exec's history list. But BOUTing is really something that programs do, typically not related to user-interface inputs.
(I'm marking this as Draft for now, but please try it. I'll add more comments if I think of more things to mention.)