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.
* Fix POSTSCRIPTSTREAM to accept SMALLP values 0 and 1 as COLOR.
(Don't require them to be FLOATP.)
* Changed handling when color values are not directly interpretable without other context (e.g., as an index into a color map).
POSTSCRIPTSTREAM should behave similar to INTERPRESS and just ignore a BRUSHCOLOR if it is a SMALLP that's neither 0 nor 1, and use the current DSPCOLOR of the stream.
If someone wants a specific color, or grayscale, they can use the color descriptions as documented in POSTSCRIPTSTREAM.TEDIT.
* Update documentation to better describe allowed COLOR specification.
* Fix Issue #2155 (loadup -f -b -x fails can't find full.sysout). Reordered loadup so that the sysouts are copied to loadups before loadup-aux and loadup-db are run, and that the product of loadup-aux are copied to loadups before loadup-db is run -- all to make sure that the right prerequisites are available in loadups when needed. Also forced a run of loadup-aux if full.sysout is newer than exports.all when -db is specified.
* Fix Issue 2148 - loadups fail on WSL1 with Xvnc server error. Root cause of 2148 is that certain Medley sessions in loadups run very quickly - less that a second or 2. This causes the medley script to improperly detect an Xvnc server error. Fixed by adding a cli flag --automation that forces the medley script to skip the check for Xvnc server errors. Changed loadup script to call medley with this flag set. Also add a cl flag to loadup --forcevnc that forces loadup to use vnc even on WSL2. This is intended for testing purposes only.
* Collect TALK files into lispusers/talk/
renamed with hyphen convention. Also pull over TALKGAP files that were previous obsolete, and remove them from obsolete/lispusers
* Replace TALK.TEDIT--file got smashed
* TALK.TEDIT now comments the current situation
Fix Issue #2155 (loadup -f -b -x fails can't find full.sysout).
Reordered loadup so that the sysouts are copied to loadups before loadup-aux and loadup-db are run, and that the product of loadup-aux are copied to loadups before loadup-db is run -- all to make sure that the right prerequisites are available in loadups when needed.
Also forced a run of loadup-aux if full.sysout is newer than exports.all when -db is specified.
Here is what this PR does:
Fix Issue 2139: (MAKE-INDEX-HTMLS) was not handling pseudohosts correctly and an errant LI pseudohost was causing MAKE-INDEX-HTMLS to terminate early. Adjusted MAKE-INDEX-HTML so it uses psuedohosts only for the top level directory and everything further down in the tree uses the truenames relative to the top-level pseudohost, Results in a MAKE-INDEX-HTMLS run that works in the presence of random pseudohosts and in a collection of index.html files without difficult to understand and out of context references to pseudohosts.
Remove loadups/build directory from all HCFILES runs (on desktop and via github actions)
Added maiko source code and removed maiko lde executables from HCFILES outputs for github actions - thus adding maiko code and removing maiki executables @ files.interlisp.org.
Fixed scripts/clean_hcfiles.sh so that it actually cleans off all of the index.html files - was missing some.
.github/workflow directory was being left out of HCFILES. Put it back it.
Expanded the (PSEUDOHOSTS) function to have an argument, which is a list of replacement pseudohost pair to replace the current list of pseudohosts. Still returns the current list of pseudohosts as before. Designed to be used cleanly with RESETSAVE.
Three changes to loadup scripts:
1) dribble files are now copied from the workdir into loadups if loadup completes successfully,
2) if the lock preventing simultaneous runs is already set when loadup starts, it now asks the user if they want to override the lock or to exit (previously it just exited),
3) there is now a --override flag that will automatically override the lock without asking the user.
Man page updated accordingly.
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.
* I put in support for standard color specifications. I think this is pretty close.
BLTSHADE, FILLCIRCLE, and FILLPOLYGON with the TEXTURE as TEXTUREP or BITMAPP convert to a gray scale as a function of the number of bits set.
It'll take a bunch more refreshing of PostScript knowledge to figure out how to do these with real colors, and actual pixel-by-pixel textures.