1
0
mirror of synced 2026-03-14 14:33:46 +00:00

Compare commits

...

339 Commits

Author SHA1 Message Date
Larry Masinter
322b2e0fbe DFV gets FNS and/or FUNCTIONS, depending on what definitions exist (#2530)
If both exist, it brings up 2 Sedit windows.

The relative version numbers are currently mapped to Medley absolute
version numbers. It would be nice to extend VERSIONDEFS with a function
(say GEDV) that maps the relative version numbers into the definitions
on git-file versions, by looking at the history. So (GEDV 'FOO 'RECORD
-3) would find the file for FOO's record declaration from WHEREIS, and
get the definition from the version 3 commits back. But GITFNS doesn't
currently have a primitive for fetching and interpreting history.
2026-03-09 23:07:30 -07:00
rmkaplan
a24a4dffc2 READ-READER-ENVIRONMENT can take a file name in addition to an open stream (#2531) 2026-03-09 12:31:01 -07:00
rmkaplan
95e08680b8 \CORE.DIRECTORYNAMEP returns T for the {CORE} (no directory) case (#2522) 2026-03-09 12:15:33 -07:00
rmkaplan
7a7fca0bcf Add lispusers/CONVERT-TO-UTF8 (#2518)
* Add lispusers/CONVERT-TO-UTF8
* FILETYPE with no DFASL defaults to :FAKE-COMPILE-FILE
2026-03-09 12:15:14 -07:00
Matt Heffron
9e4d37efd7 Most of the --option uses were incorrectly converted when making loadup.1 from loadup.md. (#2528)
Most of the --option uses were incorrectly converted to an en-dash instead of two hyphens when making loadup.1 from loadup.md.
The en-dash didn't display correctly in the shell, typically as u with ^.
Edited loadup.md, and regenerated the other changed files using publish.sh
2026-03-09 12:14:19 -07:00
rmkaplan
b8c0c594a9 DFV gets FNS and/or FNS, depending on what definitions exist 2026-03-08 09:26:18 -07:00
rmkaplan
d9f1a78f47 GITFNS remembers user's last branch number in a {LI} file (#2526) 2026-03-07 12:56:21 -08:00
rmkaplan
ab4eb3d52d Remove UNICODE file reference from Tedit (#2527) 2026-03-04 08:11:52 -08:00
rmkaplan
0f470b9753 Rmk161 loadup works with utf 8 source files (#2512)
* New starter.sysout contains the UTF-8 external format
* Init.sysout is created with the UTF-8 external format
* Files with non-ascii characters and some other files converted to UTF-8, for basic testing
* Environment arg of WITH-READER-ENVIRONMENT can be a stream
* Compiler functions now respect the external format as copied from the source file
* Colon is the package delimiter in DEFINE-FILE-INFO expressions
* UNICODE file is deprecated in favor of UNICODE-FORMATS and UNICODE-TABLES
2026-03-02 11:56:11 -08:00
Larry Masinter
b1bdd90338 remove 'obsolete' folder from repo -- move to separate repo (#2503) 2026-03-02 11:49:31 -08:00
rmkaplan
1569a27209 \FONT.CHECKARGS extracts the right component if the font of a stream family is a fontclass (#2509) 2026-02-24 10:06:24 -08:00
rmkaplan
1ff475a42c Clarify 0-origin indexing for piece NTHCHARCODE operations (#2499)
* Clarify 0-origin indexing for piece NTHCHARCODE operations
* Change the name of the Tedit externalformat from :TEXTSTREAM to :TEDIT
2026-02-23 12:05:59 -08:00
rmkaplan
7904f9dd86 Better initial window size for OUTPUT TEDIT masterscope queries (#2501)
* Better initial window size for OUTPUT TEDIT masterscope queries: Creates the output stream, then measures the lines
2026-02-23 12:05:04 -08:00
rmkaplan
93a04227d8 Rmk158 Remake files to convert the 247Q package-delimiter in DEFINE-FILE-INFO to 30Q (#2506)
* Remake files to convert the 247Q package-delimiter in DEFINE-FILE-INFO expressions to 30Q

* Remake TRANSOR after removing HIST command

* Remake TRANSOR-LOADTRAN after changing the filecoms variable
2026-02-23 12:04:11 -08:00
rmkaplan
cc0a819cd5 MCCS coding for UNIX-GETENV, fix MTOUTF8STRING (#2474)
* MCCS translations for strings passed to/from UNIX-GETENV and other system interfaces.
* INTERPRET.REM.CM assumes system external format is UTF-8.  ISO8859/1 external format is defined in MCCS as a dummy for UTF-8 until UNICODE is loaded
* Add string translation interface to EXTERNALFORMAT datatype, 
* Set the external format of the default reader environment to *DEFAULT-EXTERNALFORMAT* = :MCCS
* Add external format :THROUGH16 for 16 bit codes, used by linebuffer
2026-02-16 12:06:09 -08:00
rmkaplan
075ca1a9f1 Reading indirect charsets in MEDLEYFONT doesn't smash the default font (#2496) 2026-02-14 14:06:06 -08:00
rmkaplan
69bb98c49a Rmk157 Minor Tedit updates--improved page layout menu, TEDIT.PARAGRAPH.BOUNDARIES, other bug fixes (#2479)
* TEDIT adds TEDIT.PARAGRAPH.BOUNDARIES, fixed TEDIT.MAP.OBJECTS, a few other bugs
* Addresses the page layout menu #2447 and #2457
* TEDIT-STREAM add open method
* Ctrl-p inserts page number object
* Restore page number pretext and posttext in menu
2026-02-13 17:46:06 -08:00
rmkaplan
bb830e75f0 Fixed COMPAREDIRECTORIES See command so it doesn't fail if only one file to show (#2488)
See command in compare-directories browser doesn't fail if only one file
2026-02-13 17:44:04 -08:00
Matt Heffron
dc86cd8f80 Fix POSTSCRIPTSTREAM loading of PSCFONT so unaccented fonts aren't re-encoded. (#2490) 2026-02-12 14:55:55 -08:00
Larry Masinter
03b59d5a33 Rename 'NOBIND' table name to 'UNBOUND' to allow running interpreted (#2484)
evaluating a variable bound to NOBIND causes errors when run interpreted (doesn't when run compiled). It's not clear why this design decision was made, but in this case compiling MASTERSCOPE was hung up trying to run a subfuncion involved in macroexpansion after LOAD(MASTERSCOPE).
2026-02-09 09:37:19 -08:00
Paolo Amoroso
03ca57d22a Revise README of medley repo (#2481)
Revise and update the repo's README to address issue #2449 by adding an
introduction to the project; referring to the glossary for
system-specific terms; replacing section Running Medley Interlisp with a
reference to the Medley primer; and removing the obsolete link "docs --
Documentation files".
2026-02-06 17:30:53 -08:00
rmkaplan
5fadc0f632 man tedit and man sketch (#2468)
man tedit and man sketch bring up desktop windows with relevant pdf documentation files
2026-02-04 22:09:08 -08:00
Larry Masinter
53b13dc8ed remove useless duplicate spellfile (#2470) 2026-02-02 13:02:10 -08:00
rmkaplan
f937e2ca98 Rmk151 Remove old fontfile conventions from \FONTFILENAME (#2462)
* Remove code for archaic \FONTFILENAME conventions, MEDLEYFONTFORMAT now calls the generic function.

* Add OCTALSTRING to APRINT so FONT can use it.  Eventually remove it from PUP
2026-02-02 11:58:11 -08:00
rmkaplan
53d6387e93 Update to new imagefile architetecture (#2467)
* Update HPGL to new imagefile architetecture

* {LPT} improvements, TEXT imagetype centralized in HARDCOPY

* \EXTERNALFORMAT respects explicit fields in create stream expressions, doesn't override non-NIL fields
2026-02-02 11:56:50 -08:00
Nick Briggs
de0ba95497 Removes lispusers/BLOCKS-HKB[.LCOM] duplicate file (#2471)
The file lispusers/BLOCKS-HKB is a duplicate of lispusers/h/H-BLOCKS
except with differing end-of-line convention.  This PR removes
BLOCKS-HKB and BLOCKS-HKB.LCOM

Closes #2079
2026-02-02 11:50:57 -08:00
Larry Masinter
2e606befcf Fix bug / typo in MAKE-INDEX-HTMLS (#2469) 2026-01-28 15:06:21 -08:00
Matt Heffron
05a4c48f38 Fixed dumping of the running page header that was from the HEADER option of TEXTTOIMAGESTREAM. (#2461)
* Fixed dumping of the running page header that was from the HEADER option of TEXTTOIMAGESTREAM.

* Restored (CONSTANT ...) around a TIMES call (that *really* ought to optimize at compilation).
2026-01-27 19:58:12 -08:00
Larry Masinter
43e08ea85b remove _ (underbar) from JS up button, add META for UTF-8 in HTML (#2464) 2026-01-27 19:50:48 -08:00
Herb Jellinek
1e77a2e116 FX-80 files are obsolete (#2466)
Moved FX-80 files to obsolete/library.
2026-01-27 14:56:15 -08:00
rmkaplan
65df2ba6a4 Hardcopy to printer (#2290)
* Separate interface for imagefile creation from the send-to-printer interface
* SEND.FILE.TO.PRINTER recognizes :DEFAULTPRINTER
* Various changes to address #2414
* Move BITMAP properties from PRINTERTYPES to PRINTFILETYPES.
* Fix ShellOpen, add UNIX-TMP-FILE-NAME
* Include COERCEFONTSPEC changes in anticipation of HTML streams
* PDFSTREAM compatible with new imagefile architecture plus able to convert non-local Postscript streams
* SKETCH compatible with new imagefile/printing architecture
* TEDIT compatible with new printing architecture
* Tedit files are of type TEDIT, not TEXT, new interface function TEDIT.TO.IMAGEFILE
* ATTACHEDWINDOW:  DOATTACHEDWINDOWCOM allows menu to have a form to EVAL, like the background menu
* WINDOW: fix menus for new hardcopy architecture
* Remove FLUSHFONTSINCORE--FLUSHFONTCACHE is more general
* LOAD character names as suggested in PR #2398
* HARDCOPYW respects file extension
* VIEWER as default printinghost
* SLASHIT interprets '.
* MCCS to UTF8 conversion on printer name
* Deal with {LPT}.LOCAL and upper casing
* @ LPT printers work with exact upper/lower matching
* Using NSPRINT functions to recognize fax
* Let "UNIX" be the name of the default printer of type UNIX
2026-01-26 15:38:22 -08:00
Larry Masinter
23cef354eb index.html's exsternal-format is UTF-8 (#2454)
* set :external-format of index-html to be UTF-8
* remove duplicate MAKE-INDEX-HTMLS and unneccessary READVISE
2026-01-25 09:01:32 -08:00
rmkaplan
c793c967c6 Rmk150 tedit and sketch doc files (#2450)
* Add scanned pdfs to library/tedit/docs/

* Add scanned pdfs to library/sketch/docs/
2026-01-21 18:00:20 -08:00
rmkaplan
65c482bc06 Rmk150 update to tedit.abbrevs (#2439)
* Improved matching for TEDIT-ABBREVS

* Make CHARACTERNAMES available at runtime (SOFT-HYPHEN etc)

* TEDIT-ABBREV: Better parsing strategy

* Added backslash markup

* Document new abbreviation conventions

* Glitch

* Responded to @MattHeffron

* Include backslash in promptwindow message

* Updated edit date
2026-01-14 08:44:03 -08:00
rmkaplan
8292d3287b Fix FILETYPE property of HLDISPLAY (#2430) 2026-01-12 10:23:06 -08:00
Matt Heffron
782d97ed77 Fix MANAGER Warnings issued at load time. (#2440) 2026-01-06 10:51:56 -08:00
rmkaplan
b9757062e9 Fix typo in MAIKOCOLOR (#2435) 2025-12-31 11:29:43 -08:00
rmkaplan
ba90276e93 Recompile \INITDISPLAYBCPL in ATERM (#2432)
Don't remember why, probably to make sure that the (create STREAM) tracks that declaration.
2025-12-30 14:11:33 -08:00
Matt Heffron
30ff3676b7 FONTSAMPLER labelling fixed - ColumnMajor selectable (#2411)
Make the layout orientation, ColumnMajor or not, be selectable.
Fix the row/column labels to correspond to ColumnMajor selection.

Resolves #2408
2025-12-29 11:34:18 -08:00
Matt Heffron
dd1f79a61d Merge branch 'master' into mth57--FONTSAMPLER_fix_labels_ColumnMajor_selectable 2025-12-29 11:30:47 -08:00
Matt Heffron
edd88a7356 Complete the READ-BDF changes for MEDLEYDISPLAYFONT format (#2395)
This should complete the changes for the MEDLEYDISPLAYFONTFORMAT.
The building a composite font from BDF files implemented.

Resolves #2313 
Resolves #2365 
This should make #2364 possible.
(I created a size 20 Noto Sans _composite_ font from the same Google
fonts as used by @hjellinek's HTMLSTREAM.)
2025-12-29 11:30:24 -08:00
Matt Heffron
14f4fa875b Merge branch 'master' into mth57--FONTSAMPLER_fix_labels_ColumnMajor_selectable 2025-12-29 11:26:58 -08:00
Matt Heffron
50ab6599ae Add to DEFINE-RECORD expansion providing of arglist info for generated macros. (#2415)
**NOTE:** This uses the function `IL:CLSMARTEN` which is from the file `CLSMARTARGS`.
The file `CLSMARTARGS` isn't loaded until almost immediately **after** `XCL-EXTRAS`.
There are no uses of `DEFINE-RECORD` in making the `lisp.sysout` loadup, so this _ought_ to be safe, but this must be verified!
2025-12-29 11:12:58 -08:00
rmkaplan
721bcecbc0 #2353Remove vacuous (BYTESIZE) from DIRECTORY LENGTH column (#2431)
Remove vacuous {BYTESIZE) from DIRECTORY LENGTH column
2025-12-29 11:09:44 -08:00
Matt Heffron
a4571dd83a Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-12-29 11:05:35 -08:00
Matt Heffron
3673f926f1 Add parameter to FontSample to enable excluding output of sheets that contain only SLUGs, i.e., no glyphs. Defaults to NIL == don't exclude. 2025-12-26 16:41:46 -08:00
Matt Heffron
9b44d24910 Merge branch 'master' into mth57--FONTSAMPLER_fix_labels_ColumnMajor_selectable 2025-12-26 16:00:12 -08:00
Matt Heffron
814de5b032 The SASSOC macro was actually doing ASSOC (#2420)
The SGETMULTI macro was calling the expansion function for GETMULTI, so it was using ASSOC instead of SASSOC
2025-12-22 11:08:11 -08:00
rmkaplan
82c9cd3d94 The SASSOC macro was actually doing ASSOC 2025-12-21 20:45:10 -08:00
Matt Heffron
32c52cd539 Fixed unloaded charset didn't display.
Checking for charset *known* to be EQ to the SLUG charset, didn't verify that the font *had* a SLUG charset, so was comparing to NIL, which excluded *all* unloaded charsets.
2025-12-09 14:06:38 -08:00
Matt Heffron
2effafc5fb Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-12-08 23:09:48 -08:00
Matt Heffron
fd7f50c56f Merge branch 'master' into mth57--FONTSAMPLER_fix_labels_ColumnMajor_selectable 2025-12-08 23:09:30 -08:00
Matt Heffron
16f4e24988 Fixed glitch in SPREADFONTSPEC macro, for Masterscope (#2410)
Fixes #2409
2025-12-08 23:08:43 -08:00
Matt Heffron
4706af1a13 Make the layout orientation, ColumnMajor or not, be selectable.
Fix the row/column labels to correspond to ColumnMajor selection.
2025-12-08 22:36:02 -08:00
rmkaplan
570f5e3bfc Fixed glitch in SPREADFONTSPEC macro, for Masterscope 2025-12-08 22:22:42 -08:00
Matt Heffron
c496805cac Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-12-08 12:19:37 -08:00
Matt Heffron
71894e9b54 Make CHARSETENCODING and FONTCHARENCODING values of CHARSETINFO and FONTDESCRIPTOR, respectively, explicitly be MCCS 2025-12-08 12:18:35 -08:00
Matt Heffron
4e510f89db FontSampler sample sheet display in column major order. (#2406)
FontSampler sample sheet display in column major order.
Added alternative CharacterSets designations.
Updated documentation.

Resolves #2273
2025-12-08 11:51:51 -08:00
Matt Heffron
e530304754 Merge branch 'master' into mth56--FontSampler_column_major_order 2025-12-08 11:51:36 -08:00
rmkaplan
e7bf6e0138 FONT: eliminate hyphen INFILEPs for font lookup (#2405)
* FONT: eliminate hyphen INFILEPs for font lookup

* SPREADFONTSPEC using FONTSPEC declaration
2025-12-08 11:45:47 -08:00
Matt Heffron
bed9819009 Correct documentation re: sample sheet in a window. 2025-12-05 16:37:48 -08:00
Matt Heffron
d2b1726d8d Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-12-05 11:18:54 -08:00
Matt Heffron
87e8f2dc21 Display in column major order.
Added alternative CharacterSets designations.
Updated documentation.
2025-12-05 11:13:28 -08:00
rmkaplan
e43fb61bee Rmk140 Sketch uses new font interfaces (#2358)
* 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
2025-12-04 17:31:47 -08:00
Matt Heffron
ba8d9b4461 LOOP preposition INTO fixed (#2401)
cl::symbol-macrolet had mapcar arguments in Interlisp order, not CL order.
2025-12-03 16:05:08 -08:00
Matt Heffron
c25da55775 Removed obsolete/lispusers/READ-BDF-old/READ-BDF* 2025-12-02 16:24:00 -08:00
Matt Heffron
27d4e7aab2 More bugs discovered and fixed.
(This needs regression tests. "Harmless" edits aren't!)
Documentation review changes.
2025-12-02 16:13:26 -08:00
Matt Heffron
b5ccfdc4e7 Fixed incomplete description in documentation.
Changed parameters for BUILD-COMPOSITE to simplify, and enable keyword :VERBOSE parameter.
Added some VERBOSE progress messages.
2025-12-01 23:39:59 -08:00
Matt Heffron
5a0a9dfd6f Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-12-01 21:18:18 -08:00
Matt Heffron
f0067ffa1d Really revert BACKGROUND-YIELD to CAUSEINTERRUPT until Maiko fixed (#2397)
I'm not sure what I did wrong with PR #2396 but it didn't revert
lispusers/BACKGROUND-YIELD(.LCOM).

I did what I thought was the same process, but it seems to have picked
up the right files this time.
2025-12-01 18:45:24 -08:00
Larry Masinter
140f76216c Really revert BACKGROUND-YIELD to CAUSEINTERRUPT until Maiko fixed 2025-12-01 16:06:07 -08:00
Bill Stumbo
6f06621835 Remove markdown from titles and other minor cleanup (#2394)
* Update .github/ISSUE_TEMPLATE/what_people_are_saying.yml 
Markdown in titles is not rendered. --  Remove markdown from titles and other minor cleanup
2025-12-01 15:11:32 -08:00
Larry Masinter
568621ef39 Relegate old primer to history (#2385)
* Relegate old primer to history

* Old primer converted to HTML also removed
2025-12-01 15:07:07 -08:00
Larry Masinter
9ebcd6827c APPS button points to new primer (#2386) 2025-12-01 15:06:15 -08:00
Larry Masinter
ebcf361d3d lmm revert causeinterrupt for now (#2396) 2025-12-01 14:45:36 -08:00
rmkaplan
77562ad954 change loadups/branches to loadups/tagged in .gitignore (#2392) 2025-12-01 11:50:29 -08:00
Matt Heffron
5620e591b5 Merge branch 'master' into mth53--Construct_composite_font_from_multi_BDF_files 2025-11-30 17:51:02 -08:00
Matt Heffron
a8a427597f Significant restructuring:
Removed WRITE-BDF-TO-DISPLAYFONT-FILE (i.e., no STRIKE format files).
No multiple-values returned. Instead, use LIST when appropriate.
BDF-TO-CHARSETINFO is now IDEMPOTENT w.r.t. the GLYPHS.
Move resolution and defaulting of FAMILY, FACE, SIZE, ROTATION, DEVICE from WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE to BDF-TO-FONTDESCRIPTOR.
Keep the MCCS chars present BITMAP in the BDF-FONT structure, instead of needing to schlepping it around separately.
Abstracted testing/setting the MCCS chars present bits to CHAR-PRESENT-BIT (mimicking BITMAPBIT).
Added COUNT-MCHARS to know how many MCCS chars are marked in the BITMAP as present.
READ-BDF now handles when UTOMCODE? returns multiple mappings, and creates the appropriate duplicate GLYPHS with different MCCS char codes.
READ-GLYPH doesn't create an empty BITMAP for spacing glyphs.

Use font code changes:
Set (CHARSETINFO CHARSETNO).
Set (FONTDESCRIPTOR FONTSLUGWIDTH).
2025-11-30 17:46:12 -08:00
rmkaplan
097f346c3b Rmk143 INITVARS command for MEDLEY-INIT-VARS, FLUSHFONTCACHE (#2383)
* 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
2025-11-30 09:14:22 -08:00
Bill Stumbo
17b6aae755 Bs13 create primer issue template (#2387)
An issue template for the new Primer. Asks for a title, type of problem,
location in the document, description and provides room for a suggested
fix.
2025-11-29 08:36:31 -05:00
Bill Stumbo
5bca03d81e Resolve review feedback. 2025-11-28 08:28:12 -05:00
Bill Stumbo
fbe98dd044 Change additional information to textarea 2025-11-28 00:46:21 -05:00
Bill Stumbo
d30584cc29 Fix syntax errors 2025-11-28 00:44:13 -05:00
Bill Stumbo
40ac00d38c Initial version of issue template for the new Primer 2025-11-28 00:34:42 -05:00
Matt Heffron
b10d90b42f More progress on composite files.
WRITE-BDF-TO-DISPLAYFONT-FILES is deprecated (but symbols imported from IL: only for use there are not yet removed from :IMPORT-FROM)
2025-11-19 22:07:50 -08:00
Larry Masinter
696d34cb9d Add BACKGROUND-YIELD to Lisp.sysout (and thus to FULL.SYSOUT) so you don't need to load it in INITs. (#2357)
* Add BACKGROUND-YIELD to Lisp.sysout (and thus to FULL.SYSOUT) so you don't need to load it in INITs.
* remove CAUSE-INTERRUPT subr call; doesn't add value
2025-11-18 11:17:46 -08:00
rmkaplan
0fdcbe0590 Extend GITFNS/COMPAREDIRECTORIES so that the See and Compare commands work after files have been rearranged (#2331)
* COMPAREDIRECTORIES and GITFNS keep information for seeing and comparing even after files have moved
2025-11-17 13:32:50 -08:00
rmkaplan
9d2809028d Fix Tedit promptwindow overlap when given a title-less window (#2375)
Fix promptwindow overlap when given a title-less window
2025-11-17 13:31:59 -08:00
Matt Heffron
30ceada587 Merge branch 'master' into mth53--Construct_composite_font_from_multi_files 2025-11-17 10:51:43 -08:00
Matt Heffron
f048076a91 Next phase of BDF to MEDLEYDISPLAYFONT - in progress. 2025-11-17 10:48:15 -08:00
Matt Heffron
defd68a892 READ-BDF initial changes for XCCS to MCCS (#2360)
* Verbose mode (READ-BDF) was implemented incorrectly - fixed
* Cleanup DEFPACKAGE in source file using :IMPORT-FROM, and fewer imports.
* Various renaming for consistency with XCCS -> MCCS changes.
* Use IL:FONTSPEC record instead of using FIRST, SECOND, etc.
* Fix the parsing of IL:FONTSPEC to use COMPRESSED instead of incorrect CONDENSED.
* Zero-width "image" with zero-width "escapement" GLYPHS now get put into NOMAPPINGCHARSET.
* Add (FILES (SYSLOAD) SYSEDIT) under existing (DECLARE: EVAL@COMPILE DONTCOPY ...)
2025-11-17 10:44:23 -08:00
Matt Heffron
0be9efd6ca Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-11-14 14:11:38 -08:00
rmkaplan
428aac56ea TEDIT.INSERT ends with a point selection (#2371) 2025-11-14 10:09:46 -08:00
Matt Heffron
0ffa40807d Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-11-07 22:07:42 -08:00
Matt Heffron
3410e3db62 Cleanup DEFPACKAGE using :IMPORT-FROM, and fewer imports.
Various renaming for consistency with XCCS -> MCCS changes.
Use IL:FONTSPEC record instead of using FIRST, SECOND, etc.
Fix the parsing of IL:FONTSPEC to use COMPRESSED instead of incorrect CONDENSED.
Zero-width "image" with zero-width "escapement" GLYPHS get put into NOMAPPINGCHARSET.
Add (FILES (SYSLOAD) SYSEDIT) under existing (DECLARE: EVAL@COMPILE DONTCOPY ...)
2025-11-07 21:47:39 -08:00
Frank Halasz
e4641d8515 Lispusers package KINETIC: add CLOSEFN to Kinetic window so that kinetic activity stops and window closes when CLOSEW is called .. (#2351)
* Add a CLOSEFN to KINETIC window that forces the kinetic to stop and exit when closew is called.

* Reset the window close flag after window is closed so that can repeatedly close and open  the KINETICWINDOW.
2025-11-07 17:48:24 -08:00
Matt Heffron
17292d3ea1 Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-11-05 09:53:18 -08:00
rmkaplan
72251e34a6 Fix SLASHIT bug (#2356) 2025-11-04 16:08:26 -08:00
rmkaplan
eb14868208 Rmk138 MCCS stragglers (#2332)
* ATBL:  Use :MCCS instead of :XCCS for old-interlisp files

* AOFD:  put MCCS in comment, for cleanliness
2025-11-03 14:54:31 -08:00
Matt Heffron
2d91426dc1 Add :IMPORT-FROM option to DEFPACKAGE (#2335)
* 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.
2025-11-02 20:14:07 -08:00
Matt Heffron
fa81f276d9 Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-10-29 15:29:27 -07:00
rmkaplan
aae53a700f Adjustments to GITFNS (#2321)
prc status is C if changes requested, prc comparison runs in its own process, initial changes for gwc to treat the clone as UNIX, not DSK, so branch-switching doesn't cause files from other branches to pile up.

* COMPAREDIRECTORIES: don't fail on empty directory

* Bug in slashit

* gwc copies to UNIX--doesn't track Medley version numbers when it copies to the clone
2025-10-27 12:12:20 -07:00
rmkaplan
54f8b889b9 Rmk131 Mapping MCCS filenames to (Mac?) UTF-8 file names (#2320)
* 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
2025-10-27 11:54:56 -07:00
rmkaplan
8d0011ce2c EDITFONT bug fix--compatibility with new FONT conventions (#2323) 2025-10-27 11:22:28 -07:00
rmkaplan
87b3ee3134 WHICHKEY returns the keynumber as well as the keyname, for convenience (#2322)
WHICHKEY returns the keynumber as well as the keyname, for convenience

* Added documentation
2025-10-27 11:21:46 -07:00
rmkaplan
1ff49b58fe Update MODERNIZE.TEDIT (#2324)
Tedit reference is no longer applicable
2025-10-27 11:21:01 -07:00
rmkaplan
ac570f4b06 TEDIT: Better heuristic estimate of initial region, better management of margin bar (#2326)
* Estimates suggested width for unformatted documents from the width of the first 20 lines
* Recycled regions satisfy minimum and maximum size specifications
* Fine tuning:  suggests recycled no bigger than 90% of screen, no prompt message if old region reused
2025-10-27 11:20:33 -07:00
rmkaplan
82fc95ce18 rmk122--Next round on fonts and MCCS (#2280)
* 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.
2025-10-20 17:17:34 -07:00
Frank Halasz
54353a4bef Fix Issue #2285 (partial): Add ghostscript to cygwin install to support PDFSTREAM (#2292)
Add ghostscript to cygwin install
2025-10-20 10:42:10 -07:00
rmkaplan
34531738d5 Restore files that got nulled out (#2317) 2025-10-17 22:38:47 -07:00
Matt Heffron
61ba8b8f5c Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-10-13 17:39:50 -07:00
Matt Heffron
e69b852b6b Merge branch 'master' into mth49--some-errors-parsing-BDF 2025-10-13 17:37:00 -07:00
rmkaplan
f6106d7b0c EDITINTERFACE--ED searches for symbols, no error when declining a loadfns (#2301)
* 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
2025-10-06 19:58:04 -07:00
Matt Heffron
43b11b2860 Check that a MENU has ITEMS that is LISTP before trying to display/use it. (#2309)
Checking added to FNS: ADDMENU, CHECK/MENU/IMAGE, UPDATE/MENU/IMAGE, and
MENU.
This resolves #2306
2025-10-06 11:21:50 -07:00
rmkaplan
2af7324fff CLIPBOARD passes file to xclip (windows) (#2297)
* 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
2025-10-06 10:39:33 -07:00
rmkaplan
60dcbe2933 Add function COMPILEFILETYPE (#2304) 2025-10-03 22:09:21 -07:00
Matt Heffron
4d6aa38b8b Check that a MENU has ITEMS that is LISTP before trying to display/use it.
Checking added to FNS: ADDMENU, CHECK/MENU/IMAGE, UPDATE/MENU/IMAGE, and MENU.
2025-10-02 18:00:08 -07:00
rmkaplan
69832c5db0 COMPILE-FILE? wasn't returning the right value for FILETYPE CL:COMPILE-FILE (#2300) 2025-09-29 12:31:15 -07:00
Paolo Amoroso
2cb8b51c94 Remove duplicate line of code (#2295)
Fix issue #2226 to remove a duplicate line of code that's potentially
confusing and ambiguous.
2025-09-25 08:14:56 +02:00
rmkaplan
17515ef441 Make sure TEDIT backing files close on error (#2284)
Make sure backing files close on error
2025-09-09 23:44:18 -07:00
rmkaplan
83bbf9e4c0 Update HIPPO18-MRR-C0.DISPLAYFONT (#2278) 2025-09-08 09:27:30 -07:00
rmkaplan
1a8a5ca90e Fix TEDIT object insertion (#2279) 2025-09-07 22:15:47 -07:00
rmkaplan
2961670d7d Qualify record names in MASTERSCOPE COMPAREDIRECTORIES TTYIN (#2270)
To avoid conflicts when creating fuller.database
2025-09-05 08:46:15 -07:00
rmkaplan
0206fb6f43 Rmk120 move press to obsolete (#2274)
* 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
2025-09-03 23:14:47 -07:00
Paolo Amoroso
95e015329d Update the guidelines for project contributors (#2272)
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>
2025-09-01 20:18:01 +02:00
rmkaplan
60e0044870 EDITFONT: Column-major order to match XCCS and Unicode tables (#2271)
* 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
2025-08-31 18:17:23 -07:00
Larry Masinter
1df0e1b17e Fix MEDLEYDIR to handle filename if given (#2268) 2025-08-24 04:02:12 -07:00
rmkaplan
90fdcb9d56 Rmk121 Modernize the EDITBM window (#2265)
* 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.
2025-08-21 10:43:24 -07:00
Frank Halasz
1968021bb4 Update loadup and medley scripts to use "tag" instead of "branch"; add ability to completely delete tagged loadups rather than just thin them (#2249)
* 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
2025-08-20 11:00:53 -07:00
rmkaplan
ec16fafeac Fix glitches in Gacha displayfonts (#2255)
Take out the goofy glyph at character 0 in Gacha 12, add underscores at 30Q for Gacha 8 and 10, and also add updated Medleydisplayfont for Gacha 10.
2025-08-20 10:58:24 -07:00
rmkaplan
c3a833e5d0 EDITFONT minor update: apply CHARSET.DECODE to charset argument (#2262) 2025-08-19 15:16:38 -07:00
rmkaplan
fc26d21cc2 Delete DFILE--basically content-free (#2252) 2025-08-18 22:49:35 -07:00
rmkaplan
287b10c9c3 Moving JAPANESE to library adding tiny documentation file (#2253) 2025-08-18 22:49:05 -07:00
rmkaplan
f004d43ef1 Extensions to MULTI-ALIST especially for PLACE (#2261)
* Extensions to MULTI-ALIST especially for PLACE

* Decided to add FETCHMULTI with computed keys parallel to GETMULTI
2025-08-16 13:46:07 -07:00
rmkaplan
74f518ca02 Tedit PLOOKS cleanup plus default paralooks (#2259) 2025-08-16 13:45:28 -07:00
rmkaplan
8fa61304a3 Updated EDITFONT for FONT compatibility and robustness (#2257)
Updated for FONT compatibility and robustness
2025-08-16 13:45:00 -07:00
rmkaplan
4fef217c45 Remove the LEAVETTY from the PF-TEDIT Tedit window (#2260) 2025-08-15 13:42:57 -07:00
rmkaplan
92a3cea0eb Add charset functions in LLREAD, move IOCHAR a little bit earlier (#2256)
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.
2025-08-15 09:49:21 -07:00
rmkaplan
a39e3d9dc5 Updated TMAX to separate window vs textstream properties (#2254)
* Updated TMAX to separate window vs textstream properties

* missed one
2025-08-14 23:48:51 -07:00
Larry Masinter
0469bd2820 change RING to HRING to avoid record name conflicdt (#2258) 2025-08-14 20:01:59 -07:00
rmkaplan
a9618e4aaf Rmk103 font and related code updates (#2216)
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.
2025-08-13 09:59:37 -07:00
rmkaplan
9c93b27d79 Move lispusers/PS-SKETCH-PATCH to obsolete/lispusers/ (#2248)
Incompatible with current font interface, not loaded and sketch seems to work fine without it
2025-08-11 12:20:11 -07:00
Larry Masinter
e8c5ba90f3 update PICK to remove old comment. PICK is still just a hack, incomplete (#2247) 2025-08-11 11:56:48 -07:00
Matt Heffron
305c419b1d WHERE-IS error handling improvement (#2235)
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
2025-08-11 11:56:00 -07:00
Matt Heffron
ea087f7a4e Verbose mode implemented incorrectly 2025-08-08 22:18:44 -07:00
rmkaplan
37aef55990 SEE-PDF returns the file name, not T (#2237) 2025-07-31 09:06:37 -07:00
Matt Heffron
4019578944 Update lispusers module INSPECTCODE-TEDIT for changes to Tedit. (#2224)
* 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>
2025-07-30 16:02:12 -07:00
rmkaplan
3692c8f1e6 Removed a call to CENTRALWINDOW in Tedit's modernized buttoneventfn (#2223)
Uses uses Tedit's own knowledge of its window layout.  Test case is Lafite's mail scavenger
2025-07-30 15:42:59 -07:00
rmkaplan
bc7269e3c4 Inspectcode scrolls, has the correct window title (#2222)
* 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
2025-07-30 15:42:20 -07:00
rmkaplan
10de55af05 TALK files were moved to lispusers/talk/ but never deleted (#2218)
These files were moved to lispusers/talk/ but never deleted
2025-07-26 23:20:29 -07:00
rmkaplan
840f8afb51 Move all the proofreader and dictionary-related files to lispsuers/proofreader/, with hyphen names (#2220)
Move all the proofreader/dictionary files to a proofreader subdirectory
2025-07-23 11:09:59 -07:00
rmkaplan
5bc05caba5 Rmk100 tedit catch up a few more fixes (#2204)
* 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
2025-07-15 15:02:40 -07:00
rmkaplan
cad0143209 Rmk99 cleanup display fonts (#2203)
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/.
2025-07-14 11:43:11 -07:00
Frank Halasz
d6cb62a354 Response to Issue #2198: loadup and medley scripts can now store/retrieve loadup files to/from named subdirectories of MEDLEYDIR/loadups (#2200)
* 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
2025-07-14 10:28:26 -07:00
Matt Heffron
88a7fa5480 BUTTONS - Correctly wait for edit of button to complete before updating (#2207)
Fix editing of button...correctly wait for edit to complete before updating the button itself.
Add (FIND-BUTTON label) function.
Minor updates to documentation.
2025-07-08 10:37:51 -07:00
rmkaplan
63d5849a15 Rmk88 split screen updates and color, eliminate reliance on STREAMHINT xpointer (#2119)
* 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
2025-07-03 00:06:10 -07:00
Frank Halasz
d6253dbffd Fix online.interlisp.org/downloads/medley_downloads.html to reflect new wsl1 versus wsl2 ,releases (instead of just wsl) (#2197)
Add the WSL1 vs WSL2 distinction to the medley_downloads page
2025-06-30 15:08:42 -07:00
InterlispMachineUser
ba4250d8fe Updated github actions to add wsl1-specific builds to the releases (#2182)
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.
2025-06-16 22:26:47 -07:00
InterlispMachineUser
654a925074 Add a --vnc flag to loadup script, used to tell loadup scripts to run Medley with the --vnc option. (#2181)
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.
2025-06-16 22:26:02 -07:00
Frank Halasz
357406e7d8 Merge branch 'master' into fgh_loadup-vnc
Signed-off-by: Frank Halasz <frank@halasz.org>
2025-06-16 22:18:13 -07:00
Matt Heffron
72032afdde Fix POSTSCRIPTSTREAM to refine or default values for COLOR. (#2177)
* 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.
2025-06-16 20:49:27 -07:00
Frank Halasz
87fafe901e Medley script currently forces -vnc when using WSL1. This PR removes this infelicity. (#2180)
IMedley script currently forces -vnc when using WSL1.  This PR removes this infelicity. (#2180)
2025-06-16 20:24:54 -07:00
Frank Halasz
7f3a3d1f81 Fix Issue #2148: loadups fail on WSL1 with Xvnc server errors - fixed by adding new flag to medley script, use this flag in loadup script (#2163)
* 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.
2025-06-16 20:23:40 -07:00
rmkaplan
30af8ea5cb Clicking on the graph after the main window has closed does't break (#2146) 2025-06-16 11:56:33 -07:00
rmkaplan
d26e29f0d0 Collect TALK files into lispusers/talk/ (#2147)
* 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
2025-06-16 11:46:00 -07:00
Arun Welch
c5dd583468 Fixed issue 1883, error in printing class from CLOS browser (#2187) 2025-06-15 18:08:53 -05:00
Arun Welch
356fd62478 Merge branch 'master' into akw-fix-1883-clos-browser 2025-06-10 19:03:17 -05:00
Arun Welch
60195c4f31 Fixed issue 1883
Fixed issue 1883, error in printing class from CLOS browser
2025-06-10 18:50:06 -05:00
rmkaplan
499e3ab77a PDFSTREAM opens the scratch stream (#2184) 2025-06-09 20:40:16 -07:00
Frank Halasz
145d240346 Return buildLoadup.yml to its normal state after mods for testing 2025-06-04 16:56:45 -07:00
Frank Halasz
a398d40630 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. 2025-06-04 16:47:24 -07:00
Frank Halasz
90326613d1 Fix up testing version of buildLoadup.yml. Will be reverted to original after testing is done. 2025-06-04 12:33:00 -07:00
Frank Halasz
96945e63e3 Fix typo in buildLoadup.yml 2025-06-04 12:12:57 -07:00
Frank Halasz
e686790bc1 Fixing up control files for wsl in making of debs 2025-06-04 12:06:41 -07:00
Frank Halasz
e09feb7b6a Update buildLoadup workflow to handle new wsl1 maiko package. Actual work is in installers/deb/build_deb.sh. THere will now be wsl1 and wsl2 packages instead of just wsl packages. 2025-06-04 11:15:39 -07:00
Frank Halasz
5534e85a12 IN medley script, remove forcing wsl1 to use vnc 2025-06-03 20:03:50 -07:00
Frank Halasz
38f417907a Fix Issue #2155 by reordering in the loadup script the component loadups and when their outputs are copied into loadups dir. (#2160)
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.
2025-06-03 17:25:10 -07:00
Frank Halasz
04d98d232f Fix Issue 2139 (large parts of Medley tree not showing up in files.interlisp.org) and more improvements to files.interlisp.org (#2156)
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.
2025-05-26 10:18:10 -07:00
Frank Halasz
9dc408c81a Expand the (PSEUDOHOSTS) function so that it can be used cleanly with RESETSAVE (#2154)
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.
2025-05-22 17:49:05 -07:00
Frank Halasz
330c5a01a7 Some polish on the new loadup scripts - dribble files and lock overrides (#2157)
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.
2025-05-19 09:48:39 -07:00
Frank Halasz
2499b3546e Fix Issue#2151 MEDLEY-INIT-VARS now resets the LI pseudohost whenever it resets the value of LOGINHOST/DIR (#2152)
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.
2025-05-19 09:46:07 -07:00
rmkaplan
7ad65469b1 GITFNS gwc looks at all subdirectories, like prc (#2131)
Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2025-05-14 10:11:29 -07:00
rmkaplan
9feba7f7c7 JSON-GET indexes arrays with integer attributes (#2140) 2025-05-12 12:15:47 -07:00
Matt Heffron
c1c2c757b9 POSTSCRIPTSTREAM: Enable color names and RGB triples (#2127)
* 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.
2025-05-09 22:31:11 -07:00
Matt Heffron
0f8959a074 Fix error in lsee RegEx to replace ^ with ↑ (#2138) 2025-05-07 07:59:46 -07:00
Matt Heffron
30872f62e7 READ-BDF Fix incorrect detection of Italic font slope from BDF font metadata. (#2132)
Fix incorrect detection of Italic font slope from BDF font metadata.
2025-05-01 06:45:29 -07:00
rmkaplan
40e3edc291 Remove DIRECTORYNAMEP check in EDITCALLERS (#2123)
So that (EDITCALLERS 'xxx 'UNICODE) works
2025-04-28 17:49:43 -07:00
Larry Masinter
6c025089c1 Rmk87 minor updates EXAMINEDEFS, REGIONMANAGER, and TEDIT-PF-SEE (#2113)
* EXAMINEDEFS uses the Tedit atom-bound table for word selection
* REGIONMANAGER gives client better control over region recovered 
* TEDIT-PF-SEE: Meta-T defaults to showing the definition in the curren… 
* REGIONMANAGER and GITFNS documentation update
2025-04-28 13:09:30 -07:00
Frank Halasz
f53da7518f Fix Issue #1848: Medley script (and hence loadup script) now checks for lde (ldeinit) on PATH (#2129)
In medley script(s), when executing maiko (lde or ldeinit) check if its on the PATH before looking for it in MEDLEYDIR/maiko or MEDLEYDIR/../maiko.
2025-04-28 13:02:16 -07:00
Matt Heffron
39ebd40da4 READ-BDF: Handle newly encountered cases in BDF files. (#2108)
* Better handling of a glyph with ENCODING of -1. 
I treat it as the _slug_ glyph, instead of the _default_ of a solid block.

* Handle scrambled bitmaps issue #2109.
Glyphs with zero width bitmap *and* zero advance (_escapement_) caused miscalculated glyph offsets into the CHARSETINFO bitmap.

* Allow and ignore COMMENT lines preceding the STARTFONT line.
Add error checking for extracting font FAMILY, SIZE, FACE, etc. from the BDF-FONT object.
Add recommendation to documentation to write the DISPLAYFONT files to a directory separate from the system's IL:DISPLAYFONTDIRECTORIES locations.

* Account for glyphs with a negative initial offset.

* Add VERBOSE optional parameter to READ-BDF to report font internal FAMILY, FACE, etc.
Change &OPTIONAL parameters of WRITE-BDF-TO-DISPLAYFONT-FILES to &KEY to simplify calling. (No need to remember the order.)
Add CHAR-SETS and WRITE-UNMAPPED parameters to WRITE-BDF-TO-DISPLAYFONT-FILES to allow some level of control of which DISPLAYFONT files are written.
Updated documentation, and added warning note about font's FAMILY containing any digits.
2025-04-28 11:40:08 -07:00
Larry Masinter
ddbc8633eb LOADUPFULLFONTS: don't choke on extra index.html files in postscript font directory (#2117)
Co-authored-by: Frank Halasz <frank@halasz.org>
2025-04-26 17:30:43 -07:00
Frank Halasz
a4b9099b80 Extensive loadup scripts revamp (#2111)
This PR is an extensive revamp of the loadup scripts including the following changes:

New omnibus script scripts/loadup which is meant to be the single interface to the loadup system. The man page for this script can be found here: https://online.interlisp.org/downloads/man_loadup.html

The new loadup script allows you to restart the loadup process from any particular stage - init, mid, lisp, full, etc. For example, you can start the loadup from an existing init-mid.sysout and have it run thru creating the full.sysout. The call for this would be: ./scripts/loadup --target full --start mid. (See man page for all options to the loadup script as well as examples of their use.)

In order to facilitate this target/start feature, the loadup workdir has been moved to a single location per MEDLEYDIR, specifically to MEDLEDIR/loadups/build. (Previously, it was different for every invocation in /tmp/loadups-$$)

When restarting the loadup from, say, lisp.sysout, the script will look for the lisp.sysout to start from first in MEDLEYDIR/loadups and then in MEDLEYDIR/loadups/build. If the starting sysout is found in loadups, it will be copied (non-versioned) into the workdir before doing the loadup, overwriting whatever is already there.

There is now a lock (MEDLEYDIR/loadups/build/lock) that prevents concurrent loadups from running (and very occassionally needs to be manually removed).

At successful completion of a loadup run, the created .sysouts and other files are moved into the loadups directory as before (unless the --nocopy option is specified). BUT the build files - including the dribble files - are left in the working directory (i.e., in loadups/build)

The loadup script now supersedes the former loadup-all.sh, loadup-full.sh and loadup-db.sh scripts. But I have left in their place scripts that call the new loadup script with the right options. loadup-all.sh is now just a link to the single loadup script, who's options are (hopefully) a superset of loadup-all.sh.

All of the worker scripts (e.g., loadup-full-from-lisp.sh) have been updated to use better mechanisms to catch and report errors, including the new (LOGOUT T EXITCODE) feature. The main script has been updated to better catch errors in these worker scripts when they do happen.

You can now specify a MAIKODIR for the loadup, either using the MAIKODIR env variable or thru the --maikodir command line option.

All of the loadup scripts have been moved down one level into scripts/loadups. But there are links from the scripts/ directory into the scripts/loadups directory for all of the top-level legacy scripts - loadup-all.sh, loadup-db.sh, loadup-full.sh so that you do not have to change your own scripts unless you need to use some of the new features. More importantly, none of the github workflows need to change right now.

The SYSOUTCOMMITS mechanism had to be changed since there is no guarantee that e.g., lisp.sysout and full.sysout are built on the same commit. So (ASSOC 'MEDLEY SYSOUTCOMMITS) now returns an assoc list of sysouts, e.g., ((INIT "aaa")(LISP "bbb")(FULL "ccc")(APPS "ddd")), showing the commits for the various layers of the loadup.

The new loadup scheme allows different sysouts to be created from different commits, so there is an issue with RDSYS (and RDSYS.LCOM) being out of sync with one or more of the sysout in loadups. RDSYS(.LCOM) are copied into library when ever a loadup of the Init stage completes successfully (unless the -nocopy option is specified). The only way to solve this issue when it arises is to do a complete loadup from starter.sysout to full.sysout (or apps.sysout) to ensure evrything is built on the same commit.
2025-04-26 16:24:04 -07:00
rmkaplan
f4b7e91a68 lispusers/COMMENTHACKS had a bogus 255 byte at end after STOP 2025-04-26 13:31:16 -07:00
rmkaplan
627f359b5e (WHEREIS xx NIL) means (WHEREIS xx '(FNS FUNCTIONS)) (#2112) 2025-04-21 11:47:56 -07:00
rmkaplan
46fe81bf36 REGIONMANAGER and GITFNS documentation update
GITFNS is just formatting, REGIONMANAGER documents the new SAVED-TYPED-REGION feature
2025-04-20 23:05:54 -07:00
rmkaplan
67a3e558f6 TEDIT-PF-SEE: Meta-T defaults to showing the definition in the current file 2025-04-20 22:52:06 -07:00
rmkaplan
37195dc7d9 REGIONMANAGER gives client better control over region recovered at closing
The client can decide that some reshapings don't matter (e.g. Tedit window splits) when recovering the typed region for later reuse
2025-04-20 22:50:51 -07:00
rmkaplan
fe033efe22 EXAMINEDEFS uses the Tedit atom-bound table for word selection 2025-04-20 22:49:05 -07:00
Matt Heffron
1491fa91cc READ-BDF add ability to create FONTDESCRIPTOR and write DISPLAYFONT files (#2015)
* Now can create the FONTDESCRIPTOR with all non-empty charsets.
Can write DISPLAYFONTFILE format ("STRIKE") files for the charsets.
Add ability to use mapping of Unicode charcode to unknown XCCS charcode in the private space.

* Create 2nd FONTDESCRIPTOR for unmapped Unicode to XCCS charcodes, organized by charset-like (8-bit splitting of charcode) of Unicode encoding value.

* Added option to create and write files for RAW FONTDESCRIPTOR which does NO mapping from Unicode to XCCS.
All glyphs are at the Unicode encoding positions.
Any glyphs with Unicode encoding > xFFFF are not included in the FONTDESCRIPTOR or DISPLAYFONT files.

* Fix a bug where I assumed glyph names couldn't be parsed as a number; and a little cleanup.
The linux otf2bdf utility uses the hex of encoding value as the name, which can appear to be a FLOAT and overflow (i.e., 3D39). 
Similar parsing problem fixed and corrected an error message.

* Initial documentation file written.
2025-04-14 12:08:10 -07:00
Matt Heffron
aec7aba530 This addresses the 2 issues #1961 and #2061 in loadup building (#2103)
1961 - RDSYS incomplete path for copying
2061 - delay starting making loadups due to "expensive" operation just to check if connected dir is inside of a git repo
2025-04-14 11:54:23 -07:00
rmkaplan
b0551fb953 Masterscope OUTPUT TEDIT uses atom word-bound table (#2096)
Use atom boundtable for OUTPUT TEDIT
2025-04-14 11:00:40 -07:00
rmkaplan
cd3889874f Rmk85 Tedit distinguish public TEDIT.NTHCHARCODE from private \TEDIT.NTH..., fix screen update bug (#2091)
* Distinguish public TEDIT.NTHCHARCODE... from private \TEDIT.NTHCHARCODE...

* Fix screen-update bug: deleting the character before the first character in a window

* glitch in region code
2025-04-09 11:46:01 -07:00
rmkaplan
78e88e238b Sets EOL convention ANY in case SYSTEM-EXTERNALFORMAT defaults to :THROUGH (#2090) 2025-04-09 11:45:28 -07:00
rmkaplan
58aad924d2 Initial TEDIT window based on Lisp-source width estimate TEDIT.SOURCE.LINELENGTH (#2089) 2025-04-09 11:44:45 -07:00
Larry Masinter
39bf5ba6e5 add LAFITE to fuller.database (#2085) 2025-04-07 11:25:12 -07:00
Larry Masinter
810ac28628 git ignore files produced by HCFILES (#2084)
Co-authored-by: rmkaplan <69548581+rmkaplan@users.noreply.github.com>
2025-04-07 11:09:45 -07:00
rmkaplan
3f5496f593 Use (CHARCODE Meta,0) instead of \KEYBOARD.META in LLKEY (#2094) 2025-04-05 22:19:46 -07:00
rmkaplan
6f44e39101 Remove library/keyboardeditor.tedit, it now resides in library/virtualkeyboards/ (#2092) 2025-04-05 12:33:22 -07:00
rmkaplan
b072b6ef52 TEDITKEY TKDORADO TEDITDORADOKEYS EDITKEYS are obsoleted by new Tedit keybinding architecture (#2088) 2025-04-05 12:32:33 -07:00
rmkaplan
b0c00e0636 Move WHEELSCROLL.xxx characters to Function character set (#2087) 2025-03-31 11:44:19 -07:00
rmkaplan
75666aa979 TEDIT: New architecture for key bindings, plus better suggestions for initial window regions (#2070)
* Implement new key binding architecture for Tedit actions, to make mappings more user-accessible. Includes new Buttons item on Tedit menu.  See TEDIT-RELEASENOTES
*  Prompts for Tedit initial-window region based on document properties
*  More flexible Tedit abbreviations
*  Size + or -  in Tedit character looks go to next available
*  Other bug fixes and code adjustments.
2025-03-31 11:43:13 -07:00
rmkaplan
36a7274390 Remove charset-shifting characternames from XCCS, leaving constants (#2082)
The character names were a mistake
2025-03-28 15:45:11 -07:00
rmkaplan
2a66f76606 Remove charset-shifting characternames from XCCS, leaving constants 2025-03-26 00:04:20 -07:00
Frank Halasz
3d5d96686a Rmk78 IMINDEXto remove obsolete Tedit field dependency (#2073)
Removes dependency on \WINDOW field. Assigned to Frank, for when/if he
gets back to working on the IRM.
2025-03-24 10:41:43 -07:00
rmkaplan
86ddc4b404 GITFNS: Middle-clicking the prc menu brings up the web page (#2077)
Middle-clicking the prc menu brings up the web page
2025-03-24 18:35:15 +01:00
rmkaplan
140415f99c Use TEDITWINDOWP instead of \TEDIT.PRIMARYPANE 2025-03-24 10:33:25 -07:00
rmkaplan
1bdaa63d49 WHEELSCROLL: Put more of the branching logic inside the WHEELSCROLL function, add character names (#2069)
Put more of the branching logic inside WHEELSCROLL, add character names
2025-03-24 10:19:06 -07:00
rmkaplan
88327b8644 Replace Envos with Medley in the lispusers documentation template (#2071)
Envos → Medley in documentation template
2025-03-19 11:57:09 -07:00
Frank Halasz
1d8685e6cb Fix issue #2072 (doHCFILES.yml fails). Also fix unrelated bug in buildReleaseInclDocker.yml workflow that was causing build failure. (#2074)
* Fix Issue 2072: update do_hcfiles.sh to use new rem.cm argument to medley script.  Also update medley script to print out the REM.CM file used (if any).
* Update buildReleaseIncDocker.yml to account for the change on interlisp/online repo from 'master' to 'main' as primary branch
* Do compile.sh after update to medley-run.sh to add REM.CM to printout when using the medley command.
2025-03-19 11:11:16 -07:00
rmkaplan
5e897c50b1 Delete DLIONFNKEYS (#2066)
DLIONFNKEYS created button-images on the screen corresponding to some of
the Dandelion edit buttons for Tedit. EDITKEYS is a newer and better
version of the same functionality, and even that will be replaced by a new internal Tedit keyaction architecture.
2025-03-17 12:15:17 -07:00
rmkaplan
ec03478fcf TEXTSTREAM instead of TEXTOBJ 2025-03-17 12:08:35 -07:00
rmkaplan
5366ae124c Remove dependency on internal TEXTOBJ field 2025-03-17 12:04:27 -07:00
rmkaplan
83c363ad28 Delete DLIONFNKEYS 2025-03-13 20:06:14 -07:00
rmkaplan
97fdcbdfe3 LLREAD: Add character names One, Two... for digits 0, 1 ... (#2060)
Currently, (CHARCODE 1) produces 49, just like (CHARCODE a) produces 97.
That's because CHARCODE.DECODE interprets a single character (that is
not also defined as a cHARACTERNAME) input as exactly that character,
and gets its character code.

But a character name in the charset,charnum format is treated in a
different way. If either part of the name is a number, it is interpreted
as an octal number, to make it easier to match against the XCCS
specifications. So (CHARCODE Meta,1) does not map to the position of
digit 1 in the Meta (currently 1) character set (= 256+49=305), it maps
to 256+1=257. In order to get 305, you have to specify Meta,61 (where 61
is the octal equivalent of 49).

That's rather opaque, and I found that TEDITKEY had a workaround based
on the obscure fact that CHARCODE.DECODE adds 128 for each # it sees in
the beginning of a character name. So ##1 adds 2*128 to 49 to get 305,
corresponding to digit 1 in the Meta character set. But that depends on
the fact that Meta is currently defined as charset 1, it won't work when
we move Meta up to the Unicode/XCCS undefined region of the code space.

This PR adds (Zero 48) (One 49)...(Nine 57) to the initial value of
CHARACTERNAMES in LLREAD, so that 305 for example can be specified as
Meta,One. This is more obvious than Meta,61 and will remain valid when
Meta is moved, unlike the ## hack..
2025-03-12 23:57:07 -07:00
rmkaplan
d9f5bd5957 Merge branch 'master' into rmk73--Add-character-names-for-digits 2025-03-10 23:41:58 -07:00
rmkaplan
a4da0ec553 Update Tedit field names in Lafite (#2034)
Lafite is not in the fuller ms database, so I missed these references in
TEDIT-INDENT.

But note also: there are 2 definitions of the function
\GV.PARSERECIPIENTS1, one on lafite/TEDIT-PRIVATEDL and one on
internal/MAILCLIENT.

The one on TEDIT-PRIVATEDL references the variable ADDRESSPARSERRDTBL,
which is not initialized.
2025-03-10 23:39:21 -07:00
rmkaplan
02411ef3f4 rmk72: Address Tedit Find and Substitute issues reported in #2055 (#2058)
Selection highlighting should be correct if line contains a preceding
diacritic.

Find from expanded menu should work.

Screen and selection should not be garbled after substitute.

I have not yet replicated the break-on-put also reported in #2055
2025-03-10 23:38:30 -07:00
rmkaplan
7242b998c7 LLREAD: Add character names One, Two... for digits 0, 1 ... 2025-03-08 09:59:28 -08:00
rmkaplan
70f0e97886 TEDIT-SELECTION and TEDIT-SCREEN: Selection should take account of diacritics 2025-03-06 20:24:32 -08:00
rmkaplan
6bf26ebadd TEDIT-FIND: Display after substitute should not be garbled 2025-03-06 20:23:39 -08:00
rmkaplan
02031bbf81 TEDIT-MENU: Find should work from expanded menu 2025-03-06 20:22:27 -08:00
rmkaplan
d4b8656803 TEDIT: Fix image object glitch plus minor extensions (#2049)
* Paren error when selection looks set to INVERTED

* Add SET, SHADE, and SHADEHEIGHT properties to TEDIT.SELPROP

* Add QUIET as optional last argument to TEDIT.FORMAT.HARDCOPY, suppress prompt-window message

* COLLECT? argument to TEDIT.MAP.OBJECTS can specify what kind of information to collect.
2025-03-05 12:27:50 -08:00
Larry Masinter
0aa52aa8cd update LispUsers xerox-to-xbm to at least be cl:compiled (DFASL not LCOM) and TXT -> TEDIT. (#2047) 2025-03-03 10:40:31 -08:00
Frank Halasz
ebe96bc7b0 Fix Issue #2050 - loadup script failures if Medley is not a .git directory (#2052) 2025-03-03 10:27:10 -08:00
rmkaplan
98c481ba1a PDF to {NULL} only does postscript part (#2045)
* PDF to {NULL} only does postscript part

* added TRUEFILENAME in NULL case
2025-02-26 12:48:26 -08:00
Frank Halasz
58f8fbdc53 Restore REM.CM to be separate file from greet file; Enable chaining of medley runs using REM.CM file (#2027)
- 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.
2025-02-26 09:52:01 -08:00
rmkaplan
3aa58b6374 TEDIT: Align paralooks with charlooks, recompile all files, miscellaneous updates (#2021)
* 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
2025-02-24 21:24:53 -08:00
Frank Halasz
0400c1ec7f Fix Medley builds on github actions - currently breaks due to error in creating Docker image for arm64. (#2039)
In github actions, remove build of Medley Docker for arm64 since the Dockerfile_medley build fails when loading tigervnc-standalone-server for arm64.  Arm64 docker image has never been used anyway.  It was meant for running online on arm64 servers, but we have never done that and have no plans to do so.  So just getting rid of arm64 docker image rather than trying to fix it.
2025-02-24 09:19:54 -08:00
Matt Heffron
736ac51a8c FONTSAMPLER - Enable option to use HEX vs OCTAL on page info (#2018)
* Enable optional to use HEX vs OCTAL for charset number (in page title) and grid row/column titles.

* Fix typos in documentation.
2025-02-21 16:05:41 -08:00
rmkaplan
c7f08aade9 forgot this one 2025-02-15 17:53:46 -08:00
rmkaplan
c0e0aea80a Remove a few more dependencies on Tedit internals 2025-02-15 17:39:40 -08:00
rmkaplan
f56033fca0 Change field names 2025-02-15 09:27:28 -08:00
rmkaplan
ae52a44231 lispusers/DOCUMENT cleaned up and working with current Tedit (#2023)
Cleaned up lispusers/DOCUMENT
2025-02-09 22:07:41 -08:00
Matt Heffron
fbf0a98aec Yet another attempt to make a clean PR (compared with broken PRs #2007 & #2008 & #2013) (#2014)
Enable **FONTSAMPLER** to display glyphs from **.DISPLAYFONT** (bitmap
font) on non-`DISPLAY` stream (e.g., **PDF**)
Change to match 2025-02-03 discussion on Ascent/Descent
per-`CHARSETINFO` _vs._ whole `FONTDESCRIPTOR`.
(Use whole `FONTDESCRIPTOR`.)
2025-02-04 17:55:35 -08:00
Matt Heffron
87d3abc632 Yet another attempt to make a clean PR (compared with broken PRs #2007 & #2008 & #2013) 2025-02-04 17:22:54 -08:00
Matt Heffron
1f317d34ef Obsolete and rename FONTSAMPLE no R (#2010)
* Add back character sets that had characters outside 16 bit plane

* Update XCCS-353=SYMBOLS3.TXT

Update title line

* Update UNICODE.TEDIT

* Fix charset names

* Reorganized the tables, added requested interfaces

* Use a single hash

* Top-level array branch beats a single hash

* cleanup UNICODE.TRANSLATE macro

* Fix slug in outcharfn

* Remove a stray line

* Another try, would work for raw

* Remove duplicates, redo hashing

* Getting complete maps in both directions

* Initializing

* Only the latest file versions

* Add back gothic mappings

* Enable FONTSAMPLER to display glyphs from DISPLAYFONT (bitmap font) on non-DISPLAY stream (e.g., PDF)
Added .LCOM to repository.

Corrected PR.

* Relocate FONTSAMPLE files to obsolete.

* Files renamed. Internal names and documentation were NOT updated.

---------

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2025-02-03 12:30:53 -08:00
rmkaplan
86f5aadf95 Tedit: eliminate some CHARLOOKS fields, change Charlooks menu, add pagenum object, a few cleanups (#2004)
* CHARLOOKS fields, Charlooks menu, pagenum object, a few cleanups

* Add TEDIT-DEBUG

* Glitch in redo

* Select left of EOL
2025-02-03 12:14:49 -08:00
rmkaplan
fc36176134 fix GITFNS prc command (#1994)
* fix prc command

* A little cleaner

* Match also on the pull-request number

* Oops, remove HELP
2025-02-03 12:07:58 -08:00
Larry Masinter
1e47741a71 typo: chmod +x instead of -x for post-checkout script (#2006) 2025-02-03 12:06:44 -08:00
Matt Heffron
40d18fff6e Fix unbound vars errors in WRITESTRIKEFONTFILE from earlier edit. (#2003) 2025-02-03 11:58:06 -08:00
Frank Halasz
8323b1fae4 Improved REGIONMANAGER reference coordinates (#1998)
Additional ways of specifying the anchor for the reference (window,
region, position)
2025-02-03 11:14:22 -08:00
Matt Heffron
16e99100f5 Macros for multi-level alists (#1996)
These are macros that I have been using for years to simplify the
storage and retrieval of items in alist structures with arbitrary
numbers of keys. They may prove useful to others.
2025-02-03 11:01:03 -08:00
Matt Heffron
db9d879920 Slightly better progress reporting in LOADUP. (#1974)
Make it clear when files are skipped because they are already loaded.
2025-02-03 10:52:00 -08:00
rmkaplan
907010013e Add back character sets that had characters outside 16 bit plane (#1964)
* Add back character sets that had characters outside 16 bit plane

* Update XCCS-353=SYMBOLS3.TXT

Update title line

* Update UNICODE.TEDIT

* Fix charset names

* Reorganized the tables, added requested interfaces

* Use a single hash

* Top-level array branch beats a single hash

* cleanup UNICODE.TRANSLATE macro

* Fix slug in outcharfn

* Remove a stray line

* Another try, would work for raw

* Remove duplicates, redo hashing

* Getting complete maps in both directions

* Initializing

* Only the latest file versions

* Add back gothic mappings
2025-02-03 10:47:12 -08:00
Matt Heffron
0bc84f97f0 Per review comment from Ron Kaplan, moved constants DUMMYINDEX and MAXCHAR from EDITFONT to FONT. 2025-02-01 12:44:17 -08:00
Larry Masinter
db98ea346b Remove GITFNS.PDF from repo (added by HCFILES ) (#2001) 2025-02-01 10:49:21 -08:00
Matt Heffron
402a861b95 Fix unbound vars errors in WRITESTRIKEFONTFILE from earlier edit. 2025-02-01 10:25:49 -08:00
rmkaplan
6c3f0d8e56 Improved reference coordinates 2025-01-30 22:53:26 -08:00
rmkaplan
6c86838d18 Macros for multi-level alists 2025-01-29 22:57:37 -08:00
rmkaplan
d9090011d4 Add WHICHKEY to lispusers/ (#1987)
* WHICHKEY

* WHICHKEY collects all down keys
2025-01-27 11:54:09 -08:00
rmkaplan
40d2ac394c SEE-PDF searches for PDF file (#1939) 2025-01-27 11:52:31 -08:00
rmkaplan
4873590e22 TEDIT-FNKEYS makes sure that the new caret-point after onechar forward/backward is always LEFT (#1988)
Make sure that the new caret-point is always LEFT

I hope this fixes it
2025-01-27 11:51:05 -08:00
rmkaplan
188895c7e9 Fix a glitch in Tedit screen-update (#1984)
Fixes a screen-update glitch in Tedit
2025-01-27 11:48:53 -08:00
rmkaplan
292a7cd787 Fix typo in VERSIONDEFS (#1990)
Fix typo
2025-01-27 11:45:55 -08:00
rmkaplan
a1a67959d1 Converted EXV to a command exv (#1981)
As requested
2025-01-27 11:44:46 -08:00
Nick Briggs
015868e9a6 Adds STATUS argument to LOGOUT for process exit status (#1978) 2025-01-27 11:32:29 -08:00
Larry Masinter
9f980276bf Add a call to check for orphaned versions after any checkout (#1973)
* Add a call to check for orphaned versions after any checkout

* use == instead of -eq for optional

* Add a scripts/install-repo-checks for things to run after checkout; only this versioning error checked for now
2025-01-25 11:15:27 -08:00
Matt Heffron
ef6a645bf5 Fix move of PSEUDOHOSTS from lispusers to library (#1980)
The files were **copied** from `lispusers` to `library`, and then
modified there.
They should have been **moved** so the git history was preserved.
I replaced these files _with themselves_ by a 3 step process that
_appears_ to have gotten the git history to be correct.
(And the `PSEUDOHOSTS.TEDIT` from `lispusers` was also moved. It had
been left behind previously.)
2025-01-21 10:40:30 -08:00
Matt Heffron
90c723a8c1 Replace with the PSEUDOHOSTS files that were originally modified in the library. This preserves the git history. 2025-01-20 21:11:09 -08:00
Matt Heffron
20ec5c2bc9 Step 2 of move: move the files. 2025-01-20 21:07:28 -08:00
Matt Heffron
ba3a5668bd Step 1 of move: Make a place to move friles from lispusers (delete git's knowledge of PSEUDOHOSTS in library) 2025-01-20 21:04:39 -08:00
rmkaplan
d737f7ec93 Manipulate versions of definitions by their ordinal file numbers (#1931) 2025-01-20 12:40:46 -08:00
rmkaplan
9e6eba2cd9 Clicking See for pdf files will do the ShellOpen (#1930)
* Click See on a pdf file will do the ShellOpen

instead of crashing into Tedit.  prc will inherit this behavior

* Loads PDFSTREAM if not already loaded
2025-01-20 12:40:00 -08:00
rmkaplan
27473e8cae TRUEDEVICE behaves more like \GETDEVICEFROMNAME (#1947)
tries to create a device if it doesn't yet exist
2025-01-20 12:14:18 -08:00
rmkaplan
27d8bffaa9 Commands with OUTPUT TEDIT go to Tedit window (#1932) 2025-01-20 12:06:36 -08:00
rmkaplan
58122db362 Open man page with TEDIT READONLY-QUIET instead of OPENTEXTSTREAM (#1933)
Tedit process enables meta key commands

Find, Open, Documentation
2025-01-20 12:05:47 -08:00
rmkaplan
5eb8a7bd34 Proper error messages for meta-O and meta-D on empty selection (#1944)
* Addresses #1943

* Better prompt messages for meta-O and meta-D

* Cleanup TEDIT.SETSEL

* Meta-O shows menu of types to edit

* Extra variable

* More cleaning of TEDIT.SETSEL
2025-01-20 12:03:20 -08:00
Herb Jellinek
4e11554156 TAB-WINDOWS: A lispusers package that lets you step through open windows (#1789)
Start it running with `(START-TAB-WINDOWS)`.

Bonus debug tool: `(KEY-WINDOW)` starts a process that monitors keyboard
and mouse button events and displays them in a little window.
2025-01-20 10:47:15 -08:00
rmkaplan
0cc21cd46a IMAGEOBJ inspect macro pulls user props to the top level (#1934)
Imageobj inspect macro pulls user props to the top level
2025-01-19 11:31:26 -08:00
rmkaplan
936337d6bb Shakedown of field menu items (#1957)
* Shakedown of field menu items

* Suppress shift-select in menus

* Typo, plus inserting EOL-containing strings

* Fix selection display glitch revealed by DOCUMENT

* Fix arg order, eliminate U-CASE

* U-CASE only if coercing IDENTIFIER from LABEL

* Allow SMALLP for identifiers, INITSTATE for SELECTION

Also a fence-post glitch in paragraph selection

* Fix MB.GET

* TEDIT-MENU:  Right button doesn't invert Marginbar, copying suppressed

* TEDIT-STREAM:  Error if copying an image object that doesn't allow copying

* Missed another LITATOM/SMALLP test on IDENTIFIERS

* Clicking in a menu removes stale promptwindow text

---------

Co-authored-by: Frank Halasz <frank@halasz.org>
2025-01-15 10:52:18 -08:00
Matt Heffron
6bdcb1853d Fix GREET0 off by 1 error. Without changing the file's READTABLE (#1970)
Replaces mth26 branch (PR #1969). This doesn't change the file's
READTABLE.
2025-01-14 16:21:22 -08:00
Matt Heffron
fb7bb25201 Replaces mth26 branch. This doesn't change the file's READTABLE. 2025-01-14 13:34:11 -08:00
rmkaplan
5b37dd09db Rmk32 eol convention for input defaults to ANY, extend OPENSTREAM so that EOL can be specified as an "external format" (#1785)
* 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 6a7e8c3665.

* 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 fa97aa6157.

* Revert "EXTERNALFORMAT macro and function implement EOL detection"

This reverts commit eb098615ed.

* Revert "LCOMS needing to be recompiled for \CHECKEOLC macro and Create STREAM"

This reverts commit 5967452c63.

* Revert "Added DETECTEDEOLCONVENTION to STREAM declaration"

This reverts commit 196f105cf5.

* Trying to complete the ANY/EOLC and binary RENAMEFILE issues

* loadup glitch
2024-12-25 13:06:35 -08:00
rmkaplan
33a53e47e1 Unicode: Added replacement mapping (#1938)
Added replacement mapping

and fixed typos in the Tedit file
2024-12-25 12:59:40 -08:00
rmkaplan
db33a50af3 Tedit - a few rough edges (#1937)
Little odds and ends
2024-12-25 12:57:08 -08:00
rmkaplan
f896885720 INTERPRESS: separate MCCS from XCCS tables (#1928)
A first step at unwinding the confusions
2024-12-23 23:15:19 -08:00
rmkaplan
b46583557a Make PDF BINARY on DEFAULTFILETYPELIST (#1902)
* Make PDF BINARY on DEFAULTFILETYPELIST

* Make all POSTSCRIPT/PDF extensions be BINARY
2024-12-23 23:02:09 -08:00
rmkaplan
1d15f37fdc MAKEFILE NEW of CMLSEQ files (#1911)
so pf and tf can find DEFUNs
2024-12-23 23:00:47 -08:00
rmkaplan
e1c594b28c Remove outdated FONTDESCRIPTOR fields (#1910) 2024-12-23 22:52:36 -08:00
rmkaplan
abdb128636 Rmk36 tedit fifth round (#1857)
* 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)
2024-12-23 11:07:54 -08:00
Herb Jellinek
a26d061843 Update issue templates (#1925) 2024-12-19 11:02:54 -08:00
rmkaplan
b51be87524 Update .ignore to suppress uploading of .sysout files (#1892) 2024-12-03 09:15:03 -08:00
Frank Halasz
4b7a6daacd Fix Issue #1868: Cygwin installer now handles install directory with spaces in its name. (#1880)
* Fix cygwin install script (medley.iss) to handle install directory with spaces in the directoryname.  Also fix the uninstall.exe so that it actually deletes all of the installed directory instead of just portions of it.  Finally update architecture specifications to match the latest InnoSetup conventions.

* Add powershell script to prep installers/cygwin directory for local testing of cygwin installer.  Does what is done online by github action to get the files to include in the installer.
2024-11-29 10:39:09 -08:00
Herb Jellinek
c4c0b65616 Update github action workflows to account for deprecation of macos-12 runner and move of ubuntu-latest runner to ubuntu-24.04 (#1878)
Update github action workflows to account for deprecation of macos-12
runner and move of ubuntu-latest to ubuntu-24.04.

Removed use of ubuntu-latest and macos-latest in favor of explicit
versions (macos-14, ubuntu-24.04) in order to prevent issues when
*-latest changes without our notice.
2024-11-11 10:20:34 -08:00
Frank Halasz
0dfac33a25 In buildLoadup.yml, set runs-on:macos-latest to runs-on:macos-14 so as to avoid issues when -latest changes without our noticing. 2024-11-10 21:27:50 -08:00
Frank Halasz
e5d4e0d299 Change runs-on: ubuntu-latest to runs-on: ubuntu-24.04 for all github workflows. This is to test all is okay as ubuntu-latest moves from ubuntu-22 to ubuntu-24. 2024-11-10 18:00:44 -08:00
Frank Halasz
a365e42a92 In buildLoadup.yml workflow, changed to runs-on for macos from macos-12 to macos-latest. Needed because macos-12 runners are being deprecated. 2024-11-10 17:40:51 -08:00
Larry Masinter
024e83d17e fix #1861 typo in Interpress \IPC macro for constants (#1865)
fix typo in INTERPRESS \IPC macro
2024-10-27 17:51:01 -07:00
Herb Jellinek
7a32bd3051 Update docs, make configurable
Make the meta-key name a parameter and update the docs to match.

Document how different OSes, keyboards, and window systems can affect results.
2024-10-23 14:07:56 -07:00
Herb Jellinek
5fef8528ab Update license to mention Interlisp.org but portions copyright Xerox & Venue & others (#1543) 2024-10-22 11:22:53 -07:00
Larry Masinter
0b3bc9ac48 fix misspelled contributers 2024-10-22 11:15:18 -07:00
Larry Masinter
93ee6a1fbf Update license to mention Interlisp.org but portions copyright Xerox & Venue & others 2024-10-21 18:40:41 -07:00
Matt Heffron
fe04869cb3 Add git commit ID to beginning of loadups .dribble files. (#1778)
* 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)
2024-10-07 10:22:48 -07:00
Frank Halasz
178807afff Fix Issue#1841: using medley --vnc option on RaspberryPi OS (#1842)
In scripts/medley/medley_vnc.sh, update references to Xvnc and vncviewer to their tigervnc-specific versions Xtigervnc and xtigervncviewer.  Fixes Issue#1841.
2024-10-07 10:19:09 -07:00
Matt Heffron
e1989850f3 Added new module READ-BDF. (#1811)
* Added new module READ-BDF.
This will parse a bdf font file into a BDF::BDF-FONT structure.
It does NOT create (convert into) an IL:FONTDESCRIPTOR instance.
Minimal error checking!

* Remove work-around for bug in CL:READ-FROM-STRING that is fixed in PR #1833
2024-09-26 14:08:36 -07:00
Matt Heffron
fface7d9de CL READ-FROM-STRING returns byte position instead of character position. (#1833)
* 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
2024-09-26 13:54:15 -07:00
Matt Heffron
b41ae0cbbe Extend DEFPACKAGE to accept uninterned symbols as the names to export… (#1822)
…. They are treated the same as strings: the `symbol-name` is first
interned in the package before being exported.
This is defined as the behavior in CLtL2, and using uninterned symbols
appears to be common practice in other Common Lisp code.
2024-09-23 10:28:16 -07:00
Matt Heffron
548d3f1567 Import XCL:DEFPACKAGE into LISP package, and then export it. (#1823)
Make DEFPACKAGE accessible from LISP (aka CL:) package.
CLtL2.
See Issue #1684
2024-09-23 10:24:50 -07:00
Matt Heffron
a85d6287ae Merge branch 'master' into mth19--DEFPACKAGE-accept-uninterned-symbols 2024-09-19 11:12:40 -07:00
Matt Heffron
719b4e744e Merge branch 'master' into mth20--extend-import-DEFPACKAGE-into-LISP-package 2024-09-19 11:12:17 -07:00
Matt Heffron
387fecf475 Merge branch 'master' into mth20--extend-import-DEFPACKAGE-into-LISP-package 2024-09-19 11:11:33 -07:00
Frank Halasz
433ffaf9e5 Add linux support for --vnc flag in medley script (#1825)
Previously --vnc flag in medley script worked only on WSL.

With this PR, the --vnc flag works on (non-WSL) linux platforms - any
linux distro that support the TigerVNC server and viewer.

To use this feature you must first install both the TigerVNC server and
TigerVNC client on linux. On Debian-based distros (e.g., Ubuntu and
Mint): ```sudo apt install tigervnc-standalone-server tigervnc-viewer```
2024-09-11 17:44:36 -07:00
Frank Halasz
2cec465f1f Merge branch 'master' into fgh_vnclinux 2024-09-09 14:32:56 -07:00
Frank Halasz
ca03e7f930 First pass - adding linux support to --vnc arg to medley script 2024-09-08 22:08:43 -07:00
Matt Heffron
3526a61be1 Import XCL:DEFPACKAGE into LISP package, and then export it. 2024-09-05 22:40:32 -07:00
Matt Heffron
115ba43100 Extend DEFPACKAGE to accept uninterned symbols as the names to export. They are treated the same as strings: the symbol-name is first interned in the package before being exported. 2024-09-05 21:44:45 -07:00
rmkaplan
d2b87a7327 XTOUCODE doesn't fail for nonexistent mappings (#1816)
assigns a unique otherwise unallocated Unicode code.  Addresses bug reported in #1814
2024-08-31 15:04:56 -07:00
Frank Halasz
f03a2fb4cb In scripts/do_hcfiles.sh, save hcfiles.dribble and hcfiles-fails.txt in loadups/. (#1786)
* Add clean-hcfiles.sh; update do_hcfiles.sh to save hcfiles.dribble to loadups and to extract fails to hcfiles-fails.txt in loadups.

* Fix clean_hcfiles.sh to handle pdf files that are tracked by git.

* Tweak output of clean_hcfiles.sh
2024-07-29 14:40:27 -07:00
Frank Halasz
244300de7b WINDOWOBJ: Install classname in IMAGEFNS (#1788)
IMAGEFNSCREATE had an argument CLASSNAME and the IMAGEFNS datatype had a
field IMAGECLASSNAME, but the CLASSNAME wasn't being installed in the
field
2024-07-22 15:02:26 -07:00
Herb Jellinek
7ed120ca97 TAB-WINDOWS: Step through open windows
Start it running with `(START-TAB-WINDOWS)`.

Bonus: `(KEY-WINDOW)` starts a process that monitors keyboard and mouse button
events and displays them in a little window.
2024-07-19 10:59:52 -07:00
rmkaplan
e9200c73c9 WINDOWOBJ: Install classname in IMAGEFNS 2024-07-17 23:39:33 -07:00
Frank Halasz
1ffcde195a Automate HCFILES workflow (also add "up one level" button to index.html pages) (#1784)
* First pass at workflow for doing HCFILES on each release

* Finish doHCFILES workflow

* Fix delete of gh-page branch in DoHCFILES workflow

* Redo doHCFILES workflow for files.interlisp.org; add indexing to do_hcfiles script

* Fiddling with workflow names so that I can test doHCFILES.yml on a branch

* in doHCFILES workflow fix use of GH_TOKEN

* Fix typo in doHCFILES workflow

* Debugging doHCFILES workflow

* Fix multiple bugs in do_hcfiles script; fixed multiple bugs in doHCFILES workflow

* Debugging move

* in do_hcfiles.sh add back in Tedit file stoHCFILES run

* Clean up do_hcfiles.sh a bit

* Add debugging code to doHCFILES workflow

* In MAKE-INDEX-HTMLS, add code to ensure that the original case of the files/directory names are preserved since (DIRECTORY) seems to return names ia all-caps, always

* Debugging doHCFILES

* Fiddling with debugging code in doHCFILES workflow

* Add MEDLEY-INIT-VARS to cm file in do_hcfiles.sh

* Undo effect of merging fgh_hcfiles-updates into fgh_hcfiles-workflow.  fgh_hcfiles-update will be abadoned

* Add up button to index.html files in MAKE-INDEX-HTMLS

* Update MAKE-INDEX-HTMLS to include an up-on-level button in index.html files.  Move fio files to medley instead of source.  Streamline doHCFILES workflow

* Debugging

* In MAKE-INDEX-HTMLS, make sure that the up-one button does not appear in the top-level index.html

* In doHCFILES workflow, add difference between development(draft) and production; add doHCFILES workflow into buildReleraseInclDocker workflow

* Update MAKE-INDEX-HTMLS with new onclick script to handle directories properly

* Fix typo in buildRelease workflow

* Polishing up do_hcfiles.sh

* Return buildDocker.yml to original state after using it to test doHCFILES.yml
2024-07-15 05:56:53 -07:00
rmkaplan
19015712de Fix hardcopy under XCL exec #1781 (#1782)
* TEDIT-FILE fixes #1781

* TEDIT-FILE fixes #1781
2024-07-11 15:59:22 -07:00
Matt Heffron
7b0c746af2 Add INSPECTMACRO for windows (#1779)
The WINDOW datatype has a bunch of fixed fields for items that are
commonly used, and then it has USERDATA property list for other fields,
some of which are part of the window system and some of which belong to
particular applications.

When you inspect a WINDOW, you see the common fields all nicely laid
out, but you have to click again to bring up the user-data properties in
another window. And if your are inspecting several windows, you have to
keep track of which user properties go with which windows.

This adds an INSPECTMACRO for WINDOW that brings up the USERDATA
properties to the single inspect window, as first-class properties at
the bottom of the fixed-field entries, with a --USERDATA-- separator
2024-07-08 16:24:00 -07:00
Matt Heffron
325bc9b5da Merge branch 'master' into rmk31--INSPECTMACRO-for-windows 2024-07-08 16:23:04 -07:00
Matt Heffron
94548bd7da More consistent HCFILES filenames (#1776) 2024-07-08 16:21:43 -07:00
rmkaplan
d1fcd6cf7e Add INSPECTMACRO for windows
so that USERDATA properties show up in the single Inspect window
2024-07-04 17:00:38 -07:00
Larry Masinter
9e7445927c .nojekyll is used to indicate that no processing or workflows should be run before web publishing 2024-06-30 15:09:40 -07:00
Larry Masinter
31863256c8 The new HCFILES process is simpler if .pdf files aren't ignored 2024-06-30 14:45:46 -07:00
Larry Masinter
a8c82aa9c4 The new HCFILES process is simpler if .pdf files aren't ignored 2024-06-30 14:45:12 -07:00
Larry Masinter
84cd0c73cb More consistent HCFILES filenames 2024-06-30 08:34:22 -07:00
rmkaplan
54bea56b81 Extra argument to COMPAREDIRECTORIES to specify directory names (#1766)
Allow smaller headers for GITFNS browser
2024-06-25 20:36:09 -07:00
rmkaplan
65cfd1dd69 Pass the DW? argument to restore DWIMIFY functionality (#1765)
Got lost somewhere along the way, probably when I was creating the browser
2024-06-25 20:35:22 -07:00
Matt Heffron
7dcc200c91 Fix issue #1749 - type-of NIL doesn't match CLtL2 (#1753)
* Fix issue #1749 - type-of NIL doesn't match CLtL2

* Fix uses of cl:type-of in the LOOP macro to deal with the change to cl:type-of.
2024-06-16 21:36:37 -07:00
rmkaplan
9e0fdd0283 AFTERHARDCOPYFN not needed in IMTEDIT (#1762)
It is put in the first time the indexing image object is displayed, this was left over from earlier cleanup
2024-06-16 21:20:52 -07:00
rmkaplan
ffe99d6bcc FILEWATCH, QIX, SOLITAIRE--rename fields that conflict with REGION and POINT (#1763) 2024-06-16 21:17:48 -07:00
Matt Heffron
3e77f627a0 This fixes GITFNS prc not showing any changed files with certain filename/path patterns. (#1757)
This fixes GITFNS `prc` not showing any changed files if they included
`.git` in the full name.
It now is specific, and excludes only those in the `.git/` top-level
directory.
GITFNS also ignored changed files at the top-level of the repo. This is
fixed also.
This can be tested with PR #1756
2024-06-13 19:22:32 -07:00
Matt Heffron
8d648f46b1 The same issue happens with .git in a branch name.
Hoisted on its own petard!
2024-06-12 23:06:21 -07:00
Matt Heffron
e7dccf76a9 This fixes GITFNS prc not showing any changed files if they included .git in the full name.
GITFNS also ignored changed files at the top-level of the repo. This is fixed also.
2024-06-10 18:48:53 -07:00
2543 changed files with 72759 additions and 148862 deletions

View File

@@ -3,6 +3,7 @@ name: Bug report (not specific)
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
@@ -22,11 +23,13 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Context (please complete the following information):**
- OS: [e.g. Mac/Linux/Cygwin]
- OS Version: [e.g. High Siera/Ubuntu 18/Raspbian]
- Host arch: [e.g. x86_64, arm7l, arm64, sparc]
- Are you using online.interlisp.org? [yes / no]
- OS: [e.g. macOS/Linux/Cygwin]
- OS Version: [e.g. Ventura, Ubuntu 24, Raspberry Pi OS]
- Display/window system: [e.g. X11, SDL, VNC, Web browser]
- Host arch: [e.g. x86_64, arm7l, arm64, SPARC]
- Maiko version: [e.g. commit ID from `git log | head`]
- IL:MAKESYSDATE: [ date ]
- `IL:MAKESYSDATE`: [ date ] or `(il:print-lisp-information)`: copy-paste or screenshot this
**Additional context**
Add any other context about the problem here.

View File

@@ -3,6 +3,7 @@ name: Documentation problem
about: Problems with this web site?
title: ''
labels: ''
assignees: ''
---

View File

@@ -3,6 +3,7 @@ name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---

68
.github/ISSUE_TEMPLATE/primer.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: Report an issue with the "Medley Interlisp for the Newcomer" primer
description: Use this template to report issues or make suggestions.
title: "[Primer] <short title here>"
labels:
- primer
- documentation
body:
- type: dropdown
id: problemType
attributes:
label: "What type of issue are you reporting?"
options:
- Suggested improvement
- Incorrect explanation / code sample
- Confusing explanation
- Outdated information
- Broken link
- Typo / Grammar
validations:
required: true
- type: dropdown
id: location
attributes:
label: "Section of the primer where the issue occurs"
options:
- Introduction
- Medley online and Medley Local
- Understanding and Navigating the Interface
- Understanding Lisp Syntax
- Atoms, Functions and Lists
- Variable Bindings and Scope
- Iterators and Conditionals
- The File Browser
- Debugging
- Editing functions with SEdit
- Build Your First Interactive Program
- Saving Your Work
- TEdit, The WYSIWYG Editor
- Drawing and Displaystreams
- Making a Graph with Grapher
- Additional Resources
- General Feedback (not specific to a section)
validations:
required: true
- type: textarea
id: issueLocationDetails
attributes:
label: "Please provide more details about the location of the issue"
description: "For example, the specific page title, section heading, or url."
validations:
required: false
- type: textarea
id: issueDescription
attributes:
label: "Description of the issue"
description: "Please provide a detailed description of the issue you encountered."
validations:
required: true
- type: textarea
id: suggestedFix
attributes:
label: "Suggested fix or improvement"
description: "If you have a suggestion for how to fix or improve the issue, please provide it here."
validations:
required: false
- type: markdown
attributes:
value: "## Thank you for helping us improve the **Medley Interlisp for the Newcomer** primer!"

View File

@@ -1,6 +1,6 @@
name: "New entry for **What People Are Saying**"
description: "Suggest a new entry for the **What People are Saying** page"
title: "What People are Saying suggestion"
name: New "What People Are Saying" entry
description: 'Suggest a new entry for the "What People Are Saying" page'
title: "What People Are Saying suggestion"
body:
- type: dropdown
id: contentType
@@ -24,7 +24,7 @@ body:
id: additionalInformation
attributes:
label: Additional information
description: "Use this space to supply any addiitonal information on the suggested item."
description: "Use this space to supply any additional information on the suggested item."
validations:
required: false
- type: markdown

View File

@@ -70,7 +70,7 @@ jobs:
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
@@ -99,7 +99,7 @@ jobs:
build_and-push:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [sentry]
if: |
@@ -154,7 +154,8 @@ jobs:
if [ "${{ inputs.draft }}" = "false" ];
then
docker_tags="${docker_image}:latest,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
platforms="linux/amd64,linux/arm64"
platforms="linux/amd64"
#,linux/arm64
else
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
@@ -171,7 +172,8 @@ jobs:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64,linux/arm64,linux/arm/v7
platforms: linux/amd64
# ,linux/arm64,linux/arm/v7
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
@@ -211,7 +213,7 @@ jobs:
complete:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}

View File

@@ -66,7 +66,7 @@ jobs:
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
@@ -96,7 +96,7 @@ jobs:
loadup:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
@@ -257,7 +257,7 @@ jobs:
#
linux_installer:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [sentry, loadup]
if: |
@@ -333,7 +333,7 @@ jobs:
#
macos_installer:
runs-on: macos-12
runs-on: macos-14
needs: [sentry, loadup]
if: |
@@ -507,7 +507,7 @@ jobs:
downloads_page:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
@@ -606,7 +606,7 @@ jobs:
complete:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}

View File

@@ -69,7 +69,7 @@ jobs:
# the result of a workflow_dispatch or a workflow_call
inputs:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
@@ -110,18 +110,28 @@ jobs:
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
######################################################################################
# Run HCFILES and push to files.interlisp.org
do_HCFILES:
needs: [inputs, do_release]
uses: ./.github/workflows/doHCFILES.yml
with:
draft: ${{ needs.inputs.outputs.draft }}
secrets: inherit
######################################################################################
# Kickoff workflow in online repo to build and deploy Medley docker image to oio
do_oio:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [inputs, do_docker]
steps:
- name: trigger-oio-buildAndDeploy
run: |
if [ ! "${{ needs.inputs.outputs.draft }}" = "true" ]
then
gh workflow run buildAndDeployMedleyDocker.yml --repo Interlisp/online --ref master
gh workflow run buildAndDeployMedleyDocker.yml --repo Interlisp/online --ref main
fi
env:
GITHUB_TOKEN: ${{ secrets.ONLINE_TOKEN }}

146
.github/workflows/doHCFILES.yml vendored Normal file
View File

@@ -0,0 +1,146 @@
#*******************************************************************************
# doHCFILES.yml
#
# Interlisp workflow to run HCFILES. HCFILES prints out PDF files for all of the
# files in the Medley directory and posts them on files.interlisp.org.
#
# This workflow is designed to be kickjed off by the buildReleaseInclDocker
# workflow running in the Medley repo, once the release has been completed successfully
#
# Copyright 2024 by Interlisp.org
#
# ******************************************************************************
name: Run HCFILES
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
options:
- 'false'
- 'true'
workflow_call:
inputs:
draft:
description: "Mark this as a draft release"
required: false
type: string
default: 'false'
secrets:
OIO_SSH_KEY:
required: true
MU_TOKEN:
required: true
defaults:
run:
shell: bash
jobs:
run_HCFILES:
runs-on: ubuntu-24.04
steps:
- name: Checkout Medley repo
uses: actions/checkout@v4
- name: Checkout maiko
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/maiko
path: ./maiko
- name: Checkout notecards
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- name: Checkout loops
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/loops
path: ./loops
- name: Checkout test
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/test
path: ./test
- name: Cleanup .git for notecards, loops, test
run: rm -rf ./notecards/.git ./loops/.git ./test/.git
- name: Download Maiko
run: |
gh release download --output /tmp/maiko.tgz \
--repo ${{ github.repository_owner }}/maiko \
--pattern '*-linux.x86_64.tgz'
tar -xzf /tmp/maiko.tgz
touch ./maiko/linux.x86_64/.skip
env:
GH_TOKEN: ${{ secrets.MU_TOKEN }}
- name: Install vnc & ghostscript (ps2pdf)
run: |
sudo apt-get update
sudo apt-get install -y tightvncserver
sudo apt-get install -y ghostscript
- name: Build apps.sysout
run: |
Xvnc -geometry 1280x720 :0 &
export DISPLAY=":0"
scripts/loadup-all.sh -apps
- name: Run HCFILES
run: |
export DISPLAY=":0"
scripts/do_hcfiles.sh
- name: Push Medley files (including created pdf files) to files.interlisp.org
run: |
# create a tar file of all of the directories to be pushed
tarfile=/tmp/source-$$.tgz
tar -c -z -f ${tarfile} --exclude=.git .
# set up ssh identity
eval $(ssh-agent)
ssh-add - <<< "${SSH_KEY}"
# set destination directory on files.interlisp.org
if [ "${{ inputs.draft }}" = "true" ]
then
dest=/srv/oio/files/development/medley
else
dest=/srv/oio/files/production/medley
fi
# Push tar file up to files.interlisp.org
batchfile=/tmp/batch-$$
echo "-put ${tarfile} ${dest}.tgz" > ${batchfile}
sftp -o StrictHostKeyChecking=no -b ${batchfile} ubuntu@files.interlisp.org
# now tar is up, untar it and juggle backups
scriptfile=/tmp/script-$$
# create script file to do the work
cat > ${scriptfile} <<EOF
rm -rf ${dest}.new
mkdir -p ${dest}.new
tar -C ${dest}.new -x -z -f ${dest}.tgz
rm -f ${dest}.tgz
rm -rf ${dest}.oldold
if [ -e ${dest}.old ]; then mv ${dest}.old ${dest}.oldold; fi
if [ -e ${dest} ]; then mv ${dest} ${dest}.old; fi
mv ${dest}.new ${dest}
EOF
# execute the script file via ssh
ssh -aTxo BatchMode=yes ubuntu@files.interlisp.org /bin/sh -s < ${scriptfile}
env:
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}

11
.gitignore vendored
View File

@@ -13,8 +13,9 @@ maiko/
# normally when you have derived files, you ignore them from git
# because they will get regenerated when you rebuild.
# MEDLEY-UTILS HCFILES regenerates
# index.html files are also produced by HCFILES
*.pdf
index.html
# all loadup files
@@ -29,11 +30,19 @@ loadups/*.dribble
loadups/whereis.hash
loadups/apps.sysout
loadups/fuller.database
loadups/build/
loadups/tagged
loadups/gitinfo
# manual cross-reference files
*.IMPTR
# (Accidentally) created sysouts at any level
*.sysout
*.SYSOUT
#compiled code -- leave in for now
# *.lcom

View File

@@ -3,7 +3,7 @@
First, we want to thank you for helping reach the goal of restoring Medley Interlisp
to the point where it is as useful today as it was 30 years ago.
This guide is meant to help you make useful contributions, whether to the [Maiko](https://github.com/Interlisp/maiko) C-based virtual machine implementation, the [Medley](https://github.com/Interlisp/medley) Lisp code (in Interlisp and Common Lisp), or [documentation](https://github.com/Interlisp/medley/wiki). There are a number of [GitHub](https://github.com/Interlisp/medley/discussions/categories/github-use) problems that could use some attention.
This guide is meant to help you make useful contributions, whether to the [Maiko](https://github.com/Interlisp/maiko) C-based virtual machine implementation, the [Medley](https://github.com/Interlisp/medley) Lisp code (in Interlisp and Common Lisp), or [documentation](https://interlisp.org/software/using-medley). There are a number of [GitHub](https://github.com/Interlisp/medley/discussions/categories/github-use) problems that could use some attention.
## Working with Maiko
@@ -17,6 +17,8 @@ The current arrangement of files and extentions is awkward for working on the im
* The most useful contributions are reproducible errors -- things that don't work as documented.
* Second most useful are reports of unexpected behavior -- things that aren't documented but behave unexpectedly.
To report these errors and behaviors [open an issue](https://github.com/Interlisp/medley/issues).
## Reporting a bug or feature request
* Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/Interlisp/medley/issues) or [Discussions](https://github.com/Interlisp/medley/discussions). Note that all issues and Discussions are found in the Medley repository, using labels to distinguish. Discussions are for questions or topics where there is some disagreement or uncertainty about the "right" direction.
* If you're unable to find a discussion or open issue addressing the problem, open a new one. Be sure to include a title
@@ -24,7 +26,7 @@ and clear description, as much relevant information as possible. Use the issue t
## Did you write a patch that fixes a bug?
* Some bug fixes and "improvements" have unintended consequences, well beyond what you might expect for well-written modern code. We don't have testing new builds automated or integrated. Be sure you've tested your patch.
* Open a new [GitHub pull request](https://github.com/Interlisp/maiko/pulls) with the patch.
* Open a new GitHub pull request with the patch.
* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
* Keep Pull Requests small and easily reviewable. https://www.thedroidsonroids.com/blog/splitting-pull-request for
a writeup of good practices.

View File

@@ -1,6 +1,6 @@
MIT License
Copyright Interlisp.org contributors
Copyright © 2024 Interlisp.org. Portions originally copyrighted by Xerox, Venue, John Sybalsky, and other contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,12 +1,14 @@
# Medley
This repository is for the Lisp environment of [Medley](https://interlisp.org).
The [Medley Interlisp Project](https://interlisp.org) aims to preserve, revive, and modernize the [Interlisp](https://interlisp.org) software development environment for rapid prototyping, research and Artificial Intelligence created at Xerox PARC since the 1970s.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, and Windows (with or without WSL).
This repository is for the Lisp environment of the [Medley](https://interlisp.org) release of Interlisp. Other repositories hold additional subsystems and applications such as [Maiko](https://github.com/Interlisp/maiko), the implementation (in C) of the Medley virtual machine, the [LOOPS](https://github.com/Interlisp/loops) object-oriented extension of Interlisp, and the [NoteCards](https://github.com/Interlisp/notecards) hypermedia system.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, Windows (with or without WSL), and in a web browser.
[Using Medley](https://interlisp.org/software/using-medley/) has an overview and pointers to documentation.
[Interlisp/maiko](https://github.com/Interlisp/maiko), is the repo for the implementation (in C) of the Medley virtual machine.
The [Glossary](https://interlisp.org/history/glossary) defines system-specific terms such as "loadup" and "sysout".
## Releases
@@ -67,25 +69,9 @@ If you have a high-resolution display, note that much of the graphics was design
Medley presumes you have a 3-button mouse; the scroll-wheel on some mice acts as one, with some difficulty. Go into XQuartz Preferences/Input and check "Emulate three button mouse" option.
### Running Medley Interlisp (obsolete)
### Running Medley Interlisp
The `run-medley` script in this repo sets up some convenient defaults. Running Medley can be done by typing:
```
$ cd medley
$ ./run-medley
```
Or, if you wish to start Medley up with a different SYSOUT:
```
$ cd medley
$ ./run-medley <SYSOUT-file-name>
```
The first time the system is run it loads the system image that comes
with the system. When you exit the system (or "do a `SaveVM`" menu
option) the state of your machine is saved in a file named
`~/lisp.virtualmem`. Subsequent system startups load the
`~/lisp.virtualmem` image by default.
The primer [Medley Interlisp for the Newcomer](https://primer.interlisp.org) eases new users into the Interlisp environment. It assumes no prior knowledge of Lisp and covers the user interface, programming and debugging, windows and graphics, and more. We recommend consulting this document to learn how to run and use the system.
### Exiting The System
@@ -123,7 +109,7 @@ Each directory should have a README.md, but briefly
* BUILDING.md -- instructions on how to make your own loadups
* clos -- early implementation of Common Lisp Object System
* CLTL2 -- files submitted to bring Medley up to the conformance to "Common Lisp, the Language" 2nd edition. Not enough to conform to the ANSI standard lisp.
* docs -- Documentation files (in TEdit format, PDFs, or online help; look [here](https://github.com/Interlisp/medley/Documentation))
* docs -- Documentation files (in TEdit format, PDFs, or online help
* fonts -- raster fonts (or font widths) in various resolutions for display, postscript, interpress, press formats
* greetfiles -- various configuration setups
* internal -- These _were_ internal to Venue

View File

@@ -1,18 +1,18 @@
(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS") (EXPORT "CLOS-ICON"
"CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE
10)
(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS" "LISP") (EXPORT "CLOS-ICON"
"CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE
10)
(IL:FILECREATED " 5-Dec-2023 12:07:41" IL:{CLOS}NEW-CLOS-BROWSER.\;3 91622
(IL:FILECREATED "28-Apr-2025 18:32:38" 
IL:|{DSK}<Users>arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;4| 91934
:EDIT-BY "mth"
:EDIT-BY "akw"
:CHANGES-TO (IL:PROPS (IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT))
:PREVIOUS-DATE " 5-Dec-2023 00:58:05" IL:{CLOS}NEW-CLOS-BROWSER.\;2)
:PREVIOUS-DATE "26-Apr-2025 17:16:46"
IL:|{DSK}<Users>arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;3|)
; Copyright (c) 1991, 2020, 2023 by Venue.
(IL:PRETTYCOMPRINT IL:NEW-CLOS-BROWSERCOMS)
(IL:RPAQQ IL:NEW-CLOS-BROWSERCOMS
@@ -275,7 +275,7 @@
(IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT (:PACKAGE (PROGN (XCL:DEFPACKAGE
"CLOS-BROWSER"
(:USE "CLOS")
(:USE "CLOS" "LISP")
(:EXPORT "CLOS-ICON"
"CLOS-BROWSER"
"ADD-BROWSER-METHOD"
@@ -1159,9 +1159,14 @@ Below this line operates on individual slots and methods."
(DOCUMENTATION (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS)))
(DEFMETHOD CLOS-BROWSER::PRINT-CLASS ((CLOS-BROWSER::SELF CLOS-BROWSER::CLOS-BROWSER-NODE))
(PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES)))
(IF (IL:HASDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES)
(PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES))
(IL:PROMPTPRINT "No Printable Definition for the class " (SLOT-VALUE CLOS-BROWSER::SELF
'WEB::NAME))))
(DEFMETHOD CLOS-BROWSER::SPECIALIZE-CLASS ((CLOS-BROWSER::NODE CLOS-BROWSER::CLOS-BROWSER-NODE)
&OPTIONAL CLOS-BROWSER::FORM CLOS-BROWSER::NEW-CLASS-NAME)
@@ -1211,7 +1216,8 @@ Below this line operates on individual slots and methods."
(RETURN))))))
(IL:SETCURSOR CLOS-BROWSER::ORIGINALCURSOR))))))
(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE)
(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE)
(IL:* IL:\; "Edited 26-Apr-2025 14:31 by arunwelch")
(LET ((CLOS-BROWSER::ORIGINALCURSOR (IL:CURSOR)))
(UNWIND-PROTECT
(PROGN (IL:SETCURSOR IL:WAITINGCURSOR)
@@ -1224,8 +1230,7 @@ Below this line operates on individual slots and methods."
(IL:* IL:|;;| "check for bug")
(WHEN (SYMBOLP CLOS-BROWSER::SUB-CLASS)
(SETQ CLOS-BROWSER::SUB-CLASS (CLOS::SYMBOL-CLASS CLOS-BROWSER::SUB-CLASS
)))
(SETQ CLOS-BROWSER::SUB-CLASS (FIND-CLASS CLOS-BROWSER::SUB-CLASS)))
(DOLIST (CLOS-BROWSER::BROWSER (SLOT-VALUE CLOS-BROWSER:CLOS-ICON
'CLOS-BROWSER::CLASS-BROWSERS))
(DOLIST (CLOS-BROWSER::SUPER-CLASS (SLOT-VALUE CLOS-BROWSER::SUB-CLASS
@@ -1387,14 +1392,12 @@ Below this line operates on individual slots and methods."
(0 (FORMAT T "Unspecialized methods cannot be copied. ~A" (CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD NIL)))
(1 (SETQ CLOS-BROWSER::FROM-CLASS (CAR CLOS-BROWSER::NON-T-CLASSES)))
(OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (CLOS::SYMBOL-CLASS
(IL:PROMPTFORWORD (FORMAT NIL
(OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (FIND-CLASS (IL:PROMPTFORWORD
(FORMAT NIL
"Which class in ~A do you wish to move from?"
(
CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD
NIL))))))))
(CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD
NIL))))))))
(IL:* IL:|;;| "should contain from-class. If it is not the same, abort.")
@@ -1465,7 +1468,7 @@ Below this line operates on individual slots and methods."
 "fix bug in the inconsistent way CLOS objects store T class specializers and do method lookup.")
(WHEN (EQ CLOS-BROWSER::CLASS T)
(SETQ CLOS-BROWSER::CLASS (CLOS::SYMBOL-CLASS T)))
(SETQ CLOS-BROWSER::CLASS (FIND-CLASS T)))
(LET ((CLOS-BROWSER::NODE (CLOS-BROWSER::BROWSER-CONTAINS-P
CLOS-BROWSER::CLASS CLOS-BROWSER::BROWSER)))
(WHEN CLOS-BROWSER::NODE
@@ -1582,7 +1585,8 @@ Below this line operates on individual slots and methods."
(IL:|if| PACKAGE
IL:|then| (IN-PACKAGE PACKAGE))))
(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE)
(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE)
(IL:* IL:\; "Edited 26-Apr-2025 14:25 by arunwelch")
"Retrieves a list of all the classes for a given package. When map-on-package is t this can be very slow."
(IL:* IL:|;;| "The maphash is always fast, whereas for some strange reason map-on-package varys among packages greatly.")
@@ -1594,7 +1598,7 @@ Below this line operates on individual slots and methods."
(DO-SYMBOLS (CLOS-BROWSER::SYM PACKAGE)
(IF (AND (EQ (SYMBOL-PACKAGE CLOS-BROWSER::SYM)
PACKAGE)
(CLOS::SYMBOL-CLASS CLOS-BROWSER::SYM T))
(FIND-CLASS CLOS-BROWSER::SYM T))
(PUSH CLOS-BROWSER::SYM CLOS-BROWSER::CLASSES)))
(MAPHASH #'(LAMBDA (CLOS-BROWSER::KEY CLOS-BROWSER::VAL)
(IF (EQ (SYMBOL-PACKAGE CLOS-BROWSER::KEY)
@@ -1623,17 +1627,16 @@ Below this line operates on individual slots and methods."
IL:|BackgroundMenuCommands|)
(SETQ IL:|BackgroundMenu| NIL)
(IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:COPYRIGHT ("Venue" 1991 2020 2023))
(IL:DECLARE\: IL:DONTCOPY
(IL:FILEMAP (NIL (11770 13440 (CLOS-BROWSER:BROWSE-CLASS 11770 . 13440)) (13442 14785 (
CLOS-BROWSER::COLLECT-FAMILY 13442 . 14785)) (14787 16819 (CLOS-BROWSER::MAKE-NODES 14787 . 16819)) (
16821 17496 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16821 . 17496)) (17498 18430 (CLOS-BROWSER::BROWSER-CONTAINS-P
17498 . 18430)) (42263 42587 (CLOS-BROWSER::EDIT 42263 . 42587)) (42589 48183 (
CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42589 . 48183)) (48185 49663 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS
48185 . 49663)) (49665 50955 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49665 . 50955)) (64981 65598 (
CLOS-BROWSER::COMPLETE-ADD-METHOD 64981 . 65598)) (65600 67812 (CLOS-BROWSER::COMPLETE-SPECIALIZE
65600 . 67812)) (67814 69482 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 67814 . 69482)) (69484 69649 (
CLOS-BROWSER::THIS-CLASS-NODE-P 69484 . 69649)) (69651 69753 (CLOS::CLASS-DIRECT-METHODS 69651 . 69753
)) (86457 87472 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86457 . 87472)) (87783 89367 (CLOS-BROWSER::IN-SELECT-PACKAGE
87783 . 89367)) (89369 90516 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89369 . 90516)))))
(IL:FILEMAP (NIL (11846 13516 (CLOS-BROWSER:BROWSE-CLASS 11846 . 13516)) (13518 14861 (
CLOS-BROWSER::COLLECT-FAMILY 13518 . 14861)) (14863 16895 (CLOS-BROWSER::MAKE-NODES 14863 . 16895)) (
16897 17572 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16897 . 17572)) (17574 18506 (CLOS-BROWSER::BROWSER-CONTAINS-P
17574 . 18506)) (42339 42663 (CLOS-BROWSER::EDIT 42339 . 42663)) (42665 48259 (
CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42665 . 48259)) (48261 49739 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS
48261 . 49739)) (49741 51031 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49741 . 51031)) (65408 66025 (
CLOS-BROWSER::COMPLETE-ADD-METHOD 65408 . 66025)) (66027 68239 (CLOS-BROWSER::COMPLETE-SPECIALIZE
66027 . 68239)) (68241 69946 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 68241 . 69946)) (69948 70113 (
CLOS-BROWSER::THIS-CLASS-NODE-P 69948 . 70113)) (70115 70217 (CLOS::CLASS-DIRECT-METHODS 70115 . 70217
)) (86738 87753 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86738 . 87753)) (88064 89648 (CLOS-BROWSER::IN-SELECT-PACKAGE
88064 . 89648)) (89650 90900 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89650 . 90900)))))
IL:STOP

Binary file not shown.

View File

@@ -1,2 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>Medley-Primer-OnePage</title></head><frameset cols="310pt,*" rows="94%"><frame src="Medley-Primer-OnePage_files/headings.htm" name="headings"/><frame src="Medley-Primer-OnePage_files/content.htm" name="content"/></frameset></html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Some files were not shown because too many files have changed in this diff Show More