* 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.
* HRULE: Add a PREPRINTFN for horizontal rules
Looks better in plaintext files
* GITFNS, COMPAREDIRECTORIES: Group earler/later in separate segments
GIT-CDBROWSER-SEPARATE-DIRECTIONS defaults to T
* FILEIO: INITVARS rather than VARS for FILING.TYPES
To avoid contamination with values from other files (like LAFITE)
* FILEPKG: SEPRCASE in EDITCALLERS includes comma and quote even if no DWIMIFYCOMPLFG
Also seprate the caseinsensitive UPPERCASEARRAY from the SEPRCASE array
* IOCHAR: Open code the call to \INCCODE.EOLC
About a 30% speed up in the slow (casearray/skip) case. Eventually macros should be defined for the externalformat interface functions, for now it is nice to be able to trace/break them.
* EXTERNALFORMAT: a little bit of cleanup
particularly around EOLC
* TESTUPF: Move from internal/ to internal/test/unpackfilename
to be parallel with filepos
* IOCHAR: FILEPOS respects external format (#3)
* FILEPKG: EDITCALLERS speed up with new FILEPOS
* internal/test/filepos: Testing jig and cases for new FILEPOS
* EXTERNALFORMAT, IOCHAR: fix external-format glitches
* IOCHAR: Fix daylight savings time
* TMAX: Y2K fix
Also a little code cleanup, changing default font to TERMINAL from GACHA and making text more legible
* DATABASEFNS, ATBL: DUMPDB with DEFINE-FILE-INFO
New database files will have standard headers, then a little special stuff for LOADDB to synchronize, old database files default to a new interlisp environment.
MAKE-READER-ENVIRONMENT in ATBL extended for easier specification, plus better type-testing.
* Remove duplicate comment
* 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.