250 lines
41 KiB
Plaintext
250 lines
41 KiB
Plaintext
Medley Tedit Release Notes
|
||
2
|
||
|
||
4
|
||
|
||
1
|
||
|
||
TEDIT RELEASE NOTES
|
||
1
|
||
|
||
4
|
||
|
||
By Ron Kaplan
|
||
This document was last edited in October 2025.
|
||
|
||
October 2025
|
||
Updated for new IMAGEFILE interface.
|
||
The IMAGEFILETYPE/PRINTFILETYPE of formatted Tedit files is TEDIT, not TEXT.
|
||
The new function TEDIT.TO.IMAGEFILE converts Tedit files to image files directly, without depending (or ignoring) the printer-specification arguments of TEDIT.FORMAT.HARDCOPY.
|
||
(TEDIT.TO.IMAGEFILE TSTREAM IMAGEFILE IMAGETYPE OPTIONS) [Function]
|
||
Converts the Tedit stream TSTREAM to an image file of type IMAGETYPE (e.g. PDF, HTML) on a new file named IMAGEFILE. If IMAGEFILE is not provided and TSTREAM is a stream on a backing file, the target file-name is constructed by appending an IMAGETYPE extension to the name field of the stream's backing file.
|
||
OPTIONS is a property list with properties
|
||
FIRSTPAGE# The number to appear on the first page
|
||
STARTPG The first page of the stream to be included
|
||
ENDPG The last page to be included
|
||
QUIET If T, suppresses after-formatting status messages in the prompt window.
|
||
Tedit ignores any other properties, but passes them through to the generic OPENIMAGESTREAM.
|
||
|
||
July 2025
|
||
There is now a user-level way of setting the initial paragraph looks for every new document:
|
||
TEDIT.DEFAULT.PARALOOKS [Variable]
|
||
A paragraph-looks property list that provides the default paragraph property values that are applied to the first insertion of a new, empty document. Initialized to
|
||
(QUAD LEFT LEFTMARGIN 0 1STLEFTMARGIN 0 RIGHTMARGIN 0 PARALEADING 0 POSTPARALEADING 0 DEFAULTTAB 36)
|
||
|
||
April 2025
|
||
Window splitting
|
||
Previously, the splitting and unsplitting of Tedit window-panes was controlled by clicking in a region to the right of the document display, and that window-region was reserved even though splitting/unsplitting is an infrequent operation. Also, there was a little bit of confusion as to whether a click to the right was intended to select the last character or initiate a split. Window splitting and unsplitting is now determined by items in the middle-button Tedit menu. Clicking "Split Window" will split so that the line with the currently blinking appears at the top of a new window pane. Clicking "Unsplit Window" will eliminate the pane with the currently blinking caret (unless it is the top/primay pane). (The original region-based interface can be reinstalled by setting \TEDIT.OBJ.WIDTH to the desired window width, for example, a value of 18 defines a split region that is roughly a quarter of an inch wide.)
|
||
Color
|
||
Tedit now includes the basic infrastructure for color. The color of a selection can be manipulated with the COLOR attribute for TEDIT.LOOKS and TEDIT.GET.LOOKS, and the caret looks (the appearance of new typed characters) can be set by TEDIT.CARETLOOKS or DSPCOLOR. The default color is the atom BLACK. There is currently no menu interface for color. Whether or not color changes show up in a hardcopy file depends on the capabilities of the output image stream.
|
||
Miscellaneous
|
||
The USER.CM file when opening a Bravo-format file can be specified as the value of a new USER.CM property.
|
||
|
||
March 2025
|
||
Minor adjustments
|
||
Tedit now passes the HOSTSTREAM as an additional argument to an image object IMAGEBOXFN.
|
||
TEDIT.FORMAT.HARDCOPY now has an additional QUIET argument that suppresses the printing in the promptwindow of the number of pages and the destination file. The caller can update the window before or after the hardcopy.
|
||
The caller of TEDIT.MAP.OBJECTS can now specify in the COLLECT? argument the values that are to be collected. The possible values for COLLECT? are
|
||
OBJECT: The image objects are collected.
|
||
CH#: The character positions of the objects are collected.
|
||
VALUE: The values returned by applying function FN to each object are collected.
|
||
FIRST: The return is the list (ch# object value) for the first object that satisfies the predicate FN. Essentially a test to see if there are any such objects.
|
||
Any other non-NIL value: The (ch# object value) for the objects are collected, as before.
|
||
TEDIT.SELPROP now makes the SET property accessible, and values for the SHADE and SHADEHEIGHT properties can be changed.
|
||
A non-NIL text property DEFAULTPUTEXTENSION is used in the prompt for the destination file name, otherwise TEDIT is suggested for a formatted file as before and TXT is suggested for an unformatted file. This property is set to the empty string for Lisp source files.
|
||
Extended abbreviation facility
|
||
The interface to Tedit's abbreviation facility (the EXPAND action currently bound to x) has been extended in two ways. First, if an abbreviation substring in the text looks like a known character name (e.g Greek,Alpha) and is not otherwise in the TEDIT.ABBREVS list of defined abbreviations, then the key will be replaced by that character.
|
||
Second, the parser that extracts abbreviation keys from text now identifies some additional patterns. The entire word containing the caret/selection is recognized as a key in addition to the previously specified single character and specific multi-character selections Thus, DATE will be recognized as a key if x is typed with the caret anywhere inside it. Also, if the character in front of a key is a backslash \, expansions will be attempted for strings with and without that character, but either way the backslash will be replaced by the expansion. The backslash thus serves as a word-breaking character for an abbreviation-key that is tight against preceding text. This is consistent with the Latex convention for naming special characters that may be familiar to some potential users; a mapping for standard Latex names (e.g. \cup for ÿÿ |