* Upgrade Sketch to new font interfaces
* Tedit changes so that TEDIT.GETSYNTAX conforms to documentation
* Remove RUBOUT interrupt
* TEDIT-FNKEYS: uses keywords for action names
* LLKEY: Change keybindings for DELETE and LOOKS
* SEDIT-COMMANDS: Shift-DELELETE is wordelete.backwards
* Sketch implements arrow keys
* loadup scripts: set MEDLEY-INIT-VARS to NOBIND before loading MEDLEYDIR
so that INITVARS in MEDLEYDIR replaces any previous settings in the loadup-sysout
* FONT: add cache for FONTSAVAILABLE, add FLUSHFONTCACHE. See FONTCODECHANGES.tedit
* Make FONTEXISTS and FONTSAVAILABLE consistent
* Add :IMPORT-FROM option to DEFPACKAGE
* Fix a couple of variable reference typos.
Change the FILETYPE to be :FAKE-COMPILE-FILE (per #2336)
* Fix error of missing arg in call to IMPORT.
* Coerce MCCS filename strings to UTF8 filename strings in file-name system calls, coerce system filenames back to MCCS codes
* Add UNICODE-TABLES so MTOUTF8STRING gets defined in right place in the loadup sequence
* ADIR: Bug fix: UNPACKFILENAME sets FATSTRINGP
* fix virtualkeyboard bug in code assignment
* Unicode canonicalizes non-SMALLP unicodes
* A revision to the font, Unicode, Tedit, and other modules to implement the MCCS character coding as the standard for internal text strings. MCCS is a variant of XCCS with arrows switched with circumflex/underscore and $ switched with currency, and allows for additional code assignments over time. :MCCS replaces :XCCS as the default external format, especially for source files. The file XCCS is removed in favor of the file MCCS, which includes the XCCS external format for backward compatibility.
* This includes a single Medley-font formatted font file for each of the family/size/face display fonts. The glyph assignments correspond to the MCCS character encoding (except for fonts with idiosyncratic encodings--Hippo, Symbol). All charsets from legacy font files are included in each file, and the character sets and glyphs in each file have also been extended by offline coercion from related families (e.g. Glyphs not in legacy Terminal are taken from legacy Modern). There should be fewer black boxes, and character-display shouldn't change when you switch fonts.
* The Unicode mapping tables have been redefined to set up correspondences between Unicode and MCCS, not XCCS. Separate XCCS to/from MCCS mapping functions are provided in the file MCCS; they are no longer included in INTERPRESS.
* TEDIT converts characters in legacy fonts to their new MCCS codes as it reads formatted files, marks the file as MCCS compatible and preserves the new codes on writing.
* Default keyboard assignments produce the MCCS uparrow and leftarrow for shift-6 and shift-hyphen, use Function-6 for circumflex and Function-10 for underscore.
See documentation in FONTCODECHANGES.TEDIT MCCS.TEDIT MEDLEYFONTFORMAT.TEDIT in docs/internal, and library/UNICODE.TEDIT.
* EDITINTERFACE--ED searches for symbols, no error when declining a loadfns
* Symbol by type menu pops up when the symbol with different package qualifiers have different types
* Column major order to match XCCS and Unicode tables
* Compile with exports
* HLDISPLAY added a title argument to EDITBM
* EDITFONT puts the character and font in the title of the EDITBM window
* Put character set in edit window title
* Modernize the EDITBM window
so that it can be moved and resized like other modern windows
* Move lispusers/FASTEDITBM to obsolete/lispusers
It isn't used, doesn't even have an LCOM. But maybe it would be worth resurrecting at some time in the future.
* WIP in changing loadups to tagged nomeclature rather that branch and ability to delete tagged branches as well as thin them.
* In loadup and medley scripts, changed the --branch (-br) command line argument to --tag (-tg). Correspondingly changed the MEDLEYDIR/loadups/branches directory to be MEDLEYDIR/loadups/tagged. Separately, added a + parameter to the --thinw and --thinl command line arguments which causes ALL files to be deleted, not just the versioned files. Added a --thin command line argument that is equivalent to --thinw followed by --thinl. Updated the man page to reflect all these changes.
* Updated medley script man page to reflect the new tag nomenclature instead of branch nomenclature.
* Fix issue#2063 - typo in medley man page
* 1) In loadup script made --help (-h) be a synomym of --man (-z). 2) In both loadup and medley scripts added an optional parameter (+) to the --man (z) command line argument that when specified will display the man page without paging - i.e., sets the pager to cat.
* Fix Issue#2251 LOADUPSDIRECTORIES settings by the MEDLEYDIR fn now takes into account tagged loadups
CHARSET.DECODE, CHARSET.ENCODE added. CHARACTER.ENCODE moved here from TEDIT-FNKEYS. Some character names moved here from a few other files.
This anticipates the ability to use names for the charset argument to FONTCREATE. IOCHAR needed to move a little earlier so that STRING.EQUAL/UPPERCASEARRAY is available before FONTCREATE created the guaranteed displayfont.
This PR contains a large number of changes in support of the implementation of the Medley Dsplay Fon file format.
The changes are documented in the docs/internal/FONTCHANGES.TEDIT file.
* Inspectcode scrolls, has the correct window title
* Add promptwindo so M-f search strings are locally visible
* Fix FILETYPE for LLDISPLAY
* MEDLEYFONTFORMAT More efficient store and read of numeric Interlisp arrays
All display fontfiles are now in the single fonts/displayfonts/ directory. The subdirectories adobe, big, other, altofonts have been deleted, and are no longer on DISPLAYFONTDIRECTORIES. The few additional displayfonts from the envos repo are included.
This is the result of:
Removing all byte-identical files, leaving a representative of each such equivalence class in displayfonts/
Removing all files in displayfonts that are renamed byte-identical copies of other files in displayfonts/ (e.g. helvetica1-MRR-c0.displayfont is a fake-renamed copy of helvetica4-MRR-c0.displayfont). These are to be constructed on the fly by the font substitution mechanism.
Roughly comparing the bitmaps of non-identical files with the same font family/size/face/charset in the different subdirectories, and making displayfonts/ have the one that looks best (e.g. most glyphs, unless garbage), giving priority to ones that are already in displayfonts/.
Moving the remaining odd-ball files from the subdirectories to displayfonts/ (e.g. gates, music).
Copying from Envos the 30 or so files that are not byte-identical copies of files already in displayfonts/.
Fix Issue#2151
MEDLEY-INIT-VARS now resets the LI pseudohost whenever it sets/resets the value of LOGINHOST/DIR - providing PSEUDOHOSTS is loaded and LI pseudohost already exists.
- Fixed INTERPRET.REM.CM so that it no longer tries to load the file pointed to by LDEINIT and instead loads the file pointed to by LDEREMCM.
LDEINIT remains the file used by greet.
- Adjusted the medley script to have a new argument -cm (or --rem.cm) which sets LDEREMCM as appropriate before launching lde.
- Updated the loadup scripts as required to use this new -cm argument when calling medley.
Finally, added a new feature to the medley script -cc (or --repeat) whereby which when medley finishes it checks for a nonzero file given as the argument to -cc. If that file exists, medley is run again (i.e., repeated) with LDEREMCM set to that file. This repeats until this file no longer exists or is zero-length. The file can be found as the vale of LDEREPEATCM so that each invocation of medley can modify (or delete) this file so as to change the subsequent run of medley.
* 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
* FILEIO: EOL for input defaults to ANY, EXT-FORMAT can specify EOL
As per technical meeting on 7/15/2024
* Revert "FILEIO: EOL for input defaults to ANY, EXT-FORMAT can specify EOL"
This reverts commit 6a7e8c3665bbdcb401f81aa49eadb603874fb4b2.
* FILEIO: Fix comment
* Added DETECTEDEOLCONVENTION to STREAM declaration
and recompiled calls to macro \CHECKEOLC.
* COMAPARETEXT: was trying to set EOL to ANY on a Tedit stream
* LCOMS needing to be recompiled for \CHECKEOLC macro and Create STREAM
(plus a new (unchanged) version of IOCHAR needed to get the cleanup to work for the recompile)
* EXTERNALFORMAT macro and function implement EOL detection
* FILEIO: stream records detected EOL, also RENAMEFILE uses COPYBYTES
UFS doesn't check file devices identity, doesn't give type-change message. Recompiled for create stream
* ADIR has TRUEDEVICE
* Revert "FILEIO: stream records detected EOL, also RENAMEFILE uses COPYBYTES"
This reverts commit fa97aa61575f3ba0876b9ad6aadebf2892a0cb15.
* Revert "EXTERNALFORMAT macro and function implement EOL detection"
This reverts commit eb098615edbc32961558ec3ba42fdf0d712cafa4.
* Revert "LCOMS needing to be recompiled for \CHECKEOLC macro and Create STREAM"
This reverts commit 5967452c637861fda6a0e24db32ec387451cc085.
* Revert "Added DETECTEDEOLCONVENTION to STREAM declaration"
This reverts commit 196f105cf5e536e7d14736863a359fca673d69a4.
* Trying to complete the ANY/EOLC and binary RENAMEFILE issues
* loadup glitch
* 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)
* Add git commit ID to beginning of loadups .dribble files.
The commit ID is put into the .dribble file in the .sh scripts. (using echo ... > name.dribble)
The changes to MEDLEY-UTILS, LOADUP-FULL, and LOADUP-LISP are to enable the passing of APPENDFLG to (DRIBBLE ... APPENDFLG).
* I hadn't saved file before previous commit.
* Add to IL:SYSOUTCOMMITS instead of to the .dribble files.
* Initialize SYSOUTCOMMITS so PUTASSOC has somewhere to put value(s)
* Fix for issue 1812: CL:READ-FROM-STRING returns byte position instead of character position.
* Previous edit hadn't noticed corresponding issue using the value of the START argument passed to SETFILEPTR