* Fixed#2185 and #2173.
* TEDIT-MENU TEDIT-PAGE Fix a few more bugs
* TEDIT-STRESS--cleanup and harden a bit for future use
* TEDIT-FILE: Allow putting of an APPEND file. There is still a guard against putting a readonly file--use COPYFILE instead. Provide message if won't put
* Get proper insert caret looks before EOL
* Tedit window splitting is more robust, interface through menu items instead of split-region on the right of the window. See TEDIT-RELEASENOTES.TEDIT
* Tedit recognizes color as specfied by DSPCOLOR, passes it to hardcopy
* N-way buttons default to unsorted--new items go at the end. Otherwise keyboard shortcut meta-3 for the 3rd font might pick a different one depending on what went before.
* USER.CM can be specified as an opening property for Bravo conversion.
* Adresses/fixes Tedit issues #2173#2172#2171#2142#2105#2062#2059#1972 (maybe some others).
* Changes to rationalize internal interfaces and simplify code, and particularly to eliminate internal dependencies on the STREAMHINT Xpointer backlink. STREAMHINT is only accessed if a client has grabbed the TEXTOBJ and passes it back in. The stream and window are the safe/reliable way of referencing the Tedit state (and the window and stream know about each other, and know about the TEXTOBJ only through the stream).
* Many changes to TEDIT-STRESS, including new defaults CHECKARRAYS NIL, NSYSOUTS 0, ARRAYBLOCKCHECKING T
* lispusers/EQUATIONS: image object no longer saves state on the stream, not the window (which may not be there).
* Rename CHARNAME to be CHARCODE.ENCODE, parallel to CHARCODE.DECODE
* Fix POSTSCRIPTSTREAM to accept SMALLP values 0 and 1 as COLOR.
(Don't require them to be FLOATP.)
* Changed handling when color values are not directly interpretable without other context (e.g., as an index into a color map).
POSTSCRIPTSTREAM should behave similar to INTERPRESS and just ignore a BRUSHCOLOR if it is a SMALLP that's neither 0 nor 1, and use the current DSPCOLOR of the stream.
If someone wants a specific color, or grayscale, they can use the color descriptions as documented in POSTSCRIPTSTREAM.TEDIT.
* Update documentation to better describe allowed COLOR specification.
Expanded the (PSEUDOHOSTS) function to have an argument, which is a list of replacement pseudohost pair to replace the current list of pseudohosts. Still returns the current list of pseudohosts as before. Designed to be used cleanly with RESETSAVE.
* I put in support for standard color specifications. I think this is pretty close.
BLTSHADE, FILLCIRCLE, and FILLPOLYGON with the TEXTURE as TEXTUREP or BITMAPP convert to a gray scale as a function of the number of bits set.
It'll take a bunch more refreshing of PostScript knowledge to figure out how to do these with real colors, and actual pixel-by-pixel textures.
* Distinguish public TEDIT.NTHCHARCODE... from private \TEDIT.NTHCHARCODE...
* Fix screen-update bug: deleting the character before the first character in a window
* glitch in region code
* 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.
Lafite is not in the fuller ms database, so I missed these references in
TEDIT-INDENT.
But note also: there are 2 definitions of the function
\GV.PARSERECIPIENTS1, one on lafite/TEDIT-PRIVATEDL and one on
internal/MAILCLIENT.
The one on TEDIT-PRIVATEDL references the variable ADDRESSPARSERRDTBL,
which is not initialized.
* Paren error when selection looks set to INVERTED
* Add SET, SHADE, and SHADEHEIGHT properties to TEDIT.SELPROP
* Add QUIET as optional last argument to TEDIT.FORMAT.HARDCOPY, suppress prompt-window message
* COLLECT? argument to TEDIT.MAP.OBJECTS can specify what kind of information to collect.
* Fix up Move command
* change paralooks record, recompile, other updates
* Fix right arrow and EOF
* Caret position after NEXT, add FILESTREAM textprop, CH#/LEN args to TEDIT.SEL.AS.STRING
* Added LLK
* Arrows-movement in menus is confined to fields
* Slightly better menu test
* TEXTPROP glitch, create window after getting file
* remove a debug call
* forward/backward forgets original x position
* Opentext stream preps for window-region prompt width
* typing resets the leftarrow X position
* Removing cached X position for up and down arrows
I tied this to the DIRTY flag and recompiled its users. Also separately fixed the setsel and find functions to clobber the cache
* Fencepost glitrch
* add OPENWIDTH property
* Selection past the middle goes to the right
* bug fix
* Set up for paralooks name changes to avoid future confusions
* Update tedit-exports.all
* One more systematic name change for char/para looks parallelism
* TEDITSTRING applies initial props
* TEDIT.CARETLOOKS returns oldlooks, TEDIT.PUT has a QUIET flag
QUITEFLAG suppresses prompt printing
* Add back character sets that had characters outside 16 bit plane
* Update XCCS-353=SYMBOLS3.TXT
Update title line
* Update UNICODE.TEDIT
* Fix charset names
* Reorganized the tables, added requested interfaces
* Use a single hash
* Top-level array branch beats a single hash
* cleanup UNICODE.TRANSLATE macro
* Fix slug in outcharfn
* Remove a stray line
* Another try, would work for raw
* Remove duplicates, redo hashing
* Getting complete maps in both directions
* Initializing
* Only the latest file versions
* Add back gothic mappings
* Enable FONTSAMPLER to display glyphs from DISPLAYFONT (bitmap font) on non-DISPLAY stream (e.g., PDF)
Added .LCOM to repository.
Corrected PR.
* Relocate FONTSAMPLE files to obsolete.
* Files renamed. Internal names and documentation were NOT updated.
---------
Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
* Add back character sets that had characters outside 16 bit plane
* Update XCCS-353=SYMBOLS3.TXT
Update title line
* Update UNICODE.TEDIT
* Fix charset names
* Reorganized the tables, added requested interfaces
* Use a single hash
* Top-level array branch beats a single hash
* cleanup UNICODE.TRANSLATE macro
* Fix slug in outcharfn
* Remove a stray line
* Another try, would work for raw
* Remove duplicates, redo hashing
* Getting complete maps in both directions
* Initializing
* Only the latest file versions
* Add back gothic mappings
* Addresses #1943
* Better prompt messages for meta-O and meta-D
* Cleanup TEDIT.SETSEL
* Meta-O shows menu of types to edit
* Extra variable
* More cleaning of TEDIT.SETSEL
* Shakedown of field menu items
* Suppress shift-select in menus
* Typo, plus inserting EOL-containing strings
* Fix selection display glitch revealed by DOCUMENT
* Fix arg order, eliminate U-CASE
* U-CASE only if coercing IDENTIFIER from LABEL
* Allow SMALLP for identifiers, INITSTATE for SELECTION
Also a fence-post glitch in paragraph selection
* Fix MB.GET
* TEDIT-MENU: Right button doesn't invert Marginbar, copying suppressed
* TEDIT-STREAM: Error if copying an image object that doesn't allow copying
* Missed another LITATOM/SMALLP test on IDENTIFIERS
* Clicking in a menu removes stale promptwindow text
---------
Co-authored-by: Frank Halasz <frank@halasz.org>
* TMAX updates for compatibility with Tedit changes
* DOC-OBJECTS changes for compatibility with Tedit changes
* MODERNIZE update for Tedit split windows
* Core Tedit files
* IMAGEOBJ: Remove dependency on Tedit internals
* WINDOW: Remove dependency on Tedit internal declaration
Still strange that WFROMDS should have to branch on Tedit
* WINDOWOBJ gets window of TTY process before the window of the stream of the TTY process
So insert into Tedit works
* TEDIT-CHAT: try to use TEXTSTREAM vs TEXTOBJ
* Fix tab-initialization problem in SLIDES.TEDIT
as reported by @nbriggs
* TEDIT-CHAT: use TSTREAM rather than TEXTOBJ
* Updates after lots more testing, particularly scrolling
Some other files dragged along to avoid dependence on Tedit internals
* Remove unwanted SAVE.SYSOUT
* Addresses more end-of-file and empty-file display issues
Try it again
* TEDIT-DEBUG tracking other changes
* Odds and ends
* Adjust EOF selection and caret-scrolling on copy
* More cleanup, plus fixing a few more ancient (Venue) glitches
As usual, the problems have to do with the funky behavior of EOL's in the middle and end of the document. More abstraction and refactoring to get better control of this (I hope).
* TEDIT-WINDOW: Scroll down of big objects
Trying to fix what happens at the transition when scrolling down brings a big-object's top down in the window. Approach is to bring down the line above, which may make for a little jump. I hope that solves it.
Scrolling up still needs some adjustment.
* Eliminate junk at top of window after up/down scrolling of big objects
BLTSHADE is OK there for scrolling, but not for redisplay after editing. In the edit case, the top of the pane above the last valid line is preserved.
Scrolling still has the problem that the window can go blank at the first scroll that brings a tall object into the pane--still working on that.
* Scrolling with tall lines should be more continuous
* Another tweak for scrolling
plus interface extension to TEDIT.MOVE and TEDIT.COPY, a little more on field menus
* More robust strategy for field menu buttons
Surround the field with prefix and suffix pieces with image objects that print the pre and post labels and shift the selection forward or backward into the field. Doesn't depend on inherited quirky logic in the selection line-scanner.
* Field selection ignores right and middle clicks
* A little more menu/selection tweaking
You can't extend through fields and buttons
* Added CUSTOMBUTTONEVENTFN to menu field buttons
Also, menu buttons in general can't be deleted
* A few more glitches, plus a little selection refactoring for buttons
* Reduce flicker in pargraph menu margin bar
* screen update glitch
* DOC-OBJECTS, TEDIT-SCREEN: Fixes the HCFILES DOC-OBJECTS failure
* TEDIT-BUTTONS: Field values should always be shown in the specified FIELDFONT
* Abstracting the structure of the history lists
cleanup, but mostly as a precursor to maybe doing a ring buffer of a specified length
* TEDIT-FILE, a little font-reading cleanup
* Include the files from rmk-39 that deal with the text/binary renamefile problem
* TEDIT-PAGE addresses #1905
* Fix BUTTONSTART to STARTPC in Put/Get menu buttons
* Use width of M as width of EOL--easy to select
Also put in function call for potential kerning--needs eventual FONT support
* Rename a few internal functions from TEDIT.-- to \TEDIT.--
* Doesn't make sense for a charlooks to not have a font
* TEDIT-BUTTONS - Fix comment
* Take out Tedit internals from \CARET.FLASH?
Should have included this in fifth round long ago
* TEDIT-FILE: use DEFAULTFONT for .sh files
Easier to follow the layout
* TEDIT-LOOKS: fix loadup order
* tedit-exports.all Remove line-has-protection field
Useless
* Make sure that charlooks change as expected
* External format for .sh files is UTF-8
* Better display of history information for debugging
* Button changes: show document font families, better fields
* TEDIT-WINDOW, remove extra truncated line with down-scroll
* TEDIT-SELECTION: suppress line/paragraph selection for built-in menus
Line/para selection would be reasonable for multi-line fields, but most menu lines have protected text that would behave inconsistently. So just suppress
* Better support for potential kerning
* Fix empty field value
* Simplify ASCII translation code
* Make sure headings have a default tab
* Word boundary at character 1
* Remember that you specified a font class instead of a font
For the charlooks menu, but also so that it is saved on a put
* More items on the Family NWAY-button line
* glitch
* TEDIT-LOOKS: Better algorithm for Ascii translation
* Charmenu remembers previous "Other" fonts, even if not installed
* Fix initial piece index
* Fix fontclass changes (again)
FB.PROMPTW.FORMAT now uses the global PROMPTWINDOW if called under a borrowed function (i.e., not a FILEBROWSER window).
Tweaked the format string provided by FB.FASTSEE.ONEFILE to go to newline conditionally.
Edit of function from popup menu in MASTERSCOPE show paths graph locks mouse process.
Left buttonfn didn't include :DONTWAIT option when launching the editor; middle buttonfn did.
* CLIPBOARD: Remove Tedit-specific code
* TEDIT-COMMAND: Add interface to Clipboard
This also implements a different way of dealing with image objects in the selection. Instead of causing an error (since an imageobject can't be printed to the clipboard stream), it tries to put out a useful representation of the object. If the object has a preprint function, it applies that. Otherwise, it prints out the name of the getfn. Other objects can be explored.
* TEDIT-MENU: Eliminate illegal arg and caret location errors
@nbriggs got an error when (as I remember) parsing the OTHER font in the charlooks menu. This was because of a missing BOUNDP check when trying to decide if the other font is a fontclass.
Separately, the caret appeared in the wrong place if a field insert was the first interaction with a menu.
* Remove redundant binding
This includes some files in lispusers that are not in the Tedit core but had references to Tedit internal functions (TMAX, DOC-OBJECTS and some others) that have been renamed. (I hope to clean out those internal references, at some point.)
A few additional changes are here to track the changes that were recently made in the unrenamed master branch. Going forward, I want to make future changes in this branch.
Eventual plan is to introduce a Tedit package and do another systematic renaming of all \TEDIT.xxx functions to TEDIT::xxx, this is a first step.
This does not yet include a backward-compatibility mapping of oldnames to newnames, as was discussed in the technical meeting.