* 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
* CLIPBOARD passes file to xclip (windows)
* More careful to specify {UNIX} as the host on the Medley side
* Make sure the process stream is closed in the xclip case
* This time using ShellCommand
* Use DSK and UNIX-FILE-NAME
* Added .txt to the tmp file
* Move PRESS and PRESSFROMNS to obsolete
* Remove PRESS from the loadup
Also moves MULTI-ALIST forward to the beginning of LOADUP-LISP
* BACKGROUNDIMAGES depended on PRESSFILEP, now moved here from PRESS
Update project contributor guidelines
Replace the documentation link to point to the Documentation section of the project site instead of the discontinued Wiki.
Under Working with Medley, advise opening an issue to report errors and unexpected behaviors.
Under Did you write a patch that fixes a bug?, remove the link to Maiko PRs as the project has more repos a contributor may want to open PRs for.
Signed-off-by: Paolo Amoroso <paolo.amoroso@gmail.com>
* 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.
For loadup --aux reporting of errors during building whereis.hash:
Just ignore pathnames that are just a directory.
For other errors, report the condition that caused the error, instead of just generic Warning message
* Update lispusers/INSPECTCODE-TEDIT for changes to Tedit.
This could be considered to be incorporated directly into sources/INSPECT.
(This was changed from TCOMPL (LCOM) to COMPILE-FILE (DFASL) because it just wouldn't compile correctly otherwise, for me.)
---------
Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
* 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
* 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
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/.
* Add to loadup and medley scripts a --branch argument whereby which loadup outputs are stored in MEDLEYDIR/loadups/branches/BRANCH, where BRANCH is the name of the currently active git branch of MEDLEYDIR (for loadup) or the name of a BRANCH whereby which a loadup had been run with the --branch option (for medley). Man pages updated accordingly.
* Removed --git-branch synonym for --branch from both medley and loadup scripts. Added optional BRANCH argument to --branch in loadup script. If BRANCH is specified iot is used as the (pseudo)branch name instead of the current active git branch of MEDLEYDIR. If BRANCH is "-", the current git branch name is used.
* When doing loadups, a file called gitinfo is created in the LOADUP_OUTDIR that contains the git commit, git branch and git status of MEDLEYDIR at the time of the loadup. Branch names in loadup and medley scripts now contain only alphanumerics, dahes, underscores, periods. Any other character is coerced to underscore. The branch name is now included in the window title.
* Incorporate changes from PR#2208: Use the loadup step script names as the --id string.
* Add loadups/gitinfo and loadups/branches to .gitignore
Fix editing of button...correctly wait for edit to complete before updating the button itself.
Add (FIND-BUTTON label) function.
Minor updates to documentation.
* 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
Updated Build/Push Medley Release workflow to add wsl1-specific assets
to the releases - based on the new wsl1-specific maiko builds.
Renamed the current wsl release assets to be wsl2-speciic assets.
There are now 20 assets in a release build.
Add a --vnc flag to loadup script, used to tell loadup scripts to run
Medley with the --vnc option.
Used primarily on WSL1 and WSL2 systems where loadup defaults to X
Windows. But can be used on any Linux platform that uses Xvnc.
Not relevant on MacOS and Cygwin.
Man page updated accordingly.