* 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
* 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.
* 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
Keyaction lists have also been updated so that they contain only character specifications, not a mixture of character codes and specifications.
KEYACTION now tests its KEY argument for validity
New function \KEYNUMBERTONAME, potentially convenient for future keyboard work
* Cleanup of character IO interface
Committing this branch for further testing. I know at least that the TTY output stream somehow is defaulting to :XCCS, which is wrong, but I haven't yet found the interface for that.
* Clean out \NSIN etc
No top-level calls to the NS specific functions, just to the generic \OUTCHAR etc.
Updated full.database
* MODERNIZE: added dragging for fixed-menu windows
They can be dragged by their title bars
* UNICODE: Added Greek to the default set
Also made spelling of default-externalformats consistent with FILEIO
* FASLOAD: EOL conversion in FASL::READ-TEXT
EOL's printed as LF's will be read as EOL
* LLREAD: Added meta as a CHARACTERSETNAME
meta,a maps to 1,a now. But slowly propagating this to TEDIT, SEDIT, etc will make it easier to change the coding of meta characters, e.g. as part of a Unicode transition.
* APRINT FILEIO LLREAD: \OUTCHAR now a closed function
Removed the macro
* LLKEY: call CHARCODE.DECODE directory in \KEYACTION1
Minor cleanup, avoid typical user entry and APPLY*
* WHEELSCROLL: re-enable on AFTERMAKESYS/SYSOUT FORMS
Also sets up mappings in the \COMMANDKEYACTIONS, whatever that is
* ABASIC: NILL and ZERO change from LAMBDA NOBIND to LAMBDA NIL
So that things like Masterscope don't break
* MASTERSCOPE: Added WHEREIS as last-resort for CONTAINS
Looks at the WHEREIS database, if present, for FNS and FUNCTIONS if it has no other information. . WHO CONTAINS ANY CALLING FOO works, but not the inverse: . WHO DOES FUM CONTAIN. We still need to figure out why the CONTAINS table isn't populated
* POSTSCRIPTSTREAM: use standard \OUTCHAR conventions
Now uses generic \OUTCHAR to get the proper function from the stream (or default)
* Recompile with right EXPORTS.ALL
Some of the macros weren't correct.
* Fix POSTSCRIPTSTREAM
Cleaner separation between external \OUTCHAR and internal BOUT
* POSTSCRIPTSTREAM gets its own external format
* Minor fix
* Compile-time warning about EXPORTS.ALL
* MODERNIZE: Modern button fn has same args as the original
For Notecards #343
* Fixed another glitch in the MODERNIZE arglist thing
\TEDIT.BUTTONEVENTFN actually takes a second STREAM argument. I don't see where it is ever called with that. The modernize replacement binds that argument, but it isn't being passed to the original.
* FILEWATCH: added missing record field
* Update FILEWATCH.LCOM
* Eliminating record/type name conflicts
Mostly just qualifying references, more work to get BIGBITMAP stuff out of ADISPLAY and to eliminate ambiguity of LINE record (now XXLINE in XXGEOM)
* Compile away open calls to \OUTCHAR, add loadups/full.database
Mostly new LCOMS where \OUTCHAR calls were compiled open
* Remove garbage library/XCCS
Old tools for reading wikipedia XCCS tables, sources/XCCS will deal with XCCS external format
* Next step: Remove open input-character calls, factor XCCS to separate file
XCCS is the default, but can be swapped out (eventually) by setting a few variables, without recompiling everything
* Lots of residual cleanup for XCCS isolation
* Delete old file MACINTERFACE (migrated to MODERNIZE)
* Eliminate straggling NS calls: LAFITE, READINTERPRESS
* Typo
* READINTERPRESS: removed CHARSET
* MODERNIZE: Interface to control title-bar response (for Notecards)
* Many changes for external format name consistency
Very close to the end of this
* Put :FORMAT in file info, fix TEDIT plaintext hardcopy
I distributed :FORMAT :XCCS as the default marking, but somehow one of the variables seems to get revert during the loadup. This is correct, as far as it goes.
* Getting the format in the file-info
This is all very twisty, different variables set in different places. It now seems to do the right thing, at least for new files. Marks them with :FORMAT :XCCS.
* Another fileinfo glitch
* CLIPBOARD -UNICODE: Make UTF8 to UTF-8 to match standards
* MODERNIZE: fix bug in MODERWINDOW
* External format as MAKEFILE option, LOAD applies the file's format
(MAKEFILE 'XX '((FORMAT :UTF-8)))
will dump XX as a UTF-8 file. LOAD will load it back to XCCS internal.
* Compilers respect DEFINE-FILE-INFO format
* MODERNIZE: little glitch
* Delete old FILEIO.LCOM
* More edge cases of external format thru MAKEFILE, PRETTY, PRETTYFILEINDEX etc.
* FILEBROWSER: Can SEE UTF-8 Lisp sourcefile
* INSPECT: Better macro for inspecting readtables
* recompile changed files and do new loadup
Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
* All source files converted to LF
Also, HPRINT: EQUALALL knows about CL arrays
FILEIO: STREAM record with fields for external format functions
* Delete makeinit.dribble
* Converted CR to LF on internal/library and docs/Documentation Tools
this will give us a stable point on which we can make changes in coordination via git.
NO MORE USING A SHARED DROPBOX
Last major commit wihout a PR against a Medley issue.