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

Compare commits

...

209 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
2470 changed files with 49689 additions and 134552 deletions

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

@@ -52,6 +52,12 @@ jobs:
- 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:
@@ -79,6 +85,7 @@ jobs:
--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 }}

12
.gitignore vendored
View File

@@ -13,11 +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
# do not ignore .pdf files after all... rather, [new workflow](scripts/make-gh-pages.md) stores it in the src repository gh-pages branch.
# *.pdf
# index.html
# index.html files are also produced by HCFILES
*.pdf
index.html
# all loadup files
@@ -32,6 +30,10 @@ loadups/*.dribble
loadups/whereis.hash
loadups/apps.sysout
loadups/fuller.database
loadups/build/
loadups/tagged
loadups/gitinfo
# manual cross-reference files

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,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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

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