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

Compare commits

...

1094 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
rmkaplan
ff25001814 Change LAFITEDECLS to LAFITE-DECLS in UNDIGESTIFY (#1746) 2024-06-10 14:55:48 -07:00
Frank Halasz
9793e48c4e Update buildReleaseIncDocker workflow to automatically kick off a buildAndDeployMedleyDocker workflow in the online repo (#1752)
* to buildReleaseInclDocker workflow, add call to build and deploy the Online-Medley Docker image to oio

* add version tag to call to buildAndDeploy... workflow in online

* Oh boy, get the name of the build and deploy workflow in online right this time!

* Added explicit secrets to call to medley online build deploy workflow

* fix test code in buildReleaseInclDocker

* debuggin gbuildReleaseInclDocker

* Debugging adding of online deploy to buildReleaseInclDocker

* Change approach to running buildDeployMedleyDocker online workflow to use gh workflow run rather than use a cross-repo workflow call

* GH_TOKEN or GITHUB_TOKEN?

* Create ONLINE_TOKEN to access online repo from medley repo workflows via gh

* From buildReleaseInclDocker workflow, remove debugging stuff; change kickoff of oio build and deploy so that it will not kickoff workflow if draft is true
2024-06-10 14:52:39 -07:00
Matt Heffron
2f6499317b In medley.sh, improve error messages when MAIKODIR and/or the requested maiko executable (e.g., ldeinit) cannot be found (#1734)
In medley.sh, improve error messages when MAIKODIR and/or the requested
maiko executable (e.g., ldeinit) cannot be found.

Helps clarify error messaging in loadup-mid-from-init script that
utilizes ldeinit.
2024-06-03 15:35:41 -07:00
Frank Halasz
6398c2b8d4 Merge branch 'master' into fgh_fix-maikodir_msg 2024-06-03 15:26:07 -07:00
Frank Halasz
fcd40bc409 Fix PRINT-ALL-DOCUMENTATION locating documentation string (#1736)
In PRINT-ALL-DOCUMENTATION only one of two places was checked for the
documentation string.
(Also, MAKEFILE updated the LAMA variable in the CMLEXECCOMS.)
Issue #1735
2024-06-03 15:25:04 -07:00
Frank Halasz
c8133ebb96 Fix FILEBROWSER error when a borrowed function needs the prompt window. (#1743)
FB.PROMPTW.FORMAT now uses the global PROMPTWINDOW if called under a
borrowed function (i.e., not a FILEBROWSER window). Tweaked the format
string provided by FB.FASTSEE.ONEFILE to go to newline conditionally.
Issue #1742
2024-06-03 15:24:23 -07:00
Frank Halasz
9962a9ca0a Merge branch 'master' into fgh_fix-maikodir_msg 2024-06-03 14:58:31 -07:00
Matt Heffron
014c34959f Merge branch 'master' into mth13--qmark_command_omits_documentation_if_given_name_argument 2024-06-01 11:57:16 -07:00
Matt Heffron
4c18373229 Fix FILEBROWSER error when a borrowed function needs the prompt window.
FB.PROMPTW.FORMAT now uses the global PROMPTWINDOW if called under a borrowed function (i.e., not a FILEBROWSER window).
Tweaked the format string provided by FB.FASTSEE.ONEFILE to go to newline conditionally.
2024-05-29 15:46:15 -07:00
Herb Jellinek
1148cd5945 Further updates to loadup scripts to make its easier to use Lisp-side copy functions to copy medley directories (#1718)
Update all loadup scripts so that 3 things are true:

1. all sub-scripts are called via `/bin/sh <subscript>` so that exec bit
need not be set on any loadup script

2. medley is called via `scripts/medley/medley.command` rather than just
`medley` so that the top-level medley symbolic link is not necessary for
loadups

3. the loadup scripts do not have to be started while cwd is MEDLEYDIR;
instead MEDLEYDIR is automatically computed based on where the loadup
script is executed from (as the medley script does).
2024-05-27 15:17:29 -07:00
rmkaplan
f44b96e870 Rmk22 gitfns ignores other owners (#1713)
* GITFNS: prc ignores PRs from other owners

The menu just includes Interlisp PR's.  Fixing it to deal with other owners will take more work.

* JSON:  JSON-GET takes a list of attributes

A convenience for accessing objects embedded in objects

* GITFNS:  a minor cleanup

* Remove JSON-GET left over

* Put the git commands to install remotes in comments

So we don't have to rediscover them when we decide to fix prc to deal with this issue.
2024-05-27 15:16:58 -07:00
Herb Jellinek
e9bea32fa3 Edit of function from popup menu in MASTERSCOPE show paths graph locks mouse process (#1728)
Fix issue #1727
Edit of function from popup menu in MASTERSCOPE show paths graph locks
mouse process.
Left buttonfn didn't include :DONTWAIT option when launching the editor;
middle buttonfn did.
2024-05-27 15:16:29 -07:00
Matt Heffron
10cd51e5b1 Merge branch 'master' into mth12--Fix-1727-Edit-from-MASTERSCOPE-graph-can-lock-mouse-process 2024-05-24 21:45:49 -07:00
Matt Heffron
ee57eabe21 In PRINT-ALL-DOCUMENTATION only one of two places was checked for the documentation string.
(Also, MAKEFILE updated the LAMA variable in the CMLEXECCOMS.)
2024-05-24 21:28:15 -07:00
Matt Heffron
eda9863432 Fix issue #1719. (#1726)
MANAGER called PF with function NAME in a variable. BUT PF is NLAMBDA so
didn't eval its argument. Changed to use CL:APPLY*. Moved the process
function from a local LAMBDA in Manager.DO.COMMAND to a separate named
function. Tweaked prompt strings for the "CopyDef" and "Rename All" item
menu commands.
2024-05-24 20:42:54 -07:00
Frank Halasz
a9a8c35827 Merge branch 'master' into fgh_fix-maikodir_msg 2024-05-24 19:32:27 -07:00
Frank Halasz
40306a3fe8 Merge branch 'master' into fgh_loadups-updates-24-05-16 2024-05-24 19:31:21 -07:00
Frank Halasz
eb7d34784b Fix Issue#1730: Break during OPENSTREAM on file on XNS Server (#1733)
Add a DEVICE argument to \NSRANDOM.CREATE.STREAM so that when it creates
a stream, it can pass a device to the stream creation code. As of PR814
of July 2022, streams whose DEVICE field is NIL break during creation.
Update all callers to \NSRANDOM.CREATE.STREAM to pass the new DEVICE
argument.
2024-05-24 19:28:51 -07:00
Frank Halasz
ba8aac6321 Add extra error message in loadup-mid-from-init scripts when ldeinit cannot be found 2024-05-24 19:21:26 -07:00
Frank Halasz
c578bfd983 In medley.sh, improve error messages when cannot find maikodir or the expected maiko executable within maikodir 2024-05-24 19:02:26 -07:00
Frank Halasz
dab6f2635f Add a DEVICE argument to \NSRANDOM.CREATE.STREAM so that when it creates a stream, it can pass a device to the stream creation code. As of PR814 of July 2022, streams whose DEVICE field is NIL break during creation. Update all callers to \NSRANDOM.CREATE.STREAM to pass the new DEVICE argument. 2024-05-23 23:37:07 -07:00
Matt Heffron
40ae5fb9b3 Fix issue #1727
Edit of function from popup menu in MASTERSCOPE show paths graph locks mouse process.
Left buttonfn didn't include :DONTWAIT option when launching the editor; middle buttonfn did.
2024-05-21 23:15:59 -07:00
Matt Heffron
1c2f9bc395 Fix issue #1719.
MANAGER called PF with function NAME in a variable. BUT PF is NLAMBDA so didn't eval its argument. Changed to use CL:APPLY*.
Moved the process function from a local LAMBDA in Manager.DO.COMMAND to a separate named function.
Tweaked prompt strings for the "CopyDef" and "Rename All" item menu commands.
2024-05-21 22:34:30 -07:00
Frank Halasz
9214a6335a Change Medley release builds from Mon 2:00a PT to Wed 2:00a PT ... (#1722)
Change Medley release builds from Mon 2:00a PT to Wed 2:00a PT
2024-05-20 21:17:22 -07:00
Frank Halasz
a9941b36aa Fix typo in copy-all.sh loadup script 2024-05-18 00:06:35 -07:00
Frank Halasz
3129597058 Merge branch 'master' into fgh_loadups-updates-24-05-16 2024-05-17 23:59:45 -07:00
Frank Halasz
0d8e5ae9f6 Turning off exec bit on loadup-setup.sh, which is meant to be sourced only 2024-05-17 23:55:06 -07:00
Frank Halasz
354c7f035a Update all loadup scripts so that 3 things: 1) call subscripts with /bin/sh so that exec bit need not be set on any loadup script, 2) call medley via scripts/medley/medley.command rather than just medley so that the top-level medley symbolic link is not necessary for loadups and 3) no longer require that the loadup scripts run while cwd is MEDLEYDIR and instead determine MEDLEYDIR from where the loadup script is executed from 2024-05-17 23:53:35 -07:00
Matt Heffron
6c47d75ab9 Fix 1715 - "structural typo" in output of MANAGER Documentation menu item (#1716)
Fix "structural typo" in output of Documentation menu item
2024-05-17 11:54:55 -07:00
Matt Heffron
1134cb1ce6 Fix Issue 1711: problem with "-x ~" in new medley.sh (#1712)
Fixed two typos in medley_utils.sh:  $%2 -> $2
2024-05-13 17:05:37 -07:00
Frank Halasz
cc9fcc3e5b Fix Issue 1711 - fix two typos in medley_utils.sh $%2 -> $2 2024-05-13 16:31:58 -07:00
Frank Halasz
5073a793e3 medley.sh: Fix handling of '--title -' in medley_run.sh and medley_args.sh (#1710)
* Fix handilng of '--title -' in medley_run.sh and medley_args.sh

* medley.sh: Fix typo in default title introduced in last commit
2024-05-13 15:33:14 -07:00
rmkaplan
8e22a4dcb9 UNPACKFILENAME produces lt-gt for top-level directory (#1696)
* UNPACKFILENAME produces <> for top-level directory

For virtually any combination of leading <, > or /.  Addresses   #1685.

* Produce < instead of <> for top-level empty directory

Does not yet deal with all combinations of directory-internal bracket sequences
2024-05-13 15:27:52 -07:00
Frank Halasz
b8de8209d0 Update medley man page with latest updates to medley.sh (#1709) 2024-05-13 15:20:37 -07:00
Frank Halasz
9846353c9a Fix to Issue #1704. Cygwin Install fail (#1707)
In cygwin installer, change cygwin download site to https://mirrors.kernel.org since old gatech site is deprecated.
2024-05-13 14:24:09 -07:00
Frank Halasz
415a698df5 Overhaul of loadup scripts (#1699)
* Make medley.sh and its associated scripts POSIX compliant - i.e., debashify them

* Added config file for medley script, medley now reads from config file and prepends arguemnts from file to the copmmand line arguments

* WIP. Updates to medley.sh scripts.

* WIP.  More on medley.sh and friends update.

* WIP. Medley redo

* WIP.  Debugging new medley scripts

* Renamed medley.sh/medley.command to be medley_main.sh.  Added code to compile single medley.sh/medley.command script by inlining all of the source'd medley_*.sh files.

* Add temp fix for cygwin Issue #1685

* Minor fixup to medley_utils.sh; take debug code out out of run_medley

* Add README to medley directory to explain how to compile medley.sh (medley.command).

* Ooops. This time really adding the README file to the medley directory explaining how to compile medley.sh (medley.command)

* Update loadup- scripts to use updated medley scripts rather than run-medley

* Fix default setting of $config_file in medley_configfile.sh

* Redo medley compile to pick up last commikt

* Fixing how maiko exe is found and sysout argument error processing - both issues discovered testing on MAcOS

* In medley_configfile, replace echo with printf %s because echo - does not work in zsh

* Supress config file on loadups calls to Medley

* Add oldschool support (use original run-medley) to loadup scripts; improve FAILURE detection so loadup-all won't proceed once one of the components fails

* Add in medley_args.sh add -prog as synonym to --maikoprog to aid in loadup scripts; in medley_run.sh script try to get a good exit code for call to maiko, especially useful for loadup scripts

* Run loadup scripts thru shellcheck and update as necessary to make Posix compliant

* Get rid of -nt comparisons in loadup-setup.sh because they are not posix-complaint.  They were not really needed anyway.

* Removing (for now) use of lde exit codes to decide FAILURE case in loadup-setup.sh since exit codes from lde apperar to be inverted on MacOS.

* Update medley man page.  Add - functionality to more args is medley_args.sh

* Compile medley.sh with changes from last commit

* Ooops.  Left medley_args.sh changes out of last commit.  Rectifying here.

* Added support for LDEKEYBOARDTYPE to medley_run to match run-medley

* Add to medley.sh: auto numbered id's and titles with id's inserted

* Cleanup some shellcheck issues in medley_main.sh

* fix maiko args -nh-xxx.  were -nethub-xxxx. In medley_run.sh

* Overhaul handling of pass-on args to manage the quoting issues prevelant in the previous implementation

* Cleanup minor shellcheck issues in medley_*.sh scripts

* Add underscore as character allowed in ids - makes things clearer when id used with +

* Add a self-numbering id to medley calls in loadup scripts

* Put workaround in medley_run.sh for Issue #1702 - issues with sysout arg processing in Maiko

* Oops.  messed up LDESRCSYSOUT in last commit.  should be LDESOURCESYSOUT

* compile medley.sh
2024-05-09 21:31:27 -07:00
Matt Heffron
4272a6e5ed GITFNS prc menu is added to the screen instead of just popping up (#1695)
So the full set of available PRs (with their draft/approved status)
remains visible. You can poke from one to the other. May be useful when
we go through the PRs in Monday meetings. (Still doesn't bother with a
menu at all if there is only one PR to work on.)

On this first pass, the menu is placed (but not attached) just under the
current exec window, on the hope that this keeps it out of the way of
the windows that are created during the comparison.

Try it, let me know how this feels, whether this is an improvement over
the previous pop-up.
2024-05-06 16:21:49 -07:00
rmkaplan
6bc9aee7b9 GITFNS prc menu is added to the screen instead of just popping up
So the full set of available PRs (with their draft/approved status) remains visible.  You can poke from one to the other. May be useful when we go through the PRs in Monday meetings.  (Still doesn't bother with a menu at all if there is only one PR to work on.)

On this first pass, the menu is placed (but not attached) just under the current exec window, on the hope that this keeps it out of the way of the windows that are created during the comparison.

Try it, let me know how this feels, whether this is an improvement over the previous pop-up.
2024-05-03 11:11:01 -07:00
Matt Heffron
9f0475936f GITFNS quote branch names in git commands (#1693)
* GITFNS gets prc information in JSON form

prc uses the simple JSON parser in the new lispusers file JSON to convert the json string into a lisp data structure.  Maybe the commonlisp package YASON that Matt looked at would be more general, but perhaps also requires more understanding.

With this change, drafts should be marked with D, approves should be marked with A.

* Quote branch names in git commands -- attempt to fix issue #1691

---------

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2024-05-02 23:16:26 -07:00
Frank Halasz
2dfb1b71f6 Temporary fix in medley.sh to work around Issue #1685. Applies to cygwin only. (#1686)
Temp fix in medley.sh to work around issue #1685.  Applies to cygwin only.
2024-04-30 07:18:25 -07:00
rmkaplan
837f4029fe WINDOWOBJ: Add ENCAPSULATEDOBJP function (#1679)
* WINDOWOBJ:  Add ENCAPSULATEDOBJP function

If provided to TEDIT.MAP.OBJECTS, this will return a list of all unknown image objects and their locations

* Fix earlier misunderstanding of encapsulated set up
2024-04-29 19:46:25 -07:00
rmkaplan
e40d3311c1 Rmk16 remove tedit special stuff from CLIPBOARD, move it to TEDIT-COMMAND. (#1676)
* CLIPBOARD:  Remove Tedit-specific code

* TEDIT-COMMAND:  Add interface to Clipboard

This also implements a different way of dealing with image objects in the selection.  Instead of causing an error (since an imageobject can't be printed to the clipboard stream), it tries to put out a useful representation of the object.  If the object has a preprint function, it applies that.  Otherwise, it prints out the name of the getfn.  Other objects can be explored.
2024-04-29 19:44:29 -07:00
rmkaplan
047aa5ff23 TEDIT.FORMAT.HARDCOPY fetches the AFTERHARDCOPYFN at the end (#1671)
so that it can be set by a display fn or boxfn along the way.  This permits the fix to IRM indexing in PR #1649 to take effect (for HCFILES).
2024-04-29 19:43:01 -07:00
rmkaplan
710513f2fd TEDIT-FILE with TEXTOBJ argument passed to lower get-piece functions (#1669)
An internal extension, so that error or warning messages if any can be displayed in the local prompt window
2024-04-29 17:20:49 -07:00
rmkaplan
448cb6feba HARDCOPY: Replace PROMPTFORWORD with TTYINPROMPTFORWORD in popup (#1651)
Also remade HARDCOPY NEW and TCOMPLed the whole file to get everything pretty printed and compiled.  The NEW option to MAKEFILE was not enough, I also had to set MAKEFILEREMAKEFLG to NIL.
2024-04-29 17:05:23 -07:00
rmkaplan
931807ef44 IMINDEX: The displayfn of index image objects sets AFTERHARDCOPYFN to close the index file (#1649)
* IMINDEX:  The displayfn of index image objects sets AFTERHARDCOPYFN to close the index file

Removes the need for advising the Tedit hardcopy function.  This won't have an effect until a separate PR (after rmk7 is merged) that updates the hardcopy function.

* Index image object explicitly uses OLD-INTERLISP-FILE for printing and reading  (cf #1652)
2024-04-29 17:04:12 -07:00
Larry Masinter
d79d5b397b Remove derived PDFs from repo; now in 'src' repo, comstructed by HCFILES and MAKE-INDEX-HTMLS (#1657)
* Remove derived PDFs from branch other than gh-pages

* only the gh-pages branch should have the pdfs

* make pdfs and listings

* Update HCFILES and MAKE-INDEX-HTMLS, add preliminary documentation

* add a slashit to avoid angle brackets
2024-04-29 16:28:22 -07:00
rmkaplan
14b102f143 TEDIT-MENU: Eliminate illegal arg and caret location errors (#1670)
* TEDIT-MENU: Eliminate illegal arg and caret location errors

@nbriggs got an error when (as I remember) parsing the OTHER font in the charlooks menu.  This was because of a missing BOUNDP check when trying to decide if the other font is a fontclass.

Separately, the caret appeared in the wrong place if a field insert was the first interaction with a menu.

* Remove redundant binding
2024-04-20 22:55:53 -07:00
Matt Heffron
88d10ee75c Merge pull request #1668 from Interlisp/rmk10--Fix-Tedit-imageobj-hardcopy
TEDIT-HCPY set X position after image object hardcopy display
2024-04-19 11:50:19 -07:00
rmkaplan
0f8652e15b TEDIT-HCPY set X position after image object
Addresses issue #1667
2024-04-19 09:50:39 -07:00
Frank Halasz
c30940ef19 Merge pull request #1639 from Interlisp/rmk7---Names-of-internal-Tedit-function-are-consistently-prefixed-with-TEDIT.-
Systematically renamed internal Tedit files with \TEDIT
2024-04-17 22:03:57 -07:00
Larry Masinter
92fd33eaad Add support for cl: loop for hash tables (#1605)
* Add support for cl: loop for hash tables
* fix subtle package problems setting up LISP package & conflicts with CLOS
* include fix for 'repeat n' clause
* remake in lower-case p make diffs legible, dfasl for defuns
2024-04-17 16:21:22 -07:00
rmkaplan
3564f502e4 Fixed a missed case in NSDISPLAYSIZES (#1658)
FONTSAVAILABLE calls with SIZE = *
2024-04-16 12:29:38 -07:00
Larry Masinter
0c62577e92 ANSI CL says all non-symbol non-list is self-evaluating; fix CL:EVAL (#1664) 2024-04-16 10:51:23 -07:00
rmkaplan
bda5cf1606 DINFO: recreate textstream if it has disappeared from the window (#1659)
Not sure how this can happen--a Tedit window without a textstream--but now testing for it.  DINFO must have removed it for some unknown reason.
2024-04-11 15:41:37 -07:00
Larry Masinter
44b1f8a7f3 hash p write pathname (#1612)
* #P"pathname" reads in as pathname
* #P"pathname" used for printing pathnames
* remake to remove extraneous reprint of CMLPATHNAMECOMS
2024-04-09 15:41:11 -07:00
rmkaplan
d5cc219895 NSDISPLAYSIZES: A better attempt at TERMINAL and TITAN (#1655)
This now builds in knowledge of which Titan and Terminal fonts actually exist, so it doesn't try to increase the size to a black hole.  Still a hack, but there are so many MOVD's involved that it is really hard to see how to do it with a generic FIND-NEXT-LARGEST-FONT.
2024-04-08 16:32:33 -07:00
Frank Halasz
a1a99c04cd Add PLOTANDNC-PATCH from obsolete back to lispusers since its used by Notecards - specifically NCPLOTCARD (#1647) 2024-04-06 21:40:13 -07:00
rmkaplan
f4fd00f8b8 Systematically renamed internal Tedit files with \TEDIT
This includes some files in lispusers that are not in the Tedit core but had references to Tedit internal functions (TMAX, DOC-OBJECTS and some others) that have been renamed. (I hope to clean out those internal references, at some point.)

A few additional changes are here to track the changes that were recently made in the unrenamed master branch.  Going forward, I want to make future changes in this branch.

Eventual plan is to introduce a Tedit package and do another systematic renaming of all \TEDIT.xxx functions to TEDIT::xxx, this is a first step.

This does not yet include a backward-compatibility mapping of oldnames to newnames, as was discussed in the technical meeting.
2024-04-01 20:49:06 -07:00
rmkaplan
f6eb5d9846 Fixex to \FORMATBYTESTRING and \FORMATBYTESTREAM (#1618)
Motivated by the fact that FILEPOS was not being properly informed that the bytes of the encoded stream are stable (unlike XCCS) so it can run at the byte level without character decoding.
2024-04-01 20:21:38 -07:00
rmkaplan
90dc568bae COMPAREDIRECTORIES makes directory filedate consistent with internal date of Tedit files (#1637) 2024-04-01 19:52:56 -07:00
rmkaplan
720ce08483 COMPARESOURCES ignores arbitrary forms, not just comments (#1533)
* COMPARESOURCES ignores arbitrary forms, not just comments

* Update COMPARESOURCES.TEDIT

* COMPARESOURCES.TEDIT -- typos
2024-04-01 16:13:53 -07:00
Larry Masinter
9b82f1a7c2 lmm57 interrupts clipboard wheelscroll (#1634)
* Changes to interrupt initialization for CLIPBOARD and WHEELSCROLL

* fixed initialization
2024-04-01 15:18:40 -07:00
rmkaplan
e92381b706 SEDIT-MAN arms Meta-D in SEDIT for man page (#1624)
Initial attempt
2024-04-01 15:16:07 -07:00
rmkaplan
2341531ac3 Minor updates to Tedit files (#1617) 2024-04-01 15:04:52 -07:00
rmkaplan
8df2418f97 On-demand UNICODE with READBOM, new .TEDIT, and small 2-way run-time mapping tables (#1620)
Replaces PR rmk105--UNICODE-on-demand
2024-04-01 15:03:45 -07:00
Frank Halasz
5437fac7aa Merge pull request #1636 from Interlisp/rmk3--Add-TEXTOBOJ-to-TEDIT.PROMPTPRINT-in-TEDIT.PUT
Address issue #1635
2024-04-01 11:29:04 -07:00
rmkaplan
fa39f9ec5d Address issue #1635 2024-03-31 23:52:13 -07:00
Frank Halasz
e4c4bb9f8d Remove extra scheduled Medley builds that were added for testing purposes last weeek. (#1615) 2024-03-25 11:57:34 -07:00
Frank Halasz
43374862e5 Merge pull request #1604 from Interlisp/rmk114--Add-TEDIT.XYTOCH-for-Notecards
Add TEDIT.XYTOCH for Notecards
2024-03-25 11:28:54 -07:00
Frank Halasz
6cbacf754b Merge branch 'master' into rmk114--Add-TEDIT.XYTOCH-for-Notecards 2024-03-25 11:26:53 -07:00
Frank Halasz
ef6d2d5b03 Merge pull request #1606 from Interlisp/rmk115--TEDIT.NORMALIZECARET-all-visible-caret-to-top
TEDIT.NORMALIZECARET moves line with left-most selection to the top
2024-03-25 11:22:53 -07:00
rmkaplan
121a166047 TEDIT.NORMALIZECARET moves line with left-most selection to the top 2024-03-21 21:51:55 -07:00
rmkaplan
1a550ce499 Add TEDIT.XYTOCH for Notecards
Provide a simple public interface function
2024-03-21 10:34:43 -07:00
Larry Masinter
9232a0db90 add more info on setting up directories (#1600) 2024-03-21 05:57:22 -07:00
rmkaplan
0a37520014 Fix for TTYINPROMPTFORWORD's bad behavior on CR termination (#1565)
Brute-force addition of parameter to TTYIN that BKSYS/DELETE function (TTYINUNREADBUF) can access freely.  Seems to work.
2024-03-20 20:34:47 -07:00
rmkaplan
6155bcb430 Off-by-one in the interpretation of the event length (#1585) 2024-03-20 20:31:42 -07:00
Larry Masinter
8ca35635e5 first cut at better build explanation (#1507)
* first cut at better build explanation for how medley sysouts are made.
2024-03-20 15:49:04 -07:00
Matt Heffron
2f7972e78d The BUTTONS lispusers package will edit the button content in the TTY process. So, for example, a copy-paste to the EXEC that had the TTY is not possible. Changed to invoke EDITE as a new process, instead of in the TTY process. (#1594)
(Lots of changes in file because change from FAST-formatted to PRETTY-formatted file. Actually only 1 line of code changed.)
Second, cleaned up, attempt.
2024-03-19 21:28:33 -07:00
Frank Halasz
2a88ad712e Further cleanup on cpv script; (#1506)
* Further cleanup on cpv script; add back a ln_or_cp function and use it to cp only when ln fails for all instances of linking/copying in the script;  better handling of case where the unversioned dest file does not exist but version versions of the file DO exst.

* cpv: remove local declarations to be Posix-compliant
2024-03-19 21:24:35 -07:00
Frank Halasz
51cb65cf37 Fix issue with release workflow whereby not pushing docker image to docker hub / update versions on all actions (#1589)
* Update all workflows to use latest versions of actions to accomodate deprecation of Node 16; Change how inputs are handled due to changes in the inputs context in guthiub actions.

* Add more schedule kickoffs for buildRelease... for testing purposes
2024-03-18 22:02:43 -07:00
Frank Halasz
220c995cda Minor Tedit tweaks to help Notecards get rid of TEXTOBJs (#1586) 2024-03-18 17:22:37 -07:00
Matt Heffron
fcd0206611 Merge pull request #1582 from Interlisp/fix-wholine-package
Fix bug in setting package with wholine
2024-03-18 17:05:43 -07:00
Matt Heffron
d0edc69cd7 Merge branch 'master' into fix-wholine-package 2024-03-18 17:04:40 -07:00
rmkaplan
5ad5083c6d GREP: avoids tedit-file formatting, font change chars in Lisp source files, adds TGREP (#1513)
* GREP: avoids tedit-file formatting, font change chars in Lisp source files, adds TGREP

* Oops, TAB is not a fontchange character

* Updated documentation GREP.TEDIT

* Avoids EXPORTS.ALL by doing SYSREC1

* Don't change the outcharfn

* Make it work on Tedit files

* Print out the filename instead of the stream for Tedit files
2024-03-18 16:21:06 -07:00
Larry Masinter
8e07e25b9a import an LOOP macro (#1579)
* import an LOOP macro
* add to loadup

* change CML-LOOP to XCL-LOOP finish
* Change package to LOOP, no nickname; 'loop' and 'loop-finish' are in LISP package
 Install copyright/acknowledgement
2024-03-16 19:57:20 -07:00
rmkaplan
c66583e7b0 Rmk110 fix unpackfilename.string (#1573)
* ADIR:  prevent segmentation fault on Intel macs

* Move the coercion of STRUCTURE and GENERATION down into UNPACKFILENAME.STRING

It was just in FILENAMEFIELD and FILENAMEFIELD.STRING, I think the coercion should be uniform
2024-03-16 19:47:53 -07:00
Larry Masinter
a86c5ad145 start with makefile new 2024-03-16 12:11:19 -07:00
rmkaplan
dd60b85658 IMTEDIT and IMINDEX (#1571)
Backquote commas were escaped in IMTEDIT.  Also put the AFTERHARDCOPYFN on the text proplist, removed the advice in IMINDEX.
2024-03-15 15:55:24 -07:00
rmkaplan
b038a6b16e Rmk112 fix tedit hardcopy smash (#1580)
* Hardcopy wasn't binding the internally created textstreams, only the textobjs

* Putting the stream instead of the textobj in hardcopy lines

* TEDIT-SCREEN:  Fixed \FORMATLINE to deal with a last-line ending in white space

* Added TEDIT-STRESS

Not part of the loadup, a collection of offline routines to stress various Tedit interfaces
2024-03-15 12:31:19 -07:00
rmkaplan
5e5fea9ceb Rmk107 rename lafite files take2 (#1566)
* First commit:  git mv of all XXX.* to LAFITE-XXX.*

* Update all internal references to renamed Lafite files.

---------

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Co-authored-by: Larry Masinter <LMM@acm.org>
2024-03-13 11:49:16 -07:00
rmkaplan
44e42940a9 Tedit 4th round (#1352)
* INSPECT:  Sort datatype fields alphabetically, fixed a small bug

* INSPECT:  Sort only DATATYPE records

* VIRTUALKEYBOARD:  fix loadup

* Reorganizing VIRTUALKEYBOARDS as described in #1267

* KEYBOARDEDITOR:  fixed one bug, still is out of step

* MEDLEYDIR: Pack DSK as the default HOST on the value of (UNIX-GETENV "MEDLEYDIR")

* Move KEYBOARDCONFIGS KEYBOARDEDIT to library/virtualkeyboards

This collects all files relevant to VIRTUALKEYBOARDS into the same subdirectory

* NEARESTCORNER must be onscreen  (addresses #1294

Mouse jumps to the nearest onscreen corner of the ghost region

* EQUALALL tests equivalence of bitmaps and big bitmaps

* Oops, off by one

* INSPECT:  had wrong test in deciding whether to sort or not

* Improve check for closed stream in \UFSCloseFile.

Check if the (STREAM ACCESS) bits are NIL, indicating a closed stream, and
if so do not attempt to close the file again

* COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT, EXAMINEDEFS

Relatively minor cleanups, little or no functionality improvements

* Remove calls to OPENFILE

OPENFILE is a residual Interlisp function that returns a litatom instead of a stream.  In almost all cases, this immediate causes an error that litatom files are no longer supported.  I have found (FINDCALLERS) all the examples in lispusers/sources/library/ and replaced OPENFILE with OPENSTREAM (except for the calls from \PEEKPUP and \PEEKNS, that I didn't track down).  There was a trivai call in COMPILE.FILECHECK in COMPILE, but that function is not called anywhere.  So I removed it.

* ADIR:  remove OPENFILE calls, also another stab at \COPYSYS

With respect to \COPYSYS, this replaces the draft PR #1263.  This applies TRUEFILENAME at the start, but remembers whether it was in fact a pseudohost and restores that for the return value.  So if you start in a pseudo world you end up there.

* Next version of TEDIT core files

* Update

* Update

* UPDATE

* UPDATE

* UPDATE:  FORCE-END fix

* FILEIO:  OPENSTREAM parameters default to STREAMPROP

also add LINELENGTH

* Expose useful subfunctions

* TEDITDORADOKEYS - compatibility with new declarations

* Update tedit-exports.all

* * removed from title when all changes are undone

* Delete old tedit fiels

* Add TEDIT.FILEDATE

* REGISTER-TYPED-REGION creates a new TYPED-REGIONS entry

If a window is closed whose region is of an as-yet-unknown type, a new entry will be added implicitly to TYPED-REGIONS to that that region and future regions of that type can be recycled.

* COMPAREDIRECTORIES:  Get AUTHOR only if selected

This may provide a little speed up.  But of more importance, almost all the array crashes I am seeing are underneath (GETFILEINFO xxx 'AUTHOR).  The UFS implementation may be smashing array space, or maybe it is just detecting the corruption.  For now, I'm eliminating this potential source of bad behavior.

* Hilighting and caret flashing in split windows

* A little more on window splitting caret/hilights

* Rename caret functions

* REGIONMANAGER:  Compatibility with REGIONMANAGER PR

* EXAMINEDEFS: Better interpretation of TYPE NIL = (FNS FUNCTIONS) with better formatting

* Refining caret behavior, importing separate changes also in other PRs for compatibility

* Mostly dealing with highlighting and caret flashing in split windows

* FONTPROFILE: specvars declaration for cleanliness

* Prep for UTF8, a little performance tuning

* Meta EOL = non-paragraph linebreak

* Back-scrolling based on linebreak characters, not paragraph breaks, also eliminate obsolete code

* FIddling around with window titles (getting *'s when changed), dealing with titles  not computed by Tedit

* Recompile DOC-OBJECTS because \DIRTY bit has changed

* COMPARETEXT: fixed to avoid EOF error if EOL gets confused

* CLIPBOARD (bug fix also a separate PR)

* \TEXTBOUT of EOL doesn't create a paragraph, though typing does

Otherwise, every line in a plaintext or lisp sourcefile is a separate paragraph, which adds unnecessary overhead.

* TEDIT-PCTREE:  Move some straggling piece and btree functions to their proper home

* Change \TEDIT2 to \TEDIT1 as a way of recognizing a Tedit process

* Prepping for more speed up in SEEing of large source files

* Miscellaneous stability/maintenance/performance changes

Fixes the TEDIT.TITLEMENUFN problem, adds TEDIT.COLLECT.OBJECTS

* TEDIT-FILE :  fix readers for obsolete Tedit file formats

* Cleanout misplaced pane/ files

* Fix for most of the lispusers/ hardcopy failures

They all had to do with the diacritic overbar in Env-os.

* Another diacritic glitch

* MODERNIZE:  Fixed off by one bug in NEARESTCORNER

* Update tedit-exports.all

* The "HELP PURGE" problem, plus a little cleanup

* hide initial caret in menus

* TEDIT-LOOKS, TEDIT-PCTREE:  prep for reducing FIXP's

* LLSYMBOL's FILEMAP was also incomplete

This update hopefully won't reveal any other problems

* Introduce NOTSPLITTABLE TEXTPROPERTY

If T, window-splitting cannot happen for this text stream.  Hopefully removes need for Notecards advice on \TEDIT.SPLITW.

* PSEUDHOSTS and .TEDIT: Apply TRUEFILENAME on PREFIX, update documentation

Documentation addresses #1303 .  Using TRUEFILENAME makes sure it always goes to a ground instance in e.g.  (PSEUDOHOST 'MEDLEY '{MEDLEY}).

* Don't allow Put of readonly file

* Inverted selection (black) hilights in readonly texts

More visible than a little underline when there is no blinking cursor

* Remove redundant type-tests

The I.S.OPRs test the I.V. type for lines and pieces, so that field accesses can safely be fast inside the loops

* MULTIPLE-HARDCOPY: at least fix obvious issues with new Tedit

Also avoided FILELST as a bound variable.  This needs work and maybe a little support from Tedit--it shouldn't be advising and unadvising a Tedit function.

* TEDIT-SELECTION:  Fix hilighting glitch with READONLY texts

(Shift select should have its usual highlighting)

* TEDIT menus are not splittable

* TEDIT-FILE fixes imageobj bug in old Tedit formats

Revealed by running HCFILES

* Improve conversion of unformatted to formatted

Also cache HINTPC inside \CHTOPC

* Fix to pageregion problem in old versions

Also adds TEDIT.NCHARS

* Code cleanup after testing faster scrolling

* EXTERNALFORMAT: \CHECKECOLC macro confusedf ANY vs CR EOL convention

* Recompile callers of \CHECKEOLC macro

* EXTERNALFORMAT: \CHECKECOLC macro confusedf ANY vs CR EOL convention

* Recompile callers of \CHECKEOLC macro

* Mostly work on scrolling and  HCFILE issues

* Trying to fix PSEUDHOSTS conficts

* PDFSTREAM

Backing up to fix merge problems

* update EXTERNALFORMAT to avoid conflicdt

* Mostly diacritic display and hardcopy

* Change DIRTY field to LDIRTY

* Added new user function TEDIT.FINDLOOKS

* WINDOWOBJ:  READIMAGEOBJ doesn't ask for permission

If the image object is on a hyphenated file and it can find a nonhyphenated sister, it loads that.  If that doesn't provide the getfn, it tries the original file.

* If ANY and no CR after LF, return EOL instead of CR

* Move charset management to externalformat (addresses #1454)

Removed IMCHARSET from IMAGEOPS declaration, added FORMATCHARSETFN to EXTERNALFORMAT, put XCCS charset handling in the XCCS externalformat.

* XCCS, fixed a glitch

* Fix EXTERNALFORMAT clash

* Mostly CHARENCODING

* TEDIT-PF-SEE:  Use TEDIT.ATOMBOUND.READTABLE

Tedit word-selection → atom selection in source files

* For merging with new charset arrangement

* Mostly work on hardcopy-display

Also asks before it saves a plaintext file as a formatted file

* Changing to hardcopy display doesn't mark "dirty"

* Mostly Put and Get, reorganizing for UTF8, plus odds and ends

* Straggler: TMAX-XREF.LCOM

* Meta-EOL

* Fix and extend page-format updates

Original TEDIT.PAGEFORMAT was unsafe and less useful.  Also did not update history for undoing.

* Use window's screen's height/width to test offscreen

* Write and read unbreakable character property

* Don't suggest put-name if TEMPLATE

* 2 point hilight if readonly

* Mostly proper treatment of invisible pieces and forward char-delete

* Forward word delete, better paragraph selection, cleanup, lisp source atom selection

* fix conflicts for merge

* fix incompatible merge

* Updates including UTF-8 plaintext files

Other continuing cleanups

* Continue edit after writing out UTF-8 plaintext

* TEDIT-FILE   EOL stays EOL after putting to a different EOL convention

for continued editing.

* Update EXTERNALFORMAT from master

* Get rid of needless file change

* EOL processing

* Fix Lafite glitches

Including relaxing constraints on the order of pieces in Tedit files.

* Unsplit any existing panes before main window is reused

* TEDIT-FILE glitch

* Better TEDIT.FORMATTEDFILEP, more TEDIT.CONCAT

* Headings with concatenated Tedit files

* Adjust page headers and numbers

* Reshaping reestablishes the YBOT of PLINES

* Tighten up on binable, better error when binning on empty textstream

* TEDIT.PUT.STREAM, left click gives point selection

* TEDIT.PUT.STREAM

* Unhighlighting of menu buttons

related to point vs. single-character selection

* Better behavior when moving to foreign target

also some cleanup of the file-putting code

* More improvements to cursor tracking

* Single-char shift-selection (lost an edit)

* Try it again

* Suppress EOF error

* BIN instead of GETBASEBYTE, more cleanup of buttonevent and TEDIT.PUT

* Mostly work on process and menu configuration

* A little more careful in choosing the current selection (as opposed to prior search target) for find and substitutes

Use the selection if it is greater than a single character, otherwise the prior target.  meta,G is available for clearly just repeating the prior target.

* Make the names of the Tedit menu process more distinctive

E.g. TEDIT-Charlooks instead of TEDIT#2.  TEDIT and TEDIT#n stand out as the document processes.

* Logically correct undo of Move between different documents

The destination document keeps the delete event in the source, if it is still the most recent source event when the move is undone, the deletion is undone in the source.  Otherwise, the deletion is ignored.

* Line spacing reflects offsets

* TEXTPROP returns length

* TEDIT-HISTORY:  Redo of a move just does a new-location insert

* remove unwanted cpv from PR

* Removed the unecessary SPTEXTOBJ field in SELPIECES, move work on move-undo

* Fix hardcopy bug

* More work on the hardcopy interface

* TEDIT-FILE addresses put of empty stream (issue #1577)

---------

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Co-authored-by: Larry Masinter <lmm@acm.org>
2024-03-11 23:12:46 -07:00
rmkaplan
35b7195ed5 DINFO was expecting to use a closed textstream without reopening (#1576)
* DINFO was expecting to use a closed textstream without reopening

Not sure why it got closed.  Also fixed some escaped backquote commas (not sure that was necessary, but...)

* Oops, dropped out the PROG1
2024-03-10 21:59:59 -07:00
rmkaplan
10d83c5f5d Extended EQUALALL with BLOCKEQUALP test for equivalent arrayblocks (#1480)
HPRINT:  Better BLOCKEQUALP, still heuristic on true blocks
2024-03-04 21:30:04 -08:00
Larry Masinter
a80788201f Fix \MAPMDS, compile STORAGE lispusers, fixes HARDRESET problem too (#1159)
* Fix \MAPMDS, compile STORAGE lispusers, fixes HARDRESET problem too

* don't use BCOMPL on LLDATATYPE, needs FAKE-COMPILE-FILE
2024-03-04 16:26:24 -08:00
rmkaplan
3c237c1937 INSPECT: Sort datatype fields alphabetically, fixed a small bug (#1247)
* INSPECT:  Sort datatype fields alphabetically, fixed a small bug

* INSPECT:  Sort only DATATYPE records

* INSPECT:  had wrong test in deciding whether to sort or not

---------

Co-authored-by: Larry Masinter <lmm@acm.org>
2024-03-04 15:00:41 -08:00
Larry Masinter
174bbe8e14 Fix problems due to FX record incompatibly on SPY, miscompiled (#1561)
* Fix problems due to FX record incompatibly on SPY, miscompiled

* PROC recompile for safe measure

* Add ASTACK.LCOM, also needed recompile!
2024-02-28 18:33:28 -08:00
Paolo Amoroso
d48bd9f77a Update documentation link (#1559)
Replace the documentation link to the Wiki with the link to the Using Medley page of the project site.

Signed-off-by: Paolo Amoroso <info@paoloamoroso.com>
2024-02-27 11:09:37 -08:00
Frank Halasz
76a6e26faa Update APPS-INIT to update NOTECARDSDIRECTORIES appropriately (#1555)
* Add to APPS-INIT code to always update NOTECARDSDIRECTORIES since automatic builds do not set this correctly

* Add AROUNDEXITFN to reset NOTECARDSDIRS after returning from logout, etc.
2024-02-25 19:59:10 -08:00
Matt Heffron
f8521c612e The setting to NEVER wasn't suppressing asking. (#1550)
The issue was incorrectly getting the ROOTFILENAME as where to attach the COPYRIGHT property.
2024-02-24 19:14:31 -08:00
Larry Masinter
de7a1e1deb Add (FILES LAFITE) to UNIXMAIL -- must load lafite before loading UNIXMAIL (#1553) 2024-02-24 19:03:29 -08:00
Larry Masinter
49cb172e3d Start of a DEMO facility to run demos from inside Medley (#1118)
* Start of a DEMO facility to run demos and part of automatied testing from inside Medley

Originally done for the BALISP 2023 talk. Possibly of use for building tests as well as demos.
2024-02-23 17:55:20 -08:00
Matt Heffron
cedc8d1e11 Merge pull request #1532 from Interlisp/mth4--Add-default-to-suppress-DUMPDB-asking-copyright-owner
DUMPDB annoyingly always asked COPYRIGHT owner when dumping DB
2024-02-20 17:24:19 -08:00
Larry Masinter
496fa408c2 Make macros that expand to fetch or replace note the record fields used. (#1548) 2024-02-20 15:16:55 -08:00
Matt Heffron
60e390789c Change the default value for DEFAULTDATABASECOPYRIGHTOWNER to 'NEVER.
This is so dumping the database never asks about copyright. Copyright on these database files is pretty nonsensical.
2024-02-19 16:34:26 -08:00
Matt Heffron
4dec18527e Made this "smarter":
If COPYRIGHTFLG is NEVER
   or DEFAULTDATABASECOPYRIGHTOWNER is NIL
   or the .DATABASE file already has a COPYRIGHT property
Then
   No need to do anything special (it already shouldn't ask)
Else If DEFAULTDATABASECOPYRIGHTOWNER
   is NONE or NEVER Then Set the COPYRIGHT to NONE (I.e., never mention it again.)
   is SAME Then Same as the source file. If it doesn't have one, then just normal handling
   is DEFAULT Then Use the general default for copyright: DEFAULTCOPYRIGHTOWNER
   Otherwise: Enable the general copyright defaulting.
              Hopefully, DEFAULTDATABASECOPYRIGHTOWNER is one of the COPYRIGHTOWNERS keys.
2024-02-07 18:47:37 -08:00
Matt Heffron
3ca4495c76 Added NONE in addition to NEVER as DEFAULTDATABASECOPYRIGHTOWNER to preset to (NONE).
The change from USEDFREE to SPECVARS may be irrelevant.
I thought that was the issue when using NONE as DEFAULTDATABASECOPYRIGHTOWNER didn't do as expected.
The DEFAULTCOPYRIGHTOWNER must be one of the "real" entry keys on COPYRIGHTOWNERS.
2024-02-06 21:31:30 -08:00
Matt Heffron
6eeccb40cb DUMPDB annoyingly always asked COPYRIGHT owner when dumping DB (unless COPYRIGHTFLG suppressed).
I added DEFAULTDATABASECOPYRIGHTOWNER (INITVARS to NIL; to preserve current behavior).
If it is EQ to NEVER, then the COPYRIGHT property on the file.DATABASE is set to (NONE) to forever suppress asking about copyright.
If any other non-NIL value, then COPYRIGHTFLG is bound to 'DEFAULT, and DEFAULTCOPYRIGHTOWNER is bound to the value of DEFAULTDATABASECOPYRIGHTOWNER.
2024-02-06 20:49:51 -08:00
Frank Halasz
2647d98f8f Merge pull request #1519 from Interlisp/fgh_modernize-for-nc
In MODERNIZE, fixed \MODERNIZED.TEDIT.BUTTONEVENTFN so it can work with Notecards
2024-02-05 15:12:13 -08:00
Frank Halasz
b52015e71d \MODERNIZED.TEDIT.BUTTONEVENTFN passes down a hardwired value for TITLEPROPORTION of NIL. This prevents the Notecards left button title bar menu from ever being shown. Replaced this hardwired NIL value with (WINDOWPROP W 'MODERNIZE.TITLEPROPORTION) so that Notecards can set this Windowprop and hence get its left title bar menu. 2024-01-27 14:06:45 -08:00
Matt Heffron
39ee2ecb5d Merge pull request #1518 from Interlisp/mth1--a-few-UNICODE-cleanups
A few fixes to UNICODE that I stumbled across.
2024-01-26 16:12:25 -08:00
Matt Heffron
a90b7ed73d A few fixes to UNICODE that I stumbled across.
READ-UNICODE-MAPPING-FILENAMES returned a bare string if FILESPEC matched 1 file (first clause of the (OR...) in join), this caused READ-UNICODE-MAPPING to fail.
SHOWCHARS referenced variable CODE that should have been C
Added FILETYPE property to UNICODE to specify TCOMPL compiler.
(Other changes are formatting by pretty printer, not mine.)
2024-01-26 14:38:04 -08:00
rmkaplan
54b2607070 Removed STORAGE.LCOM (#1511) 2024-01-19 23:53:12 -08:00
rmkaplan
971e8936b6 Replace \TEDIT.FORMATTED1 with TEDIT.FORMATTEDFILEP (#1508)
Internal \TEDIT.FORMATTED1 is being decommissioned
2024-01-19 21:49:45 -08:00
rmkaplan
e276460836 HRULE: More informative error messages (#1501) 2024-01-14 17:46:24 -08:00
Frank Halasz
ab818ff335 Merge pull request #1500 from Interlisp/repair-cpv
oops missing edit cpv
2024-01-12 17:23:16 -08:00
Larry Masinter
47d77542be oops missing edit cpv 2024-01-12 11:59:32 -08:00
rmkaplan
934d0fb7a4 Move charset management to externalformat (addresses #1454) (#1455)
* Move charset management to externalformat (addresses #1454)

Removed IMCHARSET from IMAGEOPS declaration, added FORMATCHARSETFN to EXTERNALFORMAT, put XCCS charset handling in the XCCS externalformat.

* XCCS, fixed a glitch

* UNICODE: Remove merge conflict

* Fix typo CLFUNCALL, MAKEFILE NEW and BCOMPL (versions didn't match)

---------

Co-authored-by: Larry Masinter <lmm@acm.org>
2024-01-12 11:42:22 -08:00
Frank Halasz
6420bdcf27 Fix for Issue #1472 (loadup failure on btrfs): update how cpv scripts handles hardlink versus copy (#1497) 2024-01-12 05:34:57 -08:00
rmkaplan
1d6e43e1ea Minor fixups (typos, formatting) to a few existing documentation files (#1470)
* Mostly minor fixups (typos, formatting) to a few existing documentation files

Plus converting the Unicode documentation from TXT to formatted

* Update UNICODE.TEDIT

Previous version did not have page-looks (heading location etc.)

* UNICODE.TEDIT:  write unbreakable charlook property

* Delete UNICODE.TEDIT

Master has a newer version, trying to eliminate conflict
2024-01-10 12:31:28 -08:00
rmkaplan
8837c61f85 SKETCHOPS (unhyphenated) should have been included (#1464) 2024-01-10 10:49:04 -08:00
rmkaplan
18aae01362 Suppresses size coercion for Titan 12 (#1476)
* Suppresses size coercion for Titan 12

* Typo
2024-01-10 10:48:03 -08:00
rmkaplan
a84242561a Rmk100 unicode utf 8 update (#1489)
* UNICODE:  a few additional Tedit helpers, revised documentation

* New JIS files (courtesy of Peter)

* Updated mapping files (courtesy of Peter Craven)

* UNICODE:  changed SHOULDNT to ERROR
2024-01-10 10:47:16 -08:00
Matt Heffron
70885c5a19 Merge pull request #1487 from Interlisp/mth-LockXorShift-issue-1486
change for CapsLock & Shift to be XOR vs OR.
2024-01-10 10:02:50 -08:00
Matt Heffron
57de705f39 Fix error in flag testing logic.
(No more midnight coding!)
2024-01-03 16:12:23 -08:00
Matt Heffron
7c3fa261c7 Rename KEYBOARD.SHIFTXORLOCK to SHIFTXORLOCKFLG.
(More inline with Medley/Interlisp convention.)
2024-01-03 12:37:30 -08:00
Matt Heffron
7fe4d2dcca Merge branch 'mth-LockXorShift-issue-1486' of https://github.com/Interlisp/medley into mth-LockXorShift-issue-1486
# Includes changes to make Shift XOR Lock behavior be conditional on GLOBALVAR KEYBOARD.SHIFTXORLOCK:
#	sources/LLKEY
#	sources/LLKEY.LCOM
The changes were made before the merge, and then Stashed.
2024-01-03 00:41:28 -08:00
Matt Heffron
30a4697d75 On Branch_medley-231217-3727653e: LLKEY 2024-01-03 00:22:14 -08:00
Matt Heffron
60a766574d index on Branch_medley-231217-3727653e: 3727653e Rmk96 move sketch files to library/sketch (#1446) 2024-01-03 00:22:14 -08:00
Matt Heffron
25a18f6bc0 Merge branch 'master' into mth-LockXorShift-issue-1486 2024-01-02 22:59:03 -08:00
Matt Heffron
6558a49adb change for CapsLock & Shift to be XOR vs OR. 2024-01-02 19:46:15 -08:00
Larry Masinter
4b30aa1640 update medley README to match new build instructions (#1458)
* update medley README to match new build instructions

* Remove NUL character

* Fix grammatical and typographic errors reported by Matt

* Fixed a few typos, some punctuation, a bit of wording, and removed the Docker references (Docker related files aren't in the repo anymore).

* A few more fixes

---------

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2024-01-01 21:35:58 -08:00
rmkaplan
3727653e23 Rmk96 move sketch files to library/sketch (#1446)
* Move all SKETCH files from library/ to library/sketch/

and rename subsidiary files SKETCHXXX to SKETCH-XXX, according to our hyphen convention.  This will allow SKETCH and all its subsidiary files to be loaded automatically when the sketch GETFN is required to display an image object.

* New files again

Somehow GITFNS produced smashed copies on the first attempt.  May have to do with the fact that Medley doesn't always report that it couldn't create a new directory, or otherwise behaves badly in that situation.
2023-12-17 16:42:59 -08:00
rmkaplan
b1294ea5e9 Rmk94 fix checkeolc macro (#1435)
* EXTERNALFORMAT: \CHECKECOLC macro confusedf ANY vs CR EOL convention

* Recompile callers of \CHECKEOLC macro

* If ANY and no CR after LF, return EOL instead of CR
2023-12-09 22:50:39 -08:00
Matt Heffron
2a9076bede Change files DEFINE-FILE-INFO (i.e., the IL:MAKEFILE-ENVIRONMENT) to fix issue #1447 (#1448) 2023-12-09 22:42:28 -08:00
rmkaplan
72456ce4ec WINDOWOBJ: READIMAGEOBJ doesn't ask for permission (#1449)
If the image object is on a hyphenated file and it can find a nonhyphenated sister, it loads that.  If that doesn't provide the getfn, it tries the original file.
2023-12-09 22:41:43 -08:00
rmkaplan
c8c4768315 WINDOWOBJ: Better handling of unknown image objects (#1436)
* WINDOWOBJ: Better handling of unknown image objects

2 changes:   If WHEREIS says that an unknown getfn is on FOO-FIE and FOO>FOO exists, then offer FOO in the mouseconfirm.  This should get all the support code (e.g. TMAX is offered instead of TMAX-NUMBER).  Issue #748.  Separately, if the getfn is not found when the file is opened (so the image object is encapsulated), the encapsulated imagebox fn will upgrade the image if the getfn exists when the object is redisplayed.

* Glitch
2023-12-02 15:51:20 -08:00
Larry Masinter
735108ecb7 Pull in newer or missing library/*.tedit files (#1398) 2023-11-29 14:05:09 -08:00
rmkaplan
f735fca83e POSTSCRIPTSTREAM: POSTSCRIPTFILEP applies also to closed files (#1434) 2023-11-29 07:14:00 -08:00
rmkaplan
560def37bc PSEUDHOSTS and .TEDIT: Apply TRUEFILENAME on PREFIX, update documenta… (#1385)
* PSEUDHOSTS and .TEDIT: Apply TRUEFILENAME on PREFIX, update documentation

Documentation addresses #1303 .  Using TRUEFILENAME makes sure it always goes to a ground instance in e.g.  (PSEUDOHOST 'MEDLEY '{MEDLEY}).

* PSEUDOHOSTS.LCOM and .TEDIT

Appear to have gotten out of step
2023-11-29 07:11:37 -08:00
rmkaplan
41f32b7db5 INTERPRESS fixes some of the Asciifont-to-NS character mappings, MATHTONS is obsolete (#1413)
* Fixes some of the character mappings from Ascii fonts into NS, moves Math mappings into Interpress

The separate lispusers/MATHTONS is now obsolete.

* INTERPRESS:  Add back empty ASCIITONSTRANSLATIONS

Turns out they were intended, not a mistake.  But that was just a shorthand for saying MODERN, as a fall back.  I made that explicit.
2023-11-29 07:09:38 -08:00
rmkaplan
ab831a46ba Add a hook to extend FILEBROWSER SEE, PDFSTREAM uses it (#1414)
So SEE of a PDF file should open up a desktop window in a pdf viewer.  (This uses PDFILEP, which looks inside the file, not at the extension.  So it might try to open a file with a wrong extension, and the viewer might fail.)
2023-11-29 07:04:58 -08:00
rmkaplan
f1cf759098 LLSYMBOL's FILEMAP was also incomplete (#1381)
This update hopefully won't reveal any other problems
2023-11-29 06:58:58 -08:00
rmkaplan
017bf88a3a FILEIO: OPENSTREAM parameters default to STREAMPROP (#1335)
also add LINELENGTH
2023-11-29 06:47:14 -08:00
Nick Briggs
b2f750e549 Restore NSPROTECTION files to lispusers (#1430) 2023-11-22 22:05:26 -08:00
Frank Halasz
8cf17ce950 Fix loadup-apps-from-full.sh so that it fails gracefully when a notecards directory cannot be found (#1428) 2023-11-21 21:40:19 -08:00
Larry Masinter
008aff1d25 EDITBMPATCHES already in EDITBM; NEW-SKETCH-COLOR saved but in Obsolete (#1379) 2023-11-20 22:58:06 -08:00
Larry Masinter
214cfb8674 Add some files to set analyzed in fuller.database (#1425) 2023-11-20 22:56:11 -08:00
Larry Masinter
2e7b88d0cc Recompile files that seemed to have \IS.NO.RANDACCESSP in compiled code (#1417) 2023-11-20 22:48:37 -08:00
Frank Halasz
14fbff63cf Merge pull request #1419 from Interlisp/fgh_LDEKBDTYPE
Set LDEKBDTYPE to X in run-medley - if not already set.  Works around issue with loading VIRTUALKEYBOARDS
2023-11-17 23:20:26 -08:00
Frank Halasz
bec32f475a Merge pull request #1420 from Interlisp/fgh_ShellBrowserGit
Fix minor issue in ShellBrowser - when using the git path was missing the web--browse subcommand.
2023-11-17 23:19:31 -08:00
rmkaplan
6e845d747f ADIR fix UNPACKFILENAME.STRING address #1416 (#1421)
The early . was seen as starting an extension, the ! then was seen as starting a version.  When the other marks caused those hypotheses to be revised, the extension's end wasn't being revised
2023-11-14 07:11:58 -08:00
Frank Halasz
459aeef74a Merge branch 'master' into fgh_LDEKBDTYPE 2023-11-13 13:07:55 -08:00
Frank Halasz
19ceac6515 Fix the git case in ShellBrowser. Was missing the web--browse argument. 2023-11-13 13:04:16 -08:00
Frank Halasz
914604a6eb Set LDEKBDTYPE to X in run-medley - if not already set. Fixes issue with loading VIRTUALKEYBOARDS 2023-11-13 12:42:34 -08:00
Larry Masinter
05f3ad19eb Update CLHS reference to use Interlisp CHLS instead; use UNIXUTILS ShellBrowser (#1412) 2023-11-13 12:12:56 -08:00
Frank Halasz
c62c183ae4 Update ShellOpen to handle versioned files; add ShellOpen into SEE-PDF in place of MacOS-specific open. (#1410)
* Update PDFSTREAM: integrate ShellOpen into PDF-SEE in place of MacOS specific calls; update how PDFCONVERTER is set to fix bug whereby it was always ps2pdf

* Fix ShellOpen so that if a file to open is versioned then that file is copied to tmp and its filename is changed from foo.pdf;25 to foo~25~.pdf and this tmp is passed to the opener instead of the original file.  This is so that the extension is preserved as the last thing when there are versions.  The extension as the last thing is used by most openers to determine the file type.

* Oops. Checked in the wriong versions of UNIXUTILS(.DFASL) last commit.  Correcting that here.
2023-11-11 11:05:24 -08:00
rmkaplan
328d3f53cd NEARESTCORNER must be onscreen (addresses #1294 (#1295)
* NEARESTCORNER must be onscreen  (addresses #1294

Mouse jumps to the nearest onscreen corner of the ghost region

* MODERNIZE:  Fixed off by one bug in NEARESTCORNER
2023-11-03 17:45:49 -07:00
rmkaplan
5b90251210 Patch to REGIONMANAGER and ADISPLAY for SCREENREGIONS (#1387)
For ADISPLAY, just added SCREENREGIONP.  Fixed typos in REGIONMANAGER.TEDIT
2023-11-03 17:39:33 -07:00
rmkaplan
713f2388c7 COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT, EXAMINEDEFS (#1329)
* COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT, EXAMINEDEFS

Relatively minor cleanups, little or no functionality improvements

* COMPAREDIRECTORIES:  Get AUTHOR only if selected

This may provide a little speed up.  But of more importance, almost all the array crashes I am seeing are underneath (GETFILEINFO xxx 'AUTHOR).  The UFS implementation may be smashing array space, or maybe it is just detecting the corruption.  For now, I'm eliminating this potential source of bad behavior.

* EXAMINEDEFS: Better interpretation of TYPE NIL = (FNS FUNCTIONS) with better formatting

* COMPARETEXT: fixed to avoid EOF error if EOL gets confused
2023-11-02 19:23:38 -07:00
rmkaplan
f49729cbd3 COLOROBJ never worked, move to obsolete (#1374) 2023-10-30 21:37:59 -07:00
Matt Heffron
bdf03e08a1 Modify CL:CHAR-NAME always to return string from lookup in IL:CHARACTERNAMES. (#1377)
This *seems* to fix the issue with printing "control characters" in #\Name format.
2023-10-30 19:43:13 -07:00
Frank Halasz
b19cfd5bbb Revert "Merge pull request #1331 from Interlisp/Remake-CMLARITH-filemap" (#1376)
This reverts commit e2d8c9e5ad, reversing
changes made to 9054814ef7.
2023-10-30 13:21:24 -07:00
Matt Heffron
e2d8c9e5ad Merge pull request #1331 from Interlisp/Remake-CMLARITH-filemap
CMLARAITH:  Makefile new to get fns/functions in filemap
2023-10-29 22:51:41 -07:00
Matt Heffron
2ea1321d81 Merge branch 'master' into Remake-CMLARITH-filemap
Signed-off-by: Matt Heffron <mattheffron475@gmail.com>
2023-10-29 22:38:03 -07:00
Frank Halasz
9054814ef7 Add dribble file to app-from-full loadup (#1371) 2023-10-29 10:00:59 -07:00
rmkaplan
84dead86af Patch TEDIT.DEACTIVATE.WINDOW in old Tedit (#1361) 2023-10-28 14:34:25 -07:00
rmkaplan
5e83d63567 VIRTUALKEYBOARD: fix loadup (#1262)
* VIRTUALKEYBOARD:  fix loadup

* Reorganizing VIRTUALKEYBOARDS as described in #1267

* KEYBOARDEDITOR:  fixed one bug, still is out of step

* Move KEYBOARDCONFIGS KEYBOARDEDIT to library/virtualkeyboards

This collects all files relevant to VIRTUALKEYBOARDS into the same subdirectory
2023-10-28 14:21:32 -07:00
rmkaplan
bcfeda62e1 EQUALALL tests equivalence of bitmaps and big bitmaps (#1302)
* EQUALALL tests equivalence of bitmaps and big bitmaps

* Oops, off by one

---------

Co-authored-by: Larry Masinter <lmm@acm.org>
2023-10-23 21:18:57 -07:00
Frank Halasz
45513f563b Extend changes made in PR#1356 to medley/sh et al to handle -title arguments with space; extend to handle vnc case and well as without vnc case. (#1358) 2023-10-19 17:04:40 -07:00
Frank Halasz
db084c6281 Add copy-full.sh to loadup-full.sh script to copy loadup products from the tmp directory into MEDLEYDIR/loadups - make loadup-full akin to loadup-all (#1359) 2023-10-18 20:53:24 -07:00
Matt Heffron
6c53acaca8 Merge pull request #1356 from Interlisp/EnableMedleyWindowTitleWithSpaces
Modify launcher to enable --title STRING option to work when STRING has embedded spaces (multiple words).
2023-10-18 14:01:19 -07:00
rmkaplan
fbb5a8f6f5 Expose useful subfunctions in REGIONMANAGER (#1336)
* Expose useful subfunctions

* REGISTER-TYPED-REGION creates a new TYPED-REGIONS entry

If a window is closed whose region is of an as-yet-unknown type, a new entry will be added implicitly to TYPED-REGIONS to that that region and future regions of that type can be recycled.

* If a window with a typed-region is reshaped and then closed, the typed-region is also reshaped for reuse

Also, the typed-region of a window is pushed on the front of the TYPED-REGIONS list when the window is closed, so the most recent region of that type will be used the next time.  Recency seems more intuitive than primacy
2023-10-18 07:38:27 -07:00
Matt Heffron
cb8eab788a Modify launcher to enable --title STRING option to work when STRING has embedded spaces (multiple words). 2023-10-17 23:40:26 -07:00
rmkaplan
50dc0a9269 Remove calls to openfile (#1333)
* Remove calls to OPENFILE

OPENFILE is a residual Interlisp function that returns a litatom instead of a stream.  In almost all cases, this immediate causes an error that litatom files are no longer supported.  I have found (FINDCALLERS) all the examples in lispusers/sources/library/ and replaced OPENFILE with OPENSTREAM (except for the calls from \PEEKPUP and \PEEKNS, that I didn't track down).  There was a trivai call in COMPILE.FILECHECK in COMPILE, but that function is not called anywhere.  So I removed it.

* ADIR:  remove OPENFILE calls, also another stab at \COPYSYS

With respect to \COPYSYS, this replaces the draft PR #1263.  This applies TRUEFILENAME at the start, but remembers whether it was in fact a pseudohost and restores that for the return value.  So if you start in a pseudo world you end up there.

---------

Co-authored-by: Larry Masinter <lmm@acm.org>
2023-10-17 21:54:17 -07:00
Larry Masinter
9273cffce2 pull (non-working) TCP files to obsolete (#1283) 2023-10-17 21:34:17 -07:00
rmkaplan
df8c5a52f1 Also remade filemap for CMLCHARACTER (and changed from LCOM to DFASL)
CLEANUP is confused about how to compile.  This had FILETYPE = CL-COMPILE-TYPE, with an existing LCOM.  It produced a new DFASL, but the LCOM was still hanging around.  I'm deleting the LCOM here, pushing the new DFASL.
2023-10-17 13:33:18 -07:00
rmkaplan
a219ea03e5 Improve check for closed stream in \UFSCloseFile. (#1334)
Check if the (STREAM ACCESS) bits are NIL, indicating a closed stream, and
if so do not attempt to close the file again

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Co-authored-by: Larry Masinter <lmm@acm.org>
2023-10-16 15:54:34 -07:00
rmkaplan
2072deb6ae GITFNS: preserves casing of pseudohost prefix-paths of medley projects (#1344)
Also, minor edit to GITFNS.TEDIT, but now also includes a Tedit timestamp.
2023-10-16 15:37:09 -07:00
rmkaplan
f6c91ee11c FONTPROFILE: specvars declaration for cleanliness (#1351) 2023-10-16 15:35:17 -07:00
rmkaplan
adc27d9684 MEDLEYDIR: Pack DSK as the default HOST on the value of (UNIX-GETENV "MEDLEYDIR") (#1282)
Co-authored-by: Larry Masinter <lmm@acm.org>
2023-10-16 14:45:29 -07:00
Matt Heffron
d92aa6395a Manager (Lispusers) grow anchor, icon, and fix typo. (#1346)
* File See operations use full path to loaded file.
Add Manager.WINDOW-ANCHOR to fix corner from which MANAGER-MAIN-WINDOW grows, and (attempt) to keep it on-screen.

* Improved handling of the ICONW for MANAGER-MAIN-WINDOW.

* Fix typo in MasterScope functions (multiple occurrences: LOADBFLG should be LOADDBFLG).
Changed to CL compiler by default (not need to go to submenu). This is my preference, so I should remove it before setting pull request.

* Manual cleanup of multiple "Edited" comments in 4 FNS.
Reverted: Changed to CL compiler by default (not need to go to submenu). (From commit f60c6362)

* Update MANAGER.TEDIT documentation file.
Fix error in previous commit. (Changes that I thought were there, were not.)
Cleanup COMMON-MAKE COMS so it can be handled by the file package, and add .LCOM file to the repo.
2023-10-14 06:39:13 -07:00
Matt Heffron
f1833861cc Merge pull request #1348 from Interlisp/medley-issue-1347
Fix for typo; issue #1347
2023-10-13 10:41:05 -07:00
Matt Heffron
270fee89e3 Fix for typo; issue #1347 2023-10-12 13:19:59 -07:00
Frank Halasz
cba04e168c Merge pull request #1342 from Interlisp/PDFSTREAM
Pdfstream
2023-10-08 23:30:02 -07:00
Frank Halasz
1e847ec274 Add ShellOpen (and ShellOpener) to UNIXUTILS; fix small bug in UNIX-FILE-NAME (#1341)
* Add ShellOpener and ShellOpen to UNIXUTILS - used to open a file using the generic opener on this machine.  Adapted ShellBrowse and ShellBrowser accordingly; fixed bug in UNIX-FILE-NAME where it fails if file does not exist and COPY is non-NIL and access is INPUT

* Add return of error strings to ShellOpen
2023-10-08 19:34:43 -07:00
rmkaplan
f765676ec4 UNIXUTILS: Add UNIX-FILE-NAME etc on top of previous ShellWhich update--should resynch 2023-10-02 12:56:57 -07:00
rmkaplan
17c72a1f2f Merge branch 'master' into PDFSTREAM 2023-10-02 12:47:02 -07:00
rmkaplan
995c6de04e PDFSTREAM: First implementation (#1260)
* PDFSTREAM:  first implementation

Makes PS file, then applies separate utility (if available) to convert PS to PDF

* POSTSCRIPTSTREAM:  Adds extra field to postscript data for PDFSTREAM filename

* HARDCOPY:  fixes printer menu

* PDFSTREAM: define PDF fonts as POSTSCRIPT fonts

* PDFSTREAM: fix convert template

* PDFSTREAM:  Fix logic around closing the postscript sub-stream

* PDF Stream:  slight generalization

* PDFSTREAM uses AFTERCLOSE streamprop so doesn't require change to POSTSCRIPTSTREAM

* UNIXUTILS: moved PROCESS-COMMAND and SLASHIT from GITFNS and PSEUDOHOST resp.

PROCESS-COMMAND executes a command in process-stream, like ShellCommand, but returns a completion code and not what happens in the shell.  SLASHIT is an approximation (doesn't deal with versions) of converting a Medley file name to its Unix equivalent, to use in commands

* GITFNS:  PROCESS-COMMAND moved to UNIXUTILS, cleanups from previous (unexamined) PR

The other PR will be cleaned out

* PSEUDOHOSTS: Moved SLASHIT to UNIXUTILS, also includes minor change in previous (unexamined) PR, to be removed

* PDFSTREAM:  wrapped FULLNAME around TRUEFILENAME

* Restore POSTSCRIPTSTREAM

* UNIXUTILS:  Added UNIX-FILE-NAME

Produces a Unix filename corresponding to a Medley file name (slashes, version number).  For use in ShellCommand an PROCESS-COMMAND.

* PDF-STREAM:  added SEE-PDF

A little stub that (on a mac) does a shell command to open Preview on the Unix-named file corresponding to a medley name

(Also added back some key functions that got lost in a bad edit)

* Pick up master changes

---------

Co-authored-by: Larry Masinter <lmm@acm.org>
2023-10-02 12:39:25 -07:00
Larry Masinter
877c6fbf17 Pick up master changes 2023-10-02 12:36:39 -07:00
rmkaplan
97b19f1b96 PDF-STREAM: added SEE-PDF
A little stub that (on a mac) does a shell command to open Preview on the Unix-named file corresponding to a medley name

(Also added back some key functions that got lost in a bad edit)
2023-10-01 23:54:23 -07:00
rmkaplan
948b0e09d1 UNIXUTILS: Added UNIX-FILE-NAME
Produces a Unix filename corresponding to a Medley file name (slashes, version number).  For use in ShellCommand an PROCESS-COMMAND.
2023-10-01 23:52:40 -07:00
Frank Halasz
de4e5f5ca4 Add cygwin build & install script to buildRealease action; remove old Windows docker build / install (#1337)
* Add cygwin-sdl build to buildLoadup workflow; add installer for cygwin-sdl on windows

* Change how buildLoadup computes latest maiko release to accomodate draft releases

* Fix call to gh release list for maiko

* Debugging call to gh release list for maiko

* Debugging call to gh release list for maiko #2

* Debugging call to gh release list for maiko #3

* Debugging call to gh release list for maiko #4

* Debugging call to gh release list for maiko #5

* Debugging call to gh release list for maiko #6

* Change maiko downloads to accoiunt for draft releases

* Change maiko downloads to account for draft releases #2

* Specify shell (powershell) for Download cygwin installler

* Few cleanup items on cygwin-install

* Update ShellWhich to use command -v instead of which because which returns to much crap on cygwin and command -v is more portable overall

* Switch from using medley-loadup & -runtime tars to medley-full-*.tgz so we get full release incl notecards; delete maiko on install and replace with cygwin maiko

* Make sure Notecards doesn't try to load its HASH fileon PostGreet - for apps.sysout

* Add xdg-utils to cygwin install to support ShellBrowser

* Odds and ends on cygwin build

* Redo medley.iss install script to use tar from Windows rather than cygwin tar because cygwin tar was messing up ACLs in windows.  Needed to change creation of medley.bat accordingly.

* Remove junk lines from buildLoadup.yml

* Restore accidently deleted line to buildLoadup.yml

* Fix multiple issues with cygwin_installer filename; arrange to remove placeholder.txt from the release assets at the end of cygwin installer

* Change name of job from windows_installer to cygwin_installer

* Fix missing GH_TOKEN is removal of placeholder.txt; fix naming of output file in medley.iss

* Fiddling with getting cygwin-installer name right

* Redoing merge of medley.sh/medley.command to handle the Darwin plus Cygwin cases; is medley.iss recreate symbolic links surrounding the medley.sh script

* Fix typos/syntrax errors in medley.sh/medley.command
2023-09-27 10:41:01 -07:00
rmkaplan
af912247b3 Restore POSTSCRIPTSTREAM 2023-09-25 20:32:17 -07:00
Frank Halasz
ebb5c739ea Fix latest issues with docker build (and Release+Docker builds) for Medley (#1326)
* fix buildRealeaseInclDocker.yml to pass secrets via inherits rather than explicitly.  Attempt to fix issue with GITHUB_TOEN not being passed to buildRelease.yml

* In buildDocker.yml, fix up calculation of medley and maiko release to accomodate new naming scheme for medley deb files

* Update Dockerfile_medley with new deb file naming convention
2023-09-25 11:34:51 -07:00
rmkaplan
1bed018db8 CMLARITH: The compiled file was bad in the previous commit
This has a FILESLOAD for lispusers/UNBOXEDOPS that somehow didn't get executed by the previous cleanup.  (That may be a separate issue with the compiler interface, not clear that it always makes the right choices even when the FILETYPE property is set.)

But this also begs the question, why is UNBOXEDOPS on lispusers?
2023-09-24 16:41:52 -07:00
rmkaplan
8a8e6fa4dc CMLARAITH: Makefile new to get fns/functions in filemap 2023-09-23 23:30:25 -07:00
rmkaplan
bf2e34841b PDFSTREAM: wrapped FULLNAME around TRUEFILENAME 2023-09-23 22:56:54 -07:00
rmkaplan
9ed6448591 PSEUDOHOSTS: Moved SLASHIT to UNIXUTILS, also includes minor change in previous (unexamined) PR, to be removed 2023-09-23 16:32:03 -07:00
rmkaplan
445de6745d GITFNS: PROCESS-COMMAND moved to UNIXUTILS, cleanups from previous (unexamined) PR
The other PR will be cleaned out
2023-09-23 16:30:47 -07:00
rmkaplan
68ed78a9f9 UNIXUTILS: moved PROCESS-COMMAND and SLASHIT from GITFNS and PSEUDOHOST resp.
PROCESS-COMMAND executes a command in process-stream, like ShellCommand, but returns a completion code and not what happens in the shell.  SLASHIT is an approximation (doesn't deal with versions) of converting a Medley file name to its Unix equivalent, to use in commands
2023-09-23 16:23:46 -07:00
rmkaplan
1ae08139c9 PDFSTREAM uses AFTERCLOSE streamprop so doesn't require change to POSTSCRIPTSTREAM 2023-09-23 16:20:30 -07:00
rmkaplan
bb4e230df4 Merge branch 'master' into PDFSTREAM 2023-09-23 15:57:53 -07:00
Frank Halasz
02665ca91b Change github workflows to provide MacOs full release zip file (#1290) 2023-09-17 23:03:18 -07:00
Frank Halasz
b819e18c64 Fix Issue#1323: buildDocker.yml Github Action is failing due to Ubuntu 22.10 being deprecated (#1324)
* Remove trailing whitespaces in buildDocker.yml; move Dockerfile_medley base back to 20.04 since 22.10 deprecated.

* In Dockerfile_medley load tzdata early so as to avaoid problems later on.

* In Dockerfile_medley do an apt update before tzdata

* Changing dockerfile_medley to be based on 22.04 to take care on glibc problems in online_medley docker
2023-09-16 18:09:34 -07:00
rmkaplan
781709e4e1 PDF Stream: slight generalization 2023-09-12 13:49:56 -07:00
Frank Halasz
b772b8383c Moving vncviewer to online.interlisp.org/downloads to bypass issues with sourceforge in buildLoadup.yml (#1319) 2023-09-04 10:39:52 -07:00
Frank Halasz
701a642fb4 Merge pull request #1308 from Interlisp/fgh_loadups3
Fix issue with tmp/logindir remaining after loadup-all and loadup-db scripts
2023-08-15 15:31:33 -07:00
Frank Halasz
7f99792afe In loadup- scripts, at end remove the tmp and tmp/logindir directories if they don't exist before the script runs 2023-08-14 23:29:38 -07:00
Frank Halasz
6a147af97f Merge pull request #1304 from Interlisp/fgh_loadups2
Revamp loadup scripts and release-medley script; sync with github workflow buildLoadup.yml
2023-08-14 10:56:57 -07:00
Frank Halasz
41b5870164 Switch comparison of timestamp tocraeted file to ensure that when the times are equal it is counted as success and not failure. Remove two second wait from loadup-mid-from-init, which was a previous attempt to solve same issue. 2023-08-13 21:13:48 -07:00
Frank Halasz
3ed4d52f53 Remove junk accidently added to loadup-db.sh. Fix CM file in loadup-db-from-full.sh to add internal/loadups to DIRECTORIES so files in this subdir can be analyzed. Add delay into loadup-mid-from-init.sh to make sure timestamp race conditions are avoided. 2023-08-07 22:30:12 -07:00
Frank Halasz
3aa01c7a38 Making @nbrigg's check for existance of LOADUP_OUTDIR and LOADUP_WORKDIR a bit fancier 2023-08-07 18:00:53 -07:00
Nick Briggs
3cefaf338c Ensure that the LOADUP_OUTDIR directory exists as part of the loadup-setup.sh 2023-08-07 17:24:38 -07:00
Frank Halasz
204605268e Remove venuesysouts from release tars 2023-08-07 14:53:33 -07:00
Frank Halasz
62422cd4ce Add changes from PR#1307 (@masinter). Can't easily merge PR#1307 in directly because MAKEINIT has moved. These changes set OK.TO.MODIFYFNS to T for all loadups to prevent loadups asking if its OK to modify system functions 2023-08-07 13:35:25 -07:00
Frank Halasz
ed6a6e4e04 move all loadups-related source files into internal/loadups; adjust scripts accordingly; move venuesysouts from loadups into internal/venuesysouts; fix issues in .CM files to allow starting loadups-all from any lisp/full.sysout 2023-08-07 12:34:11 -07:00
Frank Halasz
dbf6808bcb Merge remote-tracking branch 'origin/fgh_loadups2' into fgh_loadups2 2023-08-04 15:19:56 -07:00
Frank Halasz
126a8cfb37 Remove references to LOADUP_WORKDIR from all lisp code and instead pass the file references down from the callinf .CM files (which are now embedded in the loadup- scripts; also add /unicode subdir to the release tars. 2023-08-04 15:07:43 -07:00
Frank Halasz
1ff71ea15d update buildLOadup.yml to use new scripts/release-make-tars.sh instead of its almost but not quite equivalent make tars code 2023-08-04 12:29:40 -07:00
Frank Halasz
dfce541a18 Fix scripts/README.md 2023-08-04 12:29:40 -07:00
Frank Halasz
84391b367b First pass a complete new make-release.sh 2023-08-04 12:29:40 -07:00
Frank Halasz
346c11b0ad WIP fixing up scripts/release_medley.sh and syncing with buildLoadup.yml 2023-08-04 12:29:40 -07:00
Frank Halasz
ae2633591e Remove now obsolete sources/*.CM files; update README a bit 2023-08-04 12:29:40 -07:00
Frank Halasz
b0ec2476d5 Handle case where files already exist in LOADUP_WORKDIR - show only the newly created files - not the old ones 2023-08-04 12:29:40 -07:00
Frank Halasz
1c077d1b3d First full pass at loadups revamp. 2023-08-04 12:29:40 -07:00
Frank Halasz
ca3280f894 WIP updating loadups scripts 2023-08-04 12:29:40 -07:00
Frank Halasz
5b3cf9b7d5 Add new files left out from last commit; add RDSYS to library as part of loadups-all 2023-08-04 12:29:40 -07:00
Frank Halasz
e4c3a16ce4 Remake loadup scripts to not use MEDLEYDIR/tmp as a working dir AND cleanly separate loadup-all from loadup-db; adjust buildLoadup.yml accordingly 2023-08-04 12:29:40 -07:00
rmkaplan
41f4489e9f LLREAD uses \INCCODE.EOLC instead of \INCCODE to coerce LF and CRLF to EOL(=CR) (#1300) 2023-08-03 14:15:16 -07:00
Frank Halasz
51ef95d30f update buildLOadup.yml to use new scripts/release-make-tars.sh instead of its almost but not quite equivalent make tars code 2023-08-02 22:03:38 -07:00
Frank Halasz
0c9744455c Fix scripts/README.md 2023-08-02 16:47:04 -07:00
Frank Halasz
41608a1b27 First pass a complete new make-release.sh 2023-08-02 16:43:35 -07:00
Frank Halasz
9d26047d8c WIP fixing up scripts/release_medley.sh and syncing with buildLoadup.yml 2023-08-02 13:41:36 -07:00
Frank Halasz
48c9a82a1c Remove now obsolete sources/*.CM files; update README a bit 2023-08-02 01:02:12 -07:00
Frank Halasz
f9838ac631 Handle case where files already exist in LOADUP_WORKDIR - show only the newly created files - not the old ones 2023-08-01 23:41:39 -07:00
Frank Halasz
f514dd04c2 First full pass at loadups revamp. 2023-08-01 22:59:01 -07:00
Frank Halasz
656bb53ef6 WIP updating loadups scripts 2023-08-01 12:08:55 -07:00
Frank Halasz
c105799096 Merge pull request #1298 from Interlisp/fgh_medley.sh-sysout
Fix bug in medley.sh wherein it was ignoring sysout argument
2023-07-31 12:11:14 -07:00
Frank Halasz
d2102bfe9b Add new files left out from last commit; add RDSYS to library as part of loadups-all 2023-07-31 01:07:39 -07:00
Frank Halasz
b59e37b703 Remake loadup scripts to not use MEDLEYDIR/tmp as a working dir AND cleanly separate loadup-all from loadup-db; adjust buildLoadup.yml accordingly 2023-07-31 00:42:23 -07:00
Frank Halasz
71a2d7aac7 Fix bug in medley.sh wherein it was ignoring sysout argument 2023-07-30 13:01:17 -07:00
Larry Masinter
94269303d0 SPY.POINTERS is always T (no 2-byte atoms) (#1293)
* SPY.POINTERS is always T (no 2-byte atoms)

* Set SPY to not record entries when in \BACKGROUND-YIELD or (conditionally) backgroudn process

* Use \IGNORE.BACKGROUND as global variable, initially T; clean up declarations

* changes used DECLARE%%: incorrectly, now fixed
2023-07-30 11:35:23 -07:00
Frank Halasz
91305cc2c9 Fix whitespace typo in buildLoadup.yml (#1287) 2023-07-22 18:21:52 -07:00
rmkaplan
9b4c4a3bf7 Merge branch 'PDFSTREAM' of https://github.com/interlisp/medley into PDFSTREAM 2023-07-20 22:26:48 -07:00
rmkaplan
51d554c67e Merge branch 'master' into PDFSTREAM 2023-07-20 22:26:41 -07:00
rmkaplan
b513bb44a3 Simplify EXPORTS.ALL loading commands (#1281)
Standard FILES commands now do the right thing, no need for extra junk
2023-07-20 22:24:18 -07:00
Larry Masinter
652a9dc320 release dribbles and msfuller (#1280)
* ignore loadups/exports.all (moved)

* add fuller.database and dribble files to release
2023-07-20 21:39:15 -07:00
Larry Masinter
a678515a35 ignore loadups/exports.all (moved) (#1279) 2023-07-20 21:38:20 -07:00
rmkaplan
ca39ccf27b Merge branch 'master' into PDFSTREAM 2023-07-20 21:01:13 -07:00
Arun Welch
11ac5b7ec7 add rooms manual (scanned, no tedit found) (#1100)
* Lafite and Rooms Manuals

Add Lafite and Rooms Manuals

* Only rooms-manual, Lafite has .tedit files

---------

Co-authored-by: Larry Masinter <LMM@acm.org>
2023-07-20 20:19:23 -07:00
rmkaplan
e1cd9260b4 Merge branch 'master' into PDFSTREAM 2023-07-19 20:29:48 -07:00
Larry Masinter
9e433314d8 don't declare most interpress constants (#1193)
* rewrite INTERPRESS to not pollute pool of CL:CONSTANTP variables in common use

* update some functions that are (inappropriately) tied to INTERPRESS

* no change to SKETCHOPS needed

* still need one \IPC 'constant' from INTERPRESS

* changes to WINDOW GLOBALVARS another time

* recompile XXFILL

* fix a few other messes exposed
2023-07-19 19:11:17 -07:00
rmkaplan
b0aa518a41 Merge branch 'master' into PDFSTREAM 2023-07-19 14:57:50 -07:00
rmkaplan
9e0bfabc52 Merge branch 'master' into PDFSTREAM 2023-07-19 12:58:02 -07:00
rmkaplan
feff0cefc0 SEDIT-WINDOW: Shift-title selection conforms to standard mouse conventions (#1272)
In previous commit/PR #1256 the bksysbuf wasn't waiting for the copy/shift key to come up.
2023-07-19 12:53:46 -07:00
rmkaplan
a258a5e9f0 FILEWATCH: Shift select names, plus show PSEUDOFILENAMES (#1276)
* FILEWATCH: Shift select names, plus show PSEUDOFILENAMES

* FILEWATCH:  Copied file is a string, not an atom

Modern systems tend to allow spaces and other funky characters in filenames.  COPYINSERT doesn't automatically escape.  But generally we are moving towards strings.  (Shift-select from FILEBROWSER has the same problem)
2023-07-19 12:53:04 -07:00
rmkaplan
9529c35631 FILEBROWSER: FB.COPYFN uses COPYINSERT instead of BKSYSBUF (#1277)
So shift-selecting produces strings for file names with funky characters
2023-07-19 12:52:43 -07:00
rmkaplan
a111907bf4 GATHEREXPORTS uses standard MAKEFILE machinery (#1278)
* GATHEREXPORTS uses standard MAKEFILE machinery

So that it gets all the normal file properties (FILE, FILEDATES) when it is LOADed.  Also nothing special about setting up its reader environment

* GATHEREXPORTS again:  PRETTYDEF likes only litatom filenames

(which probably should be fixed)
2023-07-19 12:01:38 -07:00
Larry Masinter
c797d919f1 Merge pull request #1274 from Interlisp/fgh_loadups
Move exports.all to the loadups directory; add a LOADUPSDIRECTORIES to MEDLEY-INIT-VARS
2023-07-19 05:37:48 -07:00
Frank Halasz
03e59d15c8 Adding (FROM LOADUPS) whereever EXPORTS.ALL is loaded - changing from LOAD to FILESLOAD where necessary. 2023-07-18 13:39:49 -07:00
rmkaplan
ebff4f7268 PDFSTREAM: Fix logic around closing the postscript sub-stream 2023-07-17 23:04:38 -07:00
Frank Halasz
08880d550e Move exports.all to the loadups directory; add a LOADUPSDIRECTORIES to MEDLEY-INIT-VARS 2023-07-17 16:38:10 -07:00
Frank Halasz
e4b6f69e8e Merge pull request #1269 from Interlisp/fgh_ipfonts
Add ipfonts to release tars
2023-07-10 10:42:07 -07:00
Frank Halasz
52499052e8 Add ipfonts to release tars 2023-07-08 22:29:49 -07:00
Larry Masinter
b5f71670cb Merge branch 'add-bigbitmaps' 2023-07-08 13:17:18 -07:00
Larry Masinter
d21dfe1061 Merge pull request #1256 from Interlisp/Minor-updates-to-LLREAD-and-SEDIT
Minor updates to llread and sedit
2023-07-07 12:30:52 -07:00
Bill Stumbo
efae6d2911 Template for capturing 'What People are Saying' suggestions. (#1261) 2023-07-07 12:27:42 -07:00
Larry Masinter
2aae0e7bb6 put back in IRM.SMART.LOOKUP needed for helpsys from menu (#1251) 2023-07-07 12:27:06 -07:00
rmkaplan
02a6d7ad1b Updated Tedit files for a few Lispusers packages--formatting and typos (#1246)
* Updated Tedit files for a few Lispusers packages--formatting and typos

* Format OBJECTWINDOW.TEDIT, delete WHEELSCROLL.TXT

* Create CLIPBOARD.TEDIT

Small (formatted) documentation file
2023-07-07 12:25:18 -07:00
rmkaplan
4826035054 CALENDAR, AOFD: Calendar had a Y2K problem, AOFD did not allow string-streams to reopen (#1204)
* CALENDAR, AOFD:  Calendar had a Y2K problem, AOFD did not allow string-streams to reopen

There still may be some Y2K issues, I fixed the obvious ones, including how it interacted with Tedit

* try recompiling

---------

Co-authored-by: Larry Masinter <LMM@acm.org>
2023-07-07 12:18:46 -07:00
Larry Masinter
6c6856efb9 (PATHNAME NIL) now errors; don't try to add it to whereis list (#1188) 2023-07-07 11:41:56 -07:00
Larry Masinter
871bbb735f Add a few inits to SYSEDIT, obsoleting ABC (#1184) 2023-07-07 11:30:42 -07:00
Larry Masinter
08852f7b55 Add TEDIT files for many Library packages (#1181)
* WHERE-IS library doc

* Gather keyboard files, add VIRTUAL.TEDIT

* add UNIXCOMM.TEDIT

* rest of TEdit library files

* save table of contents index for reworking

* Don't move around VIRTUALKEYBOARDS files; will move in separate commit

* Add MATMULT from Envos/Medley
2023-07-07 11:25:17 -07:00
Bill Stumbo
4362618ea0 Add documentation template (#1257)
Copied from Interlisp .github repo.
2023-07-06 08:27:05 -07:00
Larry Masinter
1659c452b5 remove POSTLOADUP from fileset... was removed (#1218) 2023-07-03 16:37:59 -07:00
Larry Masinter
f5a8888aff Add .tedit files which correspond to Medley release notes (#1124) 2023-07-03 12:43:19 -07:00
rmkaplan
c281728c65 PDFSTREAM: fix convert template 2023-07-02 18:25:41 -07:00
Larry Masinter
4fed40bb85 Add BROWSERMAX to limit depth of paths graph (#1158)
* Add BROWSERMAX to limit depth of paths graph

* Update Browser to use left-button menu popup to select action
2023-06-30 16:56:54 -07:00
Larry Masinter
3cca8c4940 Fix places where rename of record LINE to XXLINE was incomplete (#1212) 2023-06-30 16:42:07 -07:00
rmkaplan
c4554894b3 PDFSTREAM: define PDF fonts as POSTSCRIPT fonts 2023-06-25 17:16:27 -07:00
rmkaplan
58196b4011 HARDCOPY: fixes printer menu 2023-06-24 15:49:31 -07:00
rmkaplan
f6a9b88b34 POSTSCRIPTSTREAM: Adds extra field to postscript data for PDFSTREAM filename 2023-06-24 15:49:18 -07:00
rmkaplan
bad19ab45f PDFSTREAM: first implementation
Makes PS file, then applies separate utility (if available) to convert PS to PDF
2023-06-24 15:48:21 -07:00
rmkaplan
d6a4b3bf88 SEDIT-WINDOW: use COPYINSERT instead of BKSYSBUF for shift-selection from titlebar
Gets the package
2023-06-20 21:12:13 -07:00
Larry Masinter
b493d98aeb fix GATHER-INFO for compiled code -- globalvars vs.bounc (#1219) 2023-06-18 21:24:23 -07:00
Larry Masinter
beb4a77195 Recompile PRETTY (#1220) 2023-06-17 21:40:34 -07:00
rmkaplan
d43846b4f4 SEDIT: SELECTC formatted like SELECTQ, copy-select from the titlebar
Fixes long-standing irritants (for me at least).  SELECTC is highlighted and format like SELECTQ and SELCHARQ.  And left-button in the title bar with the copy (shift) key down does a bksysbuf of the thing being edited.  The menu is available under the middle button, moving and reshaping still provided by modernize with the shift not down.
2023-06-17 20:18:17 -07:00
rmkaplan
28c673f296 LLREAD: CHARACTERNAMES saved with ALISTS instead of VARS commands
Also CHARACTERSETNAMES.  So that initial values don't smash or pick up the values that might otherwise be active in a development environment.
2023-06-17 20:14:00 -07:00
Frank Halasz
e067e02dde Add on:schedule to buildRelease workflow so that Medley builds happen automatically on Mondays at 1am (#1225)
* Add an On:schedule to the build release and docker workflow to build a new release every Monday at 1am

* Add an On:schedule to the build release and docker workflow to build a new release every Monday at 9am UTC (1am or 2am Pacfic time, depending on daylight savings
2023-06-11 13:40:38 -07:00
Larry Masinter
1af56ddaa2 Add .tedit files for Lafite manual and release notes -- PDFs on Google Drive (#1209)
* Add .tedit files for Lafite manual and release notes -- PDFs on Google Drive

* use 'docs' for subfolder name; wliminate dup

* Remove duplicate LAFITEMANUAL-GLOSSARY-CUSTOMER.TEDIT

---------

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
2023-05-16 19:30:15 -07:00
Nick Briggs
16dd66a016 Pass --display/-d argument as -display not by setting DISPLAY env variable. (#1213) 2023-05-16 19:28:21 -07:00
Larry Masinter
81b74be043 Another pass on CLOSEALL simplify by calling (OPENP) (#1182)
* Another pass on CLOSEALL simplify by calling (OPENP)

* Put back in checks for CLOSEALL IOMODE USERVISIBLE

* \TERM.OFD and \LINEBUF.OFD are bound, no global

* getting rid of \OPENFILES everywhere

* one more \OPENFILES
2023-05-16 19:02:43 -07:00
Larry Masinter
f8a5d0fbe5 Rewrite code for deciding 'Good morning', 'Good evening' 'You're working late' Y2K (#1208) 2023-05-16 19:00:49 -07:00
Larry Masinter
3e0ec62d27 Prettyfileindex knows about :EDIT-BY (#1205) 2023-05-16 10:06:03 -07:00
Larry Masinter
654675661f Do not set keyboard type without knowing better (#1211) 2023-05-16 10:05:31 -07:00
Larry Masinter
3cb051ea7b Allow (CLOSALL) to work after all (#1164) 2023-04-19 19:47:11 -07:00
Frank Halasz
8bb283e0c4 Merge pull request #1154 from Interlisp/tweak-init2
Tweak INIT: HELPTIME 1 for more break windows; extend font profile
2023-04-19 18:03:08 -07:00
Frank Halasz
6fae5c14e9 Merge branch 'master' into tweak-init2 2023-04-19 17:54:43 -07:00
Frank Halasz
c58ef4ee56 Merge pull request #1161 from Interlisp/minor-usage-tweaks
minor usage tweaks
2023-04-19 17:53:57 -07:00
Frank Halasz
730fc5b678 Merge pull request #1153 from Interlisp/who-line-only
tweak WHO-LINE
2023-04-19 17:46:25 -07:00
Frank Halasz
8d54603329 Merge branch 'master' into who-line-only 2023-04-19 17:45:29 -07:00
Larry Masinter
21ceff5ad9 add internal/MAINTAIN.TXT to explain what MAINTAIN is 2023-04-18 15:21:35 -07:00
Larry Masinter
5a07e6c266 SYSEDIT also sets copyright flag 2023-04-18 15:16:07 -07:00
Larry Masinter
4a09d3a027 Init file set HELPTIME to 1 more break windows; copyright NEVER 2023-04-18 15:15:00 -07:00
Larry Masinter
691563024b Yet another Logo with parameters for substrings. WINDOW.BITMAP move to Window (#1151)
* Yet another Logo with parameters for substrings. WINDOW.BITMAP move to Window

* Added LOGOW.DFASL, so rm LOGOW.LCOM

* LOGOW: Add local variables for most of the hard-coded constants to make it easier to experiment with adjusting said constants.  Adding kerning for substring1.

* LOGOW: Add more kerning options.  Cretaed separate kerned.prin3 function.

* Set default params to Option 8.  Added some top and right margins when placing LOGOW in screen so it doesn't look so squished into the corner.

---------

Co-authored-by: Frank Halasz <frank@halasz.org>
2023-04-18 14:57:41 -07:00
Larry Masinter
0f49e248d3 Tweak INIT: HELPTIME 1 for more break windows; extend font profile 2023-04-13 09:56:16 -07:00
Larry Masinter
54782f5b21 tweak to WHO-LINE: hostname (don't use pup), change dir (don't offer directories that don't exist), package (sort so likely choices are at top) 2023-04-12 22:26:23 -07:00
rmkaplan
d34522d769 GITNFS: Doesn't error if clonepath defaults but is not required (#1123)
If CLONEPATH is NIL, no error if the clone can't be found, just prints a note.  If CLONEPATH is T, will error.
2023-03-30 09:59:27 -07:00
Larry Masinter
c501dc82fb add :EDIT-BY initials to FILECREATED (#1074) 2023-03-24 21:52:44 -07:00
Bill Stumbo
c256a8f411 Merge pull request #1110 from neauoire/patch-1
Changed wiki link to new docs url
2023-03-19 20:44:31 -04:00
Devine Lu Linvega
69dbe43d87 Update README.md 2023-03-19 16:45:17 -07:00
Devine Lu Linvega
989ec5b0b5 Changed wiki link to new docs url 2023-03-19 09:40:25 -07:00
Larry Masinter
fb1d14dfeb once more 2023-03-01 07:53:44 -08:00
Larry Masinter
6d86932d35 remake ADISPLY 2023-02-28 06:50:17 -08:00
Larry Masinter
9ada6de6b9 Revert changes in \DRAWLINE.DISPLAY and add BIGBITMAPS to loadup & exports 2023-02-28 05:48:41 -08:00
rmkaplan
12b5e90727 GITFNS: Better default directory-finding, better pseudohosts (#1064) (#1065)
* GITFNS:  Better default directory-finding, better pseudohosts  (addresses #1064)

Also updated documentation

* GITFNS:  better error message in GIT-MAKE-PROJECT
2023-02-18 17:19:29 -08:00
Frank Halasz
4b95a8b5d3 Windows installer and medley script for running Medley in Docker on Windows (#1077)
* Update docker file build to use new deb linux installers;  move Dockefile to .github/workflows since its really only useable from the buildDocker.yml workflow

* Fix typo in dockerfile location

* remove extraneous " in >>GITHUB_ENV statements

* Fix handling of TARGETPLATFORM in Dockerfile

* Trying with just one platform

* Fix issues with missing man-db in docker build workflow; added man-db to depends in deb builds for linux

* Sicthed docker from tightvnc to tigervnc to match oio.  This getting the apt package name right.

* Going back to single platform to debug this thing

* Trying with just arm64

* Removing arm/v7 from docker images.  Takes too long to build and just wastes our github actions minutes.  This is assuming its a never used feature since docker is not big on raspberry pis and their ilk.

* Fix typo in control-linux; update build_deb so that files in /usr/local installed by deb are owned by root; add ubuntu user and nano in docker file for dbebugging;  when in draft only create for x86_64 platform

* Fix typo in buildDocker.yml

* Add sudo to docker image; in docker image ensure that all /usr/local/interlisp files are owned by root

* Add securityTypes none to docker entrypoint

* Updated docker base to Ubuntu 22.10 to get fixed xrdp; add xrdp to the docker image; updated user permission in docker image;

* In Dockerfile make xrdp install noninteractive

* Update medley.sh scripts to handle docker case

* Fix a couple of typos

* BuildDcoker: added pulling latest draft release (if any) when this is a draft docker build; removed checkout of medley code cause its not used

* BuildDocker: added medley checkout backin - turns pout its needed by a bunch of actions even though I dont really think they use it

* BuildDocker: moved download assets to use gh instaed of a marketplace action becauase that action could not handle draft releases.

* Tweaking medley.sh and associated tweaks to work Windows via wsl medley and docker

* adding first pass at powershell script for windows docker and wsl

* Tuning how Xvnc, medley, and vncviewer handle the various ways of exiting - eg logout vs closing viewer window.

* Tuning vncviewer launch to make sure that tty works as expected when medley.sh runs in background

* Minor typo fixes and added extra check to use of /run/shm in medley_vnc.sh

* Added SSH_KEY secret to buildReleaseIncDocker workflow

* Gertting the add SSH_KEY secret into orkflows right this time, hopefully

* Adding TERM env variable and setting USER to medley in docker image

* Debugging medley.ps1 and adding a couple of arguments

* Typo in Dockerfile medley

* Synchronizing flag processing and usage for medley.ps1 and medley.sh; refactored medley_args.sh and medley_usage.sh code.

* Adding first pass at windows installer

* Adding first pass an inno setup script for Windows installation

* Update buildLoadup workflow and downloads page for windows installer

* Fix typo in buildLoadup

* BuildLoadup make sure windows runner uses powershell

* Another typo in buildLoadup

* Another typo in buildLoadup; damn those double quotes

* Updating handling of windows installer in buildLoadup, added vncviewer to medley.iss install

* Unknown syntax error in buildLoadup

* Another damn typo from double quotes

* buildLoadup: fixed loadup job outputs

* buidLoadup: fixed bug with COMBINED_RELEASE_TAG; fixed Upload script in windows job to be compatible with actions.script v6.

* buidLoadup: upload win installer adapted to find draft releases as well as full releases

* BuildLoadup: fixing up javascript in actions in windows job to use / instead of \ in pathname

* BuildLoadup: changing win installer update to same action used for other release assets

* Fix windows installer file name; in BuildLoadup move update downl;oad page to the Windows runner because uploading the window-installer changes the release download url, so updating the downloads page must be done after the windows installer upload.; General buildLoadup cleanup

* Run md2html to update downloads page

* Fix typo in build_deb.sh

* Removing some leftover crud in medley_usage.sh

* Fixing up windows installer a bit, mostly cosmetic

* Adding support for WSL1; mostly forcing --vnc and changing how to find open ports and displays since WSL1 networking is different tha WSL2

* Update manual page for new Windows Medley script

* First pass done for man page that incorporates new Windows medley script.  Add Xvnc wait before calling run-medley in case of docker to prevent occasonal missing X windows server error.

* Change buildLoadup to update man page to a draft if this is a draft run.
2023-02-18 06:19:57 -08:00
Frank Halasz
3fa571f798 Fix buildLoadup.yml to craete TARBALL directory if it doesn't exist (#1060) 2023-01-31 00:37:23 -08:00
Frank Halasz
10a598865f Create UNIXUTILS in library to go along with UNIXPRINTER, et al (#1051)
* Create UNIXUTILS file in library with ShellWhich function - linux which command equivalent.  Also move ShellCommand from UNIXPRINT to UNIXUTILS.

* Adding UNIXUTILS to LOADUP-FULL so it gets included in full.sysout

* Change of names from open(er) to browse(r). Refine the browse(r) functions a bit

* Minor bug fixes

* Add (FILES UNIXUTILS) to UNIXPRINTCOMS so that ShellCommand is loaded in case only UNIXPRINT is loaded.  For backward compatibility.
2023-01-30 23:43:10 -08:00
Frank Halasz
f2ef7cc8f6 Installers for Linux: workflow changes and more to support standard Linux installations (#1058)
* Adding LANG environment variable to docker image; adding MAIKO_ and MEDLEY_INSTALLDIR environment variables; Changing /usr/local/bin/run-medley to a symbolic link instead of a shell script

* Added draft input to all workflows, so that can create draft releases as well as regular releases

* Update buildDocker.yml to handle deprecation of set-output and to update versions of actions to handle node 12 to node 16 transition.

* Added scripts and updated github workflows to support creation of deb installers for Linux and WSL

* Fix minor bug in buildLoadup.yml

* First pass implementation of deb installer

* Fixing wget of vncviewer in build_deb.sh

* Fix typo in buildLoadup.yml in call to build_deb.sh

* Multiple small fixes to medley.sh from debugging.  Change postinst script and how its created in build_deb.  Add postrm script in build_deb.

* Reworking vnc portion of Medley.sh - including removing dependency on startx and xinit

* Misc fixes to medley_vnc.sh script; fix creation of postinst and postrm in build_deb.sh

* Cleaning up window geometry amd screen size in medley.sh

* Created apps.sysout loadup with rooms, notecards, clos on top of full.sysout; added plumbing for -apps flag to run-medley to run this syout; created a new init file for this sysout that calls MEDLEYDIR-INIT;  all of this is based on online.sysout

* Create UNIXUTILS file in library with ShellWhich function - linux which command equivalent.  Also move ShellCommand from UNIXPRINT to UNIXUTILS.

* Adding UNIXUTILS to LOADUP-FULL so it gets included in full.sysout

* Change of names from open(er) to browse(r). Refine the browse(r) functions a bit

* Minor bug fixes

* Update Apps.ShowDoc to new ShellBrowsefunction

* Adding apps support into the .github builds;  adding xdg-utils as dependecy in debs

* fixing bug as to where notecards is checked out in BuildLoadup.  Needs to be before loadups so app.sysout can be built

* Added defaulting to Interlisp exec tomedley.sh and APPS-INIT.  Works only in apps.sysout.  Added wlsu package to wsl debs since wlsview is not always installed by defailt.  Fixed Notefiles directories issues in Apps.Init.   Made medley.sh compute medleydir based on where the script is located. Can now work for /usr/lcal/interlisp as well as local directories.

* Added -id - feature to medley.sh so id can be directory mae.  Removed extraneous set -x commands in medley.sh from debugging.  In build_deb.sh changed compression to xz for deb files since debian does not support the zstd compression that ubuntu uses.

* For wsl deb files, make sure wslu package is not 4.0 - which is bad.  Change how we choose an open port and open display in medley_vnc.sh.  Add notecards download to build_deb.sh.  Fix type in medley.sh

* Add (FILES UNIXUTILS) to UNIXPRINTCOMS so that ShellCommand is loaded in case only UNIXPRINT is loaded.  For backward compatibility.

* Moved medley.sh and associates to script/medley dir; fixed up args to medley.sh;  added usage and --help to medley.sh

* Add comprehensive tar files to releases to match deb files for local installs; add --id -- arg to medley.sh

* Remove remaining reference to usr/local/interlisp to ensure local install works

* Fix bug in buildLoadup - couldn't file install tars

* Add medley symbolic linkto loadups, so it comes thru to local install tars

* Fix up error messaging in medley.sh scripts

* Created man page for medley and added it throughout build up, installers, etc.

* Add support for a downloads page on OIO, including creating said page while building a release

* Fix full_release_tag in downloads section of buildLoadup.yml

* Misc fixups on downloads page

* Adding online man page stored on oio static server.

* Fix minor bug in man installation in deb file
2023-01-30 22:19:07 -08:00
Larry Masinter
0c9b539bc4 masterscope extensions doc (internal) + tweak helpsys (#1048) 2023-01-17 22:23:06 -08:00
rmkaplan
b53b6c4ba7 Rmk74 run with pseudohosts (#1017)
* FILEPKG: EDITCALLERS now notices possible new stream after getting filemap

* GITFNS: cdw and cdg commands preserve pseudohost

* SAMEDIR:  match all combinations of truefilename and pseudofilename

* PSEUDOHOSTS:  Bug fix--openstream failure goes thru normal error machinery

* ADIR: Put in stubs for TRUEFILENAME, PSEUDOFILENAME, PSEUDOHOSTP

Also, fix \COPYSYS so it works with pseudhosts
2023-01-16 00:36:39 -08:00
Larry Masinter
e5593ba0dc notify \IDLING.OVER in \IDLE.OUT (#973)
\IDLE.OUT is a backgrround function. For reasons not well understood, sometimes after returning from LOGOUT, the RESETSAVED notify to \IDLING.OVER doesn't happen.
This change insures that it does.
(found during testing of LOGOUT/return from LOGOUT with changing ethernet enalbing)
2022-12-31 08:44:22 -08:00
Larry Masinter
5fea4e6666 loadup-db.sh fix -- don't rely on loadups (#1035) 2022-12-29 19:11:19 -08:00
Larry Masinter
306af20e91 The macroexpansion of UNDOABLY shouldn't depend on runtime rebinding of LISPXHIST (#1023)
The history and undo code was written before the record package; but someone introduced a DEFMACRO UNDOABLY macro to do the work. But cached macroexpansions shouldn't depend on load/run/compile time values.
2022-12-29 18:48:12 -08:00
rmkaplan
bb637c5b73 UNIXCOMM: Eliminated the new shell device in favor of a single shell device (#1034)
Also removed unused functions labeled as "obsolete" after Medley 2
2022-12-23 11:37:23 -08:00
Larry Masinter
7eb12ee68b Revert "Lmm cleanup new shell device (#1006)" (#1033)
This reverts commit 97cb04be46.
2022-12-17 17:22:41 -08:00
Larry Masinter
97cb04be46 Lmm cleanup new shell device (#1006)
* reset defaultexternalformat when returning

* Replace so *SHELL-DEVICE* is default
2022-12-02 20:48:48 -08:00
Frank Halasz
62754015b0 Update Medley build workflow to add clos to release tars and to update various actions to latest versions (#1025)
* Add clos to release tars for Medley.  To ease adding clos to Medley Online.

* Fix buildLoadup.yml to account for the fact that scripts/loadup-all.sh now automatically includes scripts/copy-all.sh.  Was failing due to redundant copying of loadup files.

* Get rid of ::set-output:: in buildLoadup.yml and replace with echo >> .  This is due to that fact that ::set-output:: has been deprecated by Github and will soon cause an error if used in a workflow.

* Update actions/checkout and robinraju/release-downloader to latest versions because versions currently being used relied on Node 12, which has been deprecated.  Newer versions of these actions use Node 16, which is still supported.

* Fix typo in actions/checkout new version number

* Oops.  Node 16 is supported by actions/checkout@v3 not by ...@v2.5.0

* Update AButler/upload-release-assets fron @v2.0 to @v2.0.2 to take care of Node 12 versus Node16 issues caused by Node 12 actions being deprecated by github.

* Fix quoting bugs on conversions from ::set-output:: to

* Try switching to the ncipollo/release-action acgtion in place of using the api to create the release and then the AButler/upload-release-assets action to upload the assets.  This is to solve the failures when try to update a release using the force input parameter.

* Adding step to delete existing release with given tag, if any.  Needed when force parameter is true.

* Fixing typo?

* Typos again?

* Start changing how RELEASE_TAG environment variable is used throughout build_loadup

* Finish changing how RELEASE_TAG environment variable is used throughout build_loadup

* Update abatilo/release-info-action to v1.3.2 to take care of ::set-output:: deprecation

* Add commit to allow testing of release builds

* Fix to Issue#1022 Error during greet

* More fix to Issue#1022.  Turns out need to reset MEDLEYDIR for AFTERMAKESYS as well as at greet time.  Discovered during loadup-online.sh with no greet file.

* Removing AFTERMAKESYS event action from (MEDLEY-INIT-VARS).  Cleaning up a bit the GREET event action in (MEDLEY-INIT-VARS).  Remove issue with MEDLEY-INIT-VARS being called after the user greet file in the AFTERMAKESYS case.
2022-11-26 15:05:45 -08:00
Frank Halasz
9d09033cc4 Fix to Issue#1022 "Error during greet" (#1027)
* Fix to Issue#1022 Error during greet

* More fix to Issue#1022.  Turns out need to reset MEDLEYDIR for AFTERMAKESYS as well as at greet time.  Discovered during loadup-online.sh with no greet file.

* Removing AFTERMAKESYS event action from (MEDLEY-INIT-VARS).  Cleaning up a bit the GREET event action in (MEDLEY-INIT-VARS).  Remove issue with MEDLEY-INIT-VARS being called after the user greet file in the AFTERMAKESYS case.
2022-11-26 11:46:41 -08:00
Nick Briggs
d9c144d966 Allow user override of -title option (#1026) 2022-11-21 13:04:07 -08:00
Nick Briggs
17dd03a358 Use -title rather than -t to specify window title (#1020) 2022-11-14 09:48:21 -08:00
Larry Masinter
382881a068 fix typos EFECT vs EFFECT in templates for CL:WHEN and CL:UNLESS (#1015) 2022-11-02 11:59:39 -07:00
Larry Masinter
d0d952a10d make SETQ and typed in calls undoable (first steps) (#996)
* First steps to make UNDO to work again

* make sure the right SETQ (CL vs IL) is used

* The change surfaced a irritating warning about the variable presumed to be SPECIAL
2022-10-25 15:40:41 -07:00
Larry Masinter
d5d21397d4 another pass at variable initialization after logout savevm sysout makesys (#1003)
This corrects some errors in the handling of initializing variables across SAVEVM, LOGOUT, SYSOUT and MAKESYS.
This is all now handled by MEDLEY-INIT-VARS (function and variable) which is called as an EVENTFN.
BEFOREMAKESYS (invoked by ENDLOADUP) clears the variables to a default setting (all directories are just {DSK}).
The other "BEFORE" events save away the current values of the variables in MEDLEY-INIT-VARS.

In order to get this to work it was necessary to change a hack for deciding where to find EXPORTS.ALL and WHEREIS.HASH. Now  if you do `./scripts/loadup-all.sh` to make a full, lisp sysouts, exports.all and whereis.hash it will still build the sysouts in tmp/ but will also "link" new versions in loadups (and library for exports.all). This replaces the previous hack scanning the sysout name for "tmp/".
MEDLEY-INIT-VARS had been called both by the AROUNDEXITFN and AFTER*FORMS.
2022-10-25 14:43:57 -07:00
Larry Masinter
7a4470ce8b Rework MEDLEYDIR before/after logout to substitute instead of reset (#998)
* Rework MEDLEYDIR before/after logout to substitute instead of reset

* debugging

* working when changing home directory

* fix bug and removed redundtant declarations
2022-10-24 07:10:45 -07:00
Larry Masinter
32ff7b7649 DEFAULTPRINTINGHOST can have list members as per comments (#999) 2022-10-23 23:35:50 -07:00
Nick Briggs
096d860ac8 Update \SENDMESSAGE.RESTARTABLE usage of OPENSTRINGSTREAM (#997)
\SENDMESSAGE.RESTARTABLE unconditionally used OPENSTRINGSTREAM on its
argument, which is not usually a string. Now, only use OPENSTRINGSTREAM
if the argument is a string, otherwise pass it unchanged to TEDIT.
2022-10-16 17:31:14 -07:00
Larry Masinter
418b1df00d run-medley has a -NF option in caps used by loadup, means no fork (#978) 2022-10-13 20:35:37 -07:00
rmkaplan
ba90344080 MODERNIZE: Fix bug in MODERNWINDOW (Issue #972 ) (#976) 2022-10-13 16:08:28 -07:00
Frank Halasz
0eac6efb61 Fix Issue#985 HELPSYS/CLHS.LOOKUP fails when MEDLEYDIR not writeable. (#994) 2022-10-13 10:48:42 -07:00
Larry Masinter
540aff091c When restarting after logout, don't print warning on closed stream (#990) 2022-10-12 12:00:43 -07:00
Larry Masinter
3f244f6cd3 Change SYSTEM-EXTERNALFORMAT to more accurately guess the external format (#987) 2022-10-10 22:29:21 -07:00
Larry Masinter
58557d383a Fix simple typo in UNIXCOMM (#979) 2022-10-10 18:57:26 -07:00
Larry Masinter
882fbacf59 when constructing a stream, it might not have a FDEV -- allow it to print (#984)
* when constructing a stream, it might not have a FDEV -- alow it to print

* Stream with no FDEV just prints as Stream
2022-10-10 18:56:43 -07:00
Frank Halasz
70ce516e0c Merge pull request #983 from Interlisp/save-clhs-index
the hyperspec is static -- don't need to read the index
2022-10-10 00:03:57 -07:00
Larry Masinter
fdb573c761 the hyperspec is static -- don't need to read the index 2022-10-09 16:43:34 -07:00
Larry Masinter
06368f95eb run-medley should not quote patterns in 'case' command, either useless or broken (#977) 2022-10-08 10:04:46 -07:00
Larry Masinter
654ebc359c Temporary workaround until larger fix is done (see issue #768 (#971) 2022-10-07 15:06:32 -07:00
Frank Halasz
4e38802325 Merge pull request #965 from Interlisp/rmk71--upper-case-file-names
COMPAREDIRECTORIES:  upper-case-file-names
2022-10-04 11:32:01 -07:00
rmkaplan
b43b63b287 COMPAREDIRECTORIES: Oops 2022-10-03 12:06:38 -07:00
rmkaplan
016097e8bf COMPAREDIRECTORIES: upper-case-file-names
Plus typo fixes in the TEDIT file.

Note that the MATCHNAME has always been uppercase, and that the directory matching has been filtered using the FILEDIRCASEARRAY
2022-10-03 12:01:16 -07:00
Matt Heffron
99321e7951 Add .gitattributes so *.TEDIT, *.LCOM, *.DFASL, and *.SKETCH are always treated as binary (and the lowercase versions). (#957) 2022-10-03 08:02:30 -07:00
Frank Halasz
8e4fc4ab74 Fix Issue#961: GITFNS - {GMEDLEY} changed by LOGOUT/return from LOGOUT (#962)
* TEDIT-PF-SEE:  typo

* GITFNS:  Typo and better behavior on gwc delete

Message instead of trying to delete NIL

* GITFNS: Fix merge-base in PRC #958

* Fix Medley Issue #961 - {GMEDLEY} changed by LOGOUT/return

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2022-10-03 07:59:22 -07:00
rmkaplan
c005cf86bf Rmk70: minor fixups for GITFNS and TEDIT-PF-SEE (#956)
* TEDIT-PF-SEE:  typo

* GITFNS:  Typo and better behavior on gwc delete

Message instead of trying to delete NIL

* GITFNS: Fix merge-base in PRC #958
2022-10-01 13:54:40 -07:00
Larry Masinter
ecc2b22207 IDLE.PROFILE has LOGOUT and SAVEVM options; add some delays in IDLE hacks (#948)
* IFLE.PROFILE has LOGOUT and SAVEVM options; add some delays in IDLE hacks

* add extra delays so the demos work more like intended

* IDLEDEMO loads lispusers with idle hacks

* make sure NOTIFY.EVENT \IDLING.OVER is called

* clean up resetsave

* slow down KINETIC

* Redo logic to minimize diffs with 1992 version

* minor tweaks to \IDLER for making sure mouse doesn't hang
2022-09-28 22:39:31 -07:00
Larry Masinter
d0945f7a5f Update HELPSYS to find CLHS (Common Lisp HyperSpec) and lispusers/library docs (#917)
* Update HELPSYS to find CLHS (Common Lisp HyperSpec) and lispusers/library docs

* restore lost edits; fix package inclusion for XCL and LISP

* mere with previous commit

* try again
2022-09-22 09:01:40 -07:00
Larry Masinter
add65a9397 MANAGER.DFASL errored when loading -- cl:compile-file(manager) now (#945) 2022-09-21 18:03:08 -07:00
Matt Heffron
0474f924a4 This is the Histmenu+Manager+Clipboard branch WITHOUT the changes to Clipboard (since there were issues with conflicting key bindings) (#944) 2022-09-20 07:49:23 -07:00
rmkaplan
a387094eab Rmk68: Fix GITFNS PRC file lists, plus a few minor fixups (#937)
* INSPECT:  Allow optional user-specified tags in window titles to help keep track of multiple instances of the same datatype

* DWIM:  Remove warning about order of evaluation change that happened in 1980

* BREAK-AND-TRACE:  remake to get functions in filemap

* GITFNS, COMPAREDIRECTORIES:  prc file list correlates with github PR web page

* DWIM, DWIMIFY:  Removed WARNUSER and its calls

* INSPECT:  Value of INSPECT is the inspect window
(as IRM says it should be)
2022-09-18 08:10:15 -07:00
Larry Masinter
541a07e09b XORCursorPatch is 1186 only (#938) 2022-09-15 12:56:39 -07:00
Larry Masinter
5ee5482dd2 GETDEF binds variable when getting for edit -- needed by loops rather than a unreliable STKPOS (#926) 2022-09-13 13:22:06 -07:00
Larry Masinter
095beef454 misc lispusers changes -- UNIXYCD, lsee (#889)
* Move cd, ls, pwd to it's own little lispusers (needs documentation)

* add .TXT documentation, also patch lsee script to translate ^ and _ to up and left arrow

* Add document for CONDITIONGRAPH
2022-09-13 12:04:23 -07:00
Larry Masinter
06a7356b00 add IOCHAR to exportfiles and export \CATRANSLATE (#933) 2022-09-11 21:31:58 -07:00
Larry Masinter
147abac04c CL:ROOM no longer errors (#890)
With 4-byte atoms it no longer makes sense to report atom-space separately.
2022-09-05 20:27:08 -07:00
Larry Masinter
56a52af6b9 Revert "IDLE will LOGOUT instead of SAVEVM if ONLINEP (#904)" (#922)
This reverts commit fad70d4947.
2022-08-29 14:53:15 -07:00
Larry Masinter
fad70d4947 IDLE will LOGOUT instead of SAVEVM if ONLINEP (#904)
* IDLE will LOGOUT instead of SAVEVM if ONLINEP
* patched some idle hacks fora  better show
* idle.random chooses an idle program at random among those loaded
2022-08-26 11:27:48 -07:00
Larry Masinter
f4c91ec419 LispUsers art (#914) 2022-08-25 09:02:04 -07:00
Larry Masinter
f5e48847c9 thie problem only shows when you switch EDITMODE but have some SEDIT windows open (#912) 2022-08-24 07:24:08 -07:00
Larry Masinter
b90bf65be9 Move pick to lispusers (#881)
* Make PICK a Lispusers module

* PICK moved to lispusers, HCFILES moved to test repo (currently new/printing)

* redo PICK documentation

* Update documents and projects choices

* more testing and restore lost edits to TEDIT

* fix some typos
2022-08-14 13:25:17 -07:00
Larry Masinter
d379bcc102 Files have been commited to test repo, remove from medley (#878) 2022-08-14 12:14:54 -07:00
rmkaplan
39a7512458 Rmk66: 2 little glitches, plus GITFNS prc dealing better with forking (#887)
* VTCHAT:  Changed name of CHARSET field to avoid ambiguity

Even though field was never referenced

* INSPECT: WHERE argument was passed incorrectly to datatype subfunction

* GITFNS: Better recognition of funny cases (colon) etc

Reconciled with Larry's previous commit

* COMPAREDIRECTORIES:  Bug fix in separate-panel display
2022-08-12 22:01:04 -07:00
Larry Masinter
431d80fb3c Eliminate duplicate declarations for TABLEBROWSER record, remove TABLEBROWSERDECLS file (#877)
* Eliminate duplicate declarations for TABLEBROWSER record, remove TABLEBROWSERDECLS file

* change packages that used to load TABEBROWSERDECLS SOURCE to just LOADCOMP TABLEBROWSER

* make sure full RECORD is saved

* ARCHIVETOOL update of ARCHIVEBROWSER but no docs and looks like PARC-only
2022-08-12 11:23:40 -07:00
Larry Masinter
78b76f6801 GIT-INIT called after return to LOGOUT or SYSOUT etc; add option of making subdirectory to repo (#883) 2022-08-11 10:56:27 -07:00
Larry Masinter
16517cdfc5 Remove bignum test from \INSERTTREE -- was just a debugging aid (#863) 2022-08-10 21:09:12 -07:00
Nick Briggs
902d542121 IBM EGA fonts renamed (#882)
* Added IBM-EGA fixed pitch font files

* move IBM-EGA fonts to file names that will be recognized

Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
2022-08-10 20:22:54 -07:00
Tim Bradshaw
c708f2ac55 make /usr/local/bin/medley run the right medley (#885)
welcome @tfeb
2022-08-10 11:12:28 -07:00
Larry Masinter
43e6801341 copying format info to match the ultimate destination doesn't work for displaystreams (#875) 2022-08-09 12:44:35 -07:00
Larry Masinter
27a6063ce9 \RPLPTR when run interpreted doesn't work with large vmem pointers (#866)
* \RPLPTR when run interpreted doesn't work with large vmem pointers

* oops, misread maiko N_OP_rplptr; this is closer

* Make LLNEW UFNs and functions run renamed match maiko interp wrt high 4 bits
2022-07-30 19:22:37 -07:00
Larry Masinter
cd6b64efa2 unsafe.to.modify only warns if redefining compiled with interpreted (or in original UNSAFE.TO.MODIFY.FNS (#852)
* unsafe.to.modify only warns if redefining compiled with interpreted (or in original UNSAFE.TO.MODIFY.FNS

* Add list of functions you said OK to modify
2022-07-26 23:15:27 -07:00
Larry Masinter
222da55f69 Compile color files to allow color imageobj -- even though color doesn't work yet (#864) 2022-07-26 23:12:42 -07:00
rmkaplan
92f85c5957 Rmk64: mainly separate panels for GITFNS display, FILEPOS speed up (#862)
* HRULE:  Add a PREPRINTFN for horizontal rules

Looks better in plaintext files

* GITFNS, COMPAREDIRECTORIES:  Group earler/later in separate segments

GIT-CDBROWSER-SEPARATE-DIRECTIONS defaults to T

* FILEIO: INITVARS rather than VARS for FILING.TYPES

To avoid contamination with values from other files (like LAFITE)

* FILEPKG: SEPRCASE in EDITCALLERS includes comma and quote even if no DWIMIFYCOMPLFG

Also seprate the caseinsensitive UPPERCASEARRAY from the SEPRCASE array

* IOCHAR: Open code the call to \INCCODE.EOLC

About a 30% speed up in the slow (casearray/skip) case.  Eventually macros should be defined for the externalformat interface functions, for now it is nice to be able to trace/break them.

* EXTERNALFORMAT: a little bit of cleanup

particularly around EOLC
2022-07-25 19:12:52 -07:00
rmkaplan
6376579b1c Rmk63 backccode peekccode eolc (#853)
* EXTERNALFORMAT,UNICODE,XCCS: Consistent naming of \PEEKCCODE(.EOL), \BACKCCODE returns the code

It was confusing that the naming of the peek functions was inconsistent with the inccode and backccode functions with respect to the EOLC qualifier.  Now uniformaly, the unqualified names (\PEEKCCODE, \BACKCCODE, \INCCODE) do not do any EOL interpretation.  The qualified-name functions (\PEEKCCODE.EOLC, \INCCODE.EOLC, \BACKCCODE.EOLC) do EOL interpretation.

Also, the \BACKCCODE interface is changed so that it returns the code corresponding to the bytes that it passed over.  This simplifies some of the callers.

* Clients of \PEEKCCODE \BACKCCODE and .EOL

Small changes either to fix inconsistencies (backing, reading, peeking with inconsistent EOL interpretation), updating the names in a few other cases, a few simplifications.

* glitches in ATERM, HARDCOPY updates
2022-07-21 10:36:19 -07:00
Larry Masinter
5db76b4998 compile COLOROBJ for image object getfn (#854) 2022-07-21 10:18:24 -07:00
rmkaplan
2b1d39b544 MAIKOCOLOR: Newer version than the one in master? (#846)
I have this one in my working directory, and it seems to be bigger than the one in the repo and its previous version is later than the version in the repo.  Maybe this is better?  I putting this out as a draft for people to look at.
2022-07-20 23:36:32 -07:00
rmkaplan
a23ce42726 Rmk62 old tedit formats and nits (#851)
* TEDIT-FIND, TEDIT-OFD: Read old-format TEDIT files

TEDIT-OFD also traps non-stream TEXT arguments that should no longer propagate

* EDITKEYS: Only BKSYSBUF when TEDIT has the TTY

Also, changed the name from Function Keys to Tedit Keys, made the shrunk window open on left-click

* COMPAREDIRECTORIES: better format when one of the columns is empty

* GITFNS: "cob next" asks to confirm the parent branch

* TEDIT-FILE:  Pass TEXTSTREAM to TEDIT.GET.OBJECT

* TEDIT-FILE again:  same problem in readers for old formats

* Eliminate (OPENTEXTSTREAM "")
2022-07-20 22:52:25 -07:00
Larry Masinter
3c26eeb964 remove .IMPTR files (byproduct of hardcopy of tedit Interlisp Manual) (#849) 2022-07-20 20:21:42 -07:00
rmkaplan
e5961cde2c Merge pull request #850 from Interlisp/loadup-passthru-NF
Use -NF (no fork) on ldinit during loadup
2022-07-20 12:01:04 -07:00
Larry Masinter
8441c257d5 Use -NF (no fork) on ldinit during loadup 2022-07-20 08:04:38 -07:00
Larry Masinter
96b5a70b90 make tmp dir if not there; add README for scripts (#844) 2022-07-18 16:22:14 -07:00
rmkaplan
0d13ed6a9d Merge pull request #847 from Interlisp/tmp-without-slash
run-medley tmp/full.sysout add tmp
2022-07-18 12:14:37 -07:00
Larry Masinter
f3b73a5756 run-medley tmp/full.sysout add tmp 2022-07-18 12:13:22 -07:00
rmkaplan
a54888734e FONT, EDITFONT: Cleanup strike font reading and writing (#845)
EDITFONThad its own slightly different version.  Now centralized in FONT with slight adjustments to internal interfaces.
Note that we don't have a way of writing AC font files, as near as I can tell
2022-07-17 21:22:56 -07:00
rmkaplan
06664219ca Rmk57 mostly gitfns improvements, other minor cleanups (#843)
* MAKEINIT:  Remove bogus non-ascii character from comments

* UPCSTATS: move to obsolete

* GITFNS: better interface to process stream

Now only looks at the process return code, gets all output only from redirected streams.  Also offers to increase the diff.renameLimit if it is too small for the branch comparison.

* COMPAREDIRECTORIES:  reformat browser output

The lengths are now in their own column.  Also, the < and > are in different columns, to make it easier to pick out which side is newer.

* CLIPBOARD.TXT: documented that it uses (SYSTEM-EXTERNALFORMAT)

* GITFNS:  Fixed a glitch in the renameLimit

* GITFNS: Test for gh

* COMPAREDIRECTORIES:  Fix loadup record sequence

* Don't overwrite fixed NCFILES in MEDLEY-UTILS

* SKETCHOBJ and TEDIT-FILE already merged

Co-authored-by: Larry Masinter <LMM@acm.org>
2022-07-17 19:13:25 -07:00
rmkaplan
331f748652 Merge pull request #837 from Interlisp/TEDIT3-Refactor-TEDIT.BUILD.PCTB
Tedit3 refactor tedit.build.pctb
2022-07-17 16:09:02 -07:00
Nick Briggs
e2748dc556 Merge branch 'master' into TEDIT3-Refactor-TEDIT.BUILD.PCTB 2022-07-17 15:51:41 -07:00
Larry Masinter
c1fb892333 fix to HCFILES to pick up sketch files; bug fix sketch (#840)
* fix to HCFILES to pick up sketch files; bug fix sketch

* redo HCFILES patch to pick up .SKETCH and .TXT files
2022-07-17 13:04:43 -07:00
Larry Masinter
c437b6c3bb fix oklibrary and use to not fail when file has been renamed (#842) 2022-07-17 05:55:03 -07:00
Frank Halasz
6ff047828e Part of fix to Issue #795. buildLoadup.yml workflow now auto-generates release notes, allowing for release to be created in non-draft status. (#841) 2022-07-16 21:38:47 -07:00
rmkaplan
4238dc3888 Rmk56 filepos with external formats #3 (#827)
* TESTUPF:  Move from internal/ to internal/test/unpackfilename

to be parallel with filepos

* IOCHAR:  FILEPOS respects external format (#3)

* FILEPKG: EDITCALLERS speed up with new FILEPOS

* internal/test/filepos:  Testing jig and cases for new FILEPOS

* EXTERNALFORMAT, IOCHAR: fix external-format glitches
2022-07-16 21:30:54 -07:00
rmkaplan
7a220ddcba Tedit2 move tedit files to separate tedit subdirectory attempt 2 (#836)
* TEDIT files: deleted from library/, renamed to library>tedit.TEDIT-xxx

* PSEUDOHOSTS:  Error if file won't open

* LOADUP-*, MEDLEYDIR, UNICODE

Adjustment for TEDIT-xxx, plus moving UNICODE to the beginning of LOADUP-LISP, with UNICODEDIRECTORIES creating in MEDLEYDIR
2022-07-16 21:24:32 -07:00
rmkaplan
41bb28f01e Merge pull request #839 from Interlisp/loadup-fixes
loadup and run-medley script bug fixes
2022-07-16 16:58:26 -07:00
Larry Masinter
2728839bc7 fix typo 2022-07-16 16:04:33 -07:00
Larry Masinter
2120f5f458 loadup and run-medley script bug fixes 2022-07-16 11:51:58 -07:00
rmkaplan
8ee32f6243 Rmk55 gitfns with redirect (#826)
* CLIPBOARD, FILEIO: external format

CLIPBOARD uses SYSTEM-EXTERNALFORMAT.
FILEIO:  added sourceparameters argument to COPYFILE, so format can be specified.

* GITFNS:  rework to avoid hanging process stream

Redirects command output to tmp output and error streams, at most only looks for a COMPLETED signal in the process stream (which still sometimes hangs)

* EXAMINEDEFS:  Asks for a menu position on a keyboard call

(Otherwise, the chunk menu may be buried under the TTY window)
2022-07-15 18:01:30 -07:00
rmkaplan
efa4ae1019 TEDIT-FILE: Split up TEDIT.BUILD.PCTB into separate subfunctions
Should be easier to update and extend.  Not clear that the code for making a string piece is still needed here, since we interpret strings as file names.  So this may be further simplified.  I hope this also will give us a better handle on some of the file inconsistencies, by isolating the readers for formatted and unformatted files.
2022-07-14 22:09:10 -07:00
rmkaplan
8c75696e65 LOADUP-*, MEDLEYDIR, UNICODE
Adjustment for TEDIT-xxx, plus moving UNICODE to the beginning of LOADUP-LISP, with UNICODEDIRECTORIES creating in MEDLEYDIR
2022-07-14 18:49:58 -07:00
rmkaplan
17792da409 PSEUDOHOSTS: Error if file won't open 2022-07-14 18:48:54 -07:00
rmkaplan
f721045f7c TEDIT files: deleted from library/, renamed to library>tedit.TEDIT-xxx 2022-07-14 18:46:04 -07:00
rmkaplan
de3185002c LLDISPLAY, WINDOW, BIGBITMAPS: share common DSPCREATE, ensure formats (#824) 2022-07-09 17:14:34 -07:00
rmkaplan
c93e620624 Rmk53 added system externalformat (#823)
* CLSTREAMS: Fix EOL/external format on error stream (synonym and 2-way) #815

* CMLFORMAT: makefile NEW to get functions in filemap

* CLSTREAMS: cleanup formats for more types

* FILEIO:  Add readonly bit in streams for external-format

* UNIXCOMM, EXTERNALFORMAT: Introduce STREAM-EXTERNALFORMAT
2022-07-09 17:12:27 -07:00
rmkaplan
718d9f988c Rmk52 fix external format for error stream (#817)
* CLSTREAMS: Fix EOL/external format on error stream (synonym and 2-way) #815

* CMLFORMAT: makefile NEW to get functions in filemap

* CLSTREAMS: cleanup formats for more types

* FILEIO:  Add readonly bit in streams for external-format
2022-07-09 17:08:16 -07:00
Larry Masinter
06953f408a fix #411 scanfilehelp suggested 1100support (#766) 2022-07-08 12:23:00 -07:00
rmkaplan
32e8f44d9a Merge pull request #804 from Interlisp/more-unsafe
mark \ fns and SI fns as potentially unsafe to run interpreted
2022-07-04 12:37:35 -07:00
Larry Masinter
25e791de4f pull more newer library lispusers internal(/library) files from envos (#813) 2022-07-03 21:24:36 -07:00
rmkaplan
d7ca40ebeb Rmk51 end game of external format integration (#814)
* Compile device-creation functions for new default interface

* UNICODE:  minor bug

* LLINTERP: MOVD? APPLY* to SPREADAPPLY*

* External format interface: a few more adjustments

* CLSTREAMS: Recompile, no source change

* PRETTYFILEINDEX: suppress when printing gitmaps to a non-display stream

* UNIXCOMM: Default format comes from device

Also, I seemed to have reverted back to LCOM with FAKE-COMPILE-FILE
2022-07-03 18:49:04 -07:00
Larry Masinter
f86be45834 Add documents from envos/LISPCORE/internal/docs (#812) 2022-07-02 22:08:47 -07:00
Larry Masinter
32128f5e19 MEDLEY-UILS loadup-db run-medley fixes (#808)
* MEDLEY-UILS loadup-db run-medley fixes

* UNIXCOMM compile to DFASL; only set UTF-8 if getenv(LANG). loadup-db no lisp.virtualmem
2022-06-28 11:45:59 -07:00
Frank Halasz
0d07ed6379 Remove Draft status from Medley release in buildoadup.yml to fix Issue #795. (#796) 2022-06-27 12:44:48 -07:00
rmkaplan
9660232d6e Rmk50: TERMINAL fonts plus fixed masterscope conflicts (#806)
* EDITFONT:  CHARSET in  interface

* IDLEHAX, LIFE, TMAX-ENDNOTE:  Clean up conflicts in making full masterscope DB

* FONT:  Add charset coercion for TERMINAL

* TERMINAL fonts:  Remove bogus character set files

so that better coercions can take place
2022-06-27 11:49:36 -07:00
rmkaplan
13e2b5cda6 Merge pull request #805 from Interlisp/process-utf8
assume process streams are UTF-8
2022-06-26 18:43:07 -07:00
rmkaplan
648335bfec Rmk49: responds to #800 (#803)
* TEDIT, TEXTOFD:  Pass FORMAT in PROPS to OPENSTREAM

In TEDIT and OPENTEXTSTREAM.  I don't think TEDIT interprets the external format, but at least the info is there

* WINDOW: CREATEW prompts on one line

It was calling PROMPTPRINT twice, which resulted in orphan-looking lines

* EXAMINEDEFS: Propagate textwidth to COMPARETEXT

* COMPARETEXT: propagate height/width of text windows, for linelength

#800

* GREP:  Will work with external formats, after FILEPOS update

Line printout could be better, if e.g. it is a Lisp source file, but...

* EXAMINEDEFS:  Propagate window width to COMPARETEXT, for LINELENGTH

* GITFNS: added fetch before git log

* PSEUDOHOSTS: Pseudohost-streams are now registered on the PH device, not the target device

* EXTERNALFORMAT, XCCS:  Globalvar declaration in wrong place

Also updated \CHECKEOLC macro

* GITFNS:  moved git fetch to beginning of prc

* GREP:  Propagated OUTSTREAM
2022-06-26 18:18:44 -07:00
Larry Masinter
8c7f42e595 assume process streams are UTF-8 2022-06-26 17:46:19 -07:00
Larry Masinter
e64a02dcfb try SYSEDIT without DFNFLG PROP 2022-06-25 18:23:01 -07:00
Larry Masinter
ae07d213f0 mark \ fns and SI fns as potentially unsafe to run interpreted 2022-06-25 18:03:00 -07:00
rmkaplan
c92622e09e Merge pull request #799 from Interlisp/rmk48
Rmk48: Miscellaneous minor updates: TEDITFILE, GITFNS, EXTERNALFORMAT, EDITINTERFACE
2022-06-22 22:52:10 -07:00
rmkaplan
90c38de8db GITFNS: If test is cloned under git-test, makes a gitfns project by default 2022-06-22 16:39:01 -07:00
rmkaplan
0ebec570e6 TEDITFILE: added TEDIT.GET.PASSWORD
Returns the password (= format version indicator) of a TEDIT formatted file, NIL if not a tedit file
2022-06-22 16:30:35 -07:00
rmkaplan
217938c104 EXTERNALFORMAT: Add \FORMATBYTESTRING, EOLC arg to \INCCODE.EOLC
Also, STREAM can be given as the format argument to \EXTERNALFORMAT, gets the stream's format.

Atoms (LF, CR, CRLF, ANY) allowed for EOL specs (caller won't need exports.all)
2022-06-22 16:28:03 -07:00
rmkaplan
5e629cebc9 EDITINTERFACE: Case-independent match of leading initials on a change-comment
Also, matching initials are recognized with or without a colon
2022-06-22 16:25:50 -07:00
rmkaplan
b320333ac1 PRINTFN: rename variabl
to clarify that it counts byte, not characters
2022-06-22 16:24:16 -07:00
Frank Halasz
16d5779db4 Fix inputs: clause in buildDocker.yml (#794) 2022-06-21 16:54:58 -07:00
rmkaplan
c5eb54a3dc Rmk46: Minor changes to comparison functions (#789)
* COMPARETEXT: Inverted nodes stay inverted when scrolled

* COMPARESOURCES: Remove unused stub for browsing in TEDIT window

* COMPAREDIRECTORIES: Upgrade to new LISPFILETYPE, add CD-COMPARE-FILES

CD-COMPARE-FILES interface to compare 2 given files, not whole directory
2022-06-13 17:07:56 -07:00
rmkaplan
3c7fb08932 Rmk47: TEDIT, GITFNS, COREIO (#791)
* COMPARETEXT: Inverted nodes stay inverted when scrolled

* COMPARESOURCES: Remove unused stub for browsing in TEDIT window

* COMPAREDIRECTORIES: Upgrade to new LISPFILETYPE, add CD-COMPARE-FILES

CD-COMPARE-FILES interface to compare 2 given files, not whole directory

* TEDIT:  Show only file name, not stream address

* COREIO: preserve STREAMPROPS on stream reopen

* GITFNS:  Various project and git-interface cleanups
2022-06-13 15:20:41 -07:00
Nick Briggs
f262c98f53 Fixes test in run-medley for inferred medley directory (#793) 2022-06-12 08:35:54 -07:00
rmkaplan
9c8d9df1ac Rmk45 testupf to internal, tedit pathnames, minor doc changes (#787)
* TESTUPF:  Moved to internal

* CLIPBOARD.TXT, MODERNIZE.TEDIT, WHEELSCROLL.TXT: Minor edits

* TEDIT, TEXTOFD:  CL:PATHNAMES are recognized as file names for opening
2022-06-04 18:32:56 -07:00
rmkaplan
894ecd6d0c Merge pull request #777 from Interlisp/rmk42--ADIR-has-new-UNPACKFILENAME.STRING
ADIR, TESTUPF:  New version of UNPACKFILENAME.STRING with test tool
2022-06-04 15:24:27 -07:00
rmkaplan
7eb0f28db4 Merge pull request #775 from Interlisp/rmk41--TEDIT-interprets-strings-as-filename
Rmk41  tedit interprets strings as filename
2022-06-04 15:23:14 -07:00
Larry Masinter
d3d2534eb1 Fixes to HCFILES from MEDLEY-UTILS to convert TEdit files to postscript 2022-06-02 17:18:29 -07:00
rmkaplan
b9994581d4 Merge pull request #780 from Interlisp/rmk44--Lispusers-to-obsolete
Rmk44  lispusers to obsolete
2022-05-24 17:36:01 -07:00
rmkaplan
ff29872150 Merge pull request #778 from Interlisp/rmk43--Move-lispusers-spline-and-c150-fonts-to-subdirectories
Move lispusers> strike and c150 fonts to subdirectories
2022-05-24 17:35:22 -07:00
rmkaplan
cb122f4c58 Move lispusers c150 and strikefont directories to obsolete/lispusers/ 2022-05-24 16:15:46 -07:00
rmkaplan
205de6fd1b ENDNOTE to obsolete (newer version in TMAX>TMAX-ENDNODE 2022-05-24 16:15:13 -07:00
rmkaplan
45b4edf040 Move lispusers> strike and c150 fonts to subdirectories
Next step will be to move the subdirectories to obsolete/
2022-05-23 22:23:06 -07:00
rmkaplan
51d9e995e1 ADIR, TESTUPF: New version of UNPACKFILENAME.STRING with test tool
See TESTUPF.TXT for testing information
2022-05-23 12:48:41 -07:00
rmkaplan
4910ea5660 MODERNIZE.TEDIT: documentation migrated from .TXT 2022-05-22 19:15:38 -07:00
rmkaplan
59f71f04c2 MACHINEINDEPENDENT: Added LISPFILETYPE
Returns type and dates in a single call
2022-05-22 14:56:47 -07:00
rmkaplan
107ea72a67 TEDIT, TEXTOFD: String TEXT is filename
Adds TEXTSTRING as a separate entry to be used when strings are not names but characters to be edited
2022-05-21 23:56:03 -07:00
rmkaplan
48ebc675a7 Rmk40 shakedown gitfns projects (#774)
* GITFNS:  smoothed out some project glitches

Also added "titlestring" to cob command when creating a new branch.
cob next "fixed a bug" will create the next branch for the current initials with the title string appended.

* MACHINEINDEPENDENT:  DOFILESLOAD tries packing on DIRECTORY as well as DIRECTORIES
2022-05-21 19:55:00 -07:00
Larry Masinter
d2ce98d131 restore-versions now sets date of version to date of commit (#624) 2022-05-16 16:49:22 -07:00
rmkaplan
8bfbe99367 Rmk38: Added git "projects" to GITFNS, plus minor updates to directory/source comparisons (#771)
* SETSTRINGLENGTH.TEDIT: Orphan TEDIT file, no code in lispusers

It will be restored when the code it goes with is moved over from LFG

* COMPAREDIRECTORIES: minor fix

* COMPARESOURCES:  Add IGNORECOMMENTS flag

* GITFNS: Add new "project" capability for multiple clones

The TEDIT file got smashed, so new features are not yet documented.  Should work as before for the Medley project.  If you set up unix variables LOOPS or NOTECARDS to point to their local clones (or just name the clones git-loops or git-notecards as sisters to your MEDLEYDIR), you should be able to do prc loops or prc notecards.

* Update GITFNS.TEDIT

Repaired the Tedit smash

* EDITINTERFACE:  All date comments at the same comment level

* EDITINTERFACE:  Improved date alignment

* GITFNS again:  added cdg and cdw commands
2022-05-13 12:50:16 -07:00
rmkaplan
d28bcf19fe Rmk36: A single commit added to rmk35 so I can test pr inclusion marking (#762)
* PSEUDOHOSTS: GETHOSTINFO of pseudohost goes to true host

* CMLPATHNAME:  Remove unused PARSE-NAMESTRING1

Avoid stumbling on it in future maintenance.  Also, remake filemap for functions and defmacros

* SAMEDIR, COMPAREDIRECTORIES: FILENAMEFIELD → FILENAMEFIELD.STRING

in a few places.  No need to hash atoms

* LLCHAR:  expose $$READONLY in inpname I.s.opr
2022-05-11 18:52:01 -07:00
rmkaplan
e0ec580fd5 Rmk35: A little FILENAMEFIELD cleanup (#763)
* PSEUDOHOSTS: GETHOSTINFO of pseudohost goes to true host

* CMLPATHNAME:  Remove unused PARSE-NAMESTRING1

Avoid stumbling on it in future maintenance.  Also, remake filemap for functions and defmacros

* SAMEDIR, COMPAREDIRECTORIES: FILENAMEFIELD → FILENAMEFIELD.STRING

in a few places.  No need to hash atoms
2022-05-11 18:48:44 -07:00
rmkaplan
b796727165 Rmk37 prc menu shows superset relations (#764)
* PSEUDOHOSTS: GETHOSTINFO of pseudohost goes to true host

* CMLPATHNAME:  Remove unused PARSE-NAMESTRING1

Avoid stumbling on it in future maintenance.  Also, remake filemap for functions and defmacros

* SAMEDIR, COMPAREDIRECTORIES: FILENAMEFIELD → FILENAMEFIELD.STRING

in a few places.  No need to hash atoms

* LLCHAR:  expose $$READONLY in inpname I.s.opr

* GITFNS: prc menu shows superset relations

* GITFNS:  Sort the prc menu

* EDITINTERFACE:  Better edit-date management

* PRETTYFILEINDEX: Destination can be any imagestream, not just display

* TEDIT-PF-SEE:  Use SEE instead of COPYTO IMAGESTREAM

to get better formatting of PRETTYFILEINDEX
2022-05-11 18:40:13 -07:00
rmkaplan
dcba1a2d60 Merge pull request #747 from Interlisp/git-release
update README and release-notes
2022-05-01 12:23:25 -07:00
rmkaplan
3f401c52a3 Merge pull request #758 from Interlisp/rmk33
Rmk33: file-system interactions:  (sub) directory enumeration (#648 #741 #752) etc.
2022-04-26 22:21:36 -07:00
rmkaplan
3de8a6d028 GITFNS: Doesn't hang on pagefull, cob improved 2022-04-24 13:53:31 -07:00
rmkaplan
d5a7d144bd COMPAREDIRECTORIES: A little bit better on DEPTH 2022-04-24 13:51:26 -07:00
rmkaplan
3364a4af07 COPYFILES: respects DEFAULTEXT/VERS in single no-stars case 2022-04-24 13:48:23 -07:00
rmkaplan
74a43b9dea LLCHAR: Expose interation variables fo I.S.OPRS instring inpname...
So can be used (carefully) in more, trickier situations.  $$OFFSET also now is the index of the current character
2022-04-24 13:46:57 -07:00
rmkaplan
3a4852cf8b UFS: Reworked directory enumeration
Eliminated dependence on DEFAULTEXT and DEFAULTVERS, better job at subdirectories
2022-04-24 13:44:39 -07:00
rmkaplan
79fd39f15c FILEPKG: Added DEPTH=2 to EDITCALLERS, reopen stream after LOADFILEMAP 2022-04-24 13:39:44 -07:00
rmkaplan
3b9a825482 ADIR: added FILENAMEFIELD.STRING 2022-04-24 13:37:49 -07:00
rmkaplan
9f5a43abd1 DIRECTORY: minor cleanup, comments 2022-04-24 13:36:50 -07:00
rmkaplan
eb33dcc7eb FILEIO: Added DEPTh parameter to \GENERATEFILES
Binds FILING.ENUMERATION.DEPTH, uses free value of DEPTH not specified
2022-04-24 13:36:31 -07:00
rmkaplan
26308b385c Rmk29: FINDFILE-WITH-EXTENSIONS, DOFILESLOAD, WHEREIS #741 (#745)
* MACHINEINDEPENDENT: better searching for foo-fie

FINDFILE-WITH-EXTENSIONS, DOFILESLOAD

* MEDLEY-UTILS, PRINTFN:  WHEREIS/PF know about foo>foo-fie

* WHERE-IS:  Just MAKEFILE-NEW to get FUNCTIONS into the filemap

* ACE does LOADCOMP itself

* MACHINEINDEPENDENT:  FINDFILE-WITH-EXTENSIONS recognized SUBDIRECTORY

* SPELLFILE:  Calls FINDFILE-WITH-EXTENSIONS at the top

So FINDFILE and FILE-NOT-FOUND will consider FOO>FOO-FIE for file FOO-FIE
2022-04-24 11:34:15 -07:00
rmkaplan
e22f10b19a Rmk30 WHEREIS for missing GETFN, TMAX fixed (#749)
* MACHINEINDEPENDENT: better searching for foo-fie

FINDFILE-WITH-EXTENSIONS, DOFILESLOAD

* MEDLEY-UTILS, PRINTFN:  WHEREIS/PF know about foo>foo-fie

* WHERE-IS:  Just MAKEFILE-NEW to get FUNCTIONS into the filemap

* ACE does LOADCOMP itself

* MACHINEINDEPENDENT:  FINDFILE-WITH-EXTENSIONS recognized SUBDIRECTORY

* SPELLFILE:  Calls FINDFILE-WITH-EXTENSIONS at the top

So FINDFILE and FILE-NOT-FOUND will consider FOO>FOO-FIE for file FOO-FIE

* WINDOWOBJ:  Missing GETFN does WHEREIS #748

* TMAX*:  Localize IMAGEFNS

The various IMAGEFNS were defined on TMAX itself, not on the file where the functions were (esp GETFN).

Also fixed some dependencies.  With new WINDOWOBJ, TMAX.TEDIT finds its image objects.

* WINDOWOBJ again:  SYSLOAD the GETFN file

Co-authored-by: Larry Masinter <LMM@acm.org>
2022-04-24 11:32:59 -07:00
rmkaplan
1eccc2e59b Rmk31 Move all TMAX* files to TMAX>TMAX* (#750)
* MACHINEINDEPENDENT: better searching for foo-fie

FINDFILE-WITH-EXTENSIONS, DOFILESLOAD

* MEDLEY-UTILS, PRINTFN:  WHEREIS/PF know about foo>foo-fie

* WHERE-IS:  Just MAKEFILE-NEW to get FUNCTIONS into the filemap

* ACE does LOADCOMP itself

* MACHINEINDEPENDENT:  FINDFILE-WITH-EXTENSIONS recognized SUBDIRECTORY

* SPELLFILE:  Calls FINDFILE-WITH-EXTENSIONS at the top

So FINDFILE and FILE-NOT-FOUND will consider FOO>FOO-FIE for file FOO-FIE

* WINDOWOBJ:  Missing GETFN does WHEREIS #748

* TMAX*:  Localize IMAGEFNS

The various IMAGEFNS were defined on TMAX itself, not on the file where the functions were (esp GETFN).

Also fixed some dependencies.  With new WINDOWOBJ, TMAX.TEDIT finds its image objects.

* Move TMAX files to TMAX>

Given the WHEREIS change for GETFN and the FINDFILE-WITH-EXTENSIONS in SPELLFILE, TEDIT(TMAX.TEDIT) opens and all of its imageobjects are found and loaded from the TMAX> files.

* Push relocated files again:  (COPYFILES screwed up)

* Delete TMAX.INDEX   garbage file
2022-04-23 21:36:23 -07:00
Fulton Browne
f9f1038efb Fixed some bad doc's (#751)
* Fixed some bad doc's

* Minor change
2022-03-22 21:56:51 -07:00
Larry Masinter
196f771c41 update README and release-notes 2022-03-16 18:06:12 -07:00
Larry Masinter
8400f7bee8 rename migration for new conventions; restore smashed IDLEHAX.TEDIT & sh permissions (#740) 2022-03-09 22:59:25 -08:00
Larry Masinter
a14d1ef405 remove controversial lispusers PAGEHOLD VTCHAT from MEDLEYDIR-INIT (#739) 2022-03-09 22:58:33 -08:00
Frank Halasz
ba8dc92045 Adding xclip into Medley docker image to support CLIPBOARD library package (#738) 2022-03-09 12:36:38 -08:00
Larry Masinter
6ec792510f simplify DEFAULTFILETYPELIST initialization (#735) 2022-03-08 09:41:50 -08:00
Larry Masinter
5e6a035614 remove fonts/xerox already in displayfonts (#734) 2022-03-07 22:06:12 -08:00
rmkaplan
43b0120f2a DIRECTORY: Added DEPTH parameter for FILEING.ENUMERATION.DEPTH (#720)
* DIRECTORY:  Added DEPTH parameter for FILEING.ENUMERATION.DEPTH

* DIRECTORY:  Added DEPTH parameter to FILDIR
2022-03-07 16:58:47 -08:00
rmkaplan
157b98fa9b Merge pull request #731 from Interlisp/rmk28
Rmk28 A few more file cleanups
2022-03-07 16:30:11 -08:00
Larry Masinter
b859649f00 moving obsolete lispusers; delete some junk files (#730)
* lispusers [HIJK]* sort out

* lispusers [LM]* sort out

* more cleanup
2022-03-07 16:19:27 -08:00
rmkaplan
3af82b4aff Create TIMESROMAN08-MIR-C0.DISPLAYFONT
For some reason, I had this but it wasn't in the master.  Don't know why.
2022-03-07 15:17:13 -08:00
rmkaplan
0f36b20f7f DocumentationTemplate.TEDIT TEDITDORADOKEYS.DATABASE
This is an old version of the template file.  The database file isn't necessary
2022-03-07 15:16:39 -08:00
rmkaplan
a84dcf8f57 CMLDEFFER: MAKEFILE-NEW to get FUNCTIONS in filemap for PF 2022-03-07 15:15:33 -08:00
rmkaplan
d035c4270f XREF is obsolete
Functionality is in TMAX-XREF
2022-03-07 15:14:54 -08:00
rmkaplan
e7e297c45c Merge pull request #729 from Interlisp/lmm17
more odds and ends from promote-internal
2022-03-07 14:50:57 -08:00
Larry Masinter
0bdba59aa9 more odds and ends from promote-internal 2022-03-07 13:15:16 -08:00
rmkaplan
831aa94cb4 Rmk27 GITFNS for renaming, minor other convenience adjustments (#728)
* GITFNS, COMPAREDIRECTORIES: more on renaming and copying

* MODERNIZE: use Wborder for the top for windows without titles

* DIRECTORY:  DEPTH as a parameter

* FILEPKG:  EDITCALLERS does FILDIR if FILES contains *

* GITFNS: Don't error on a non-existent "deleted" file
2022-03-07 12:38:35 -08:00
rmkaplan
74dc52b73f GITFNS: Fix CDGITDIR for < >, interpret C(opy) (#726) 2022-03-05 21:16:45 -08:00
rmkaplan
405845937d Merge pull request #698 from Interlisp/move-lispusers-lists
Move LispUsers documents to subdir for later sorting
2022-03-05 17:37:40 -08:00
Larry Masinter
ef24b9815d Fix MEDLEYDIR when NOERROR specified to not error and return correct path (#721) 2022-03-05 15:10:01 -08:00
rmkaplan
7bde19453e Merge pull request #711 from Interlisp/medley-logow
Medley logow
2022-03-04 21:08:44 -08:00
rmkaplan
a544855c08 Merge pull request #712 from Interlisp/odds-n-ends
Odds n ends
2022-03-04 21:08:09 -08:00
Larry Masinter
156b14851b Add MAKESYSDATE to logo window title, just delete Venue logo code 2022-03-04 19:49:07 -08:00
Larry Masinter
b95e68766d Fix bug introduced by 'changes to%' => ':CHANGES-TO' (#717) 2022-03-04 16:59:22 -08:00
Larry Masinter
3c35f6459b FINDFILE-WITH-EXTENSIONS update only (#708) 2022-03-04 16:49:05 -08:00
Larry Masinter
c68f84219a Fix bug in :CHANGES-TO :PREVIOUS-DATE not finding file changes 2022-03-02 16:53:33 -08:00
Larry Masinter
0f663ac5f5 forgot fn from KOTOLOGOW 2022-02-28 21:49:57 -08:00
Larry Masinter
6de8d3ec77 Move internal/library to internal, xerox font dirs, loadup and medleydir (#709)
* Move internal/library to internal, xerox font dirs, loadup and medleydir

* and MEDLEYDIR too

* mised some changes in 'promote/internal'

* tiny typo
2022-02-28 21:44:12 -08:00
rmkaplan
acc08e0dd7 Rmk23 Minor updates for COMPAREDIRECTORIES, GITFNS, REGIONMANAGER (#710)
* REGIONMANAGER:  TTY as a reference window

* GITFNS: Fix GITFNS.TEDIT, add DRAFTS as a prc parameter

so the menu shows the draft pr's for comparison

* COMPAREDIRECTORIES: only show differences in text-compares

Don't bother showing the unchanged chunks.
2022-02-28 21:30:26 -08:00
Larry Masinter
8eb9efdcc7 more greet file tweaks 2022-02-28 21:23:58 -08:00
Larry Masinter
f0f8b59ad8 LOGOW now Medley / based on KOTOLOGOW 2022-02-28 21:19:41 -08:00
rmkaplan
111ebe2d27 Merge pull request #706 from Interlisp/rmk22
Rmk22  Minor fix ups for comparisons, GITFNS for renamed files
2022-02-28 14:30:20 -08:00
rmkaplan
fbf33fe8e5 GITFNS: fix-ups prompted mostly by the pattern of git renames 2022-02-26 22:16:50 -08:00
rmkaplan
d3b1c6a3b4 Further cleanup of comparison functions
Mostly for cosmetics or convenience, a few glitches
2022-02-26 22:16:07 -08:00
rmkaplan
ab8da79d30 Merge pull request #703 from Interlisp/hyperdesk-needs-rooms
move hyperdesk to rooms for later review
2022-02-26 12:00:27 -08:00
Larry Masinter
c35a92db11 Loading VTCHAT should set it as default (#696) 2022-02-25 20:07:49 -08:00
Larry Masinter
601bc94fb7 obsolete many lispusers (#702)
* obsolete many lispusers

* NSDISPLAYSIZES isn't obsolete
2022-02-25 14:40:37 -08:00
rmkaplan
200b73c39d Merge pull request #699 from Interlisp/idlehax
patch some idle hacks and merge in IDLEDRAIN
2022-02-25 14:14:55 -08:00
Larry Masinter
72811d5bea move lafite files to library/lafite for later sorting (#697)
* move lafite files to library/lafite for later sorting

* more lafite lispusers
2022-02-24 20:31:39 -08:00
Larry Masinter
8045087be3 move hyperdesk to rooms for later review 2022-02-24 20:19:20 -08:00
Larry Masinter
1e4501be8e EOL convert .lisp files 2022-02-24 19:48:38 -08:00
rmkaplan
eb84efa12b Merge pull request #695 from Interlisp/tedit-no-font
Change OPENTEXTSTREAM to not error when finding display font (for hardcopy)
2022-02-24 19:34:23 -08:00
Larry Masinter
7c24032530 add lispusers/README.md 2022-02-24 19:26:25 -08:00
Larry Masinter
4002f75be8 Was merged into MEDLEY-UTILS 2022-02-24 19:23:51 -08:00
Larry Masinter
2ec33f860c useless IDLESWAP, no docs 2022-02-24 19:09:53 -08:00
Larry Masinter
071f8e5004 patch some idle hacks and merge in IDLEDRAIN 2022-02-24 19:03:49 -08:00
Larry Masinter
aad2344d82 odds and ends -- 2022-02-24 18:59:15 -08:00
Larry Masinter
018a464db4 Move LispUsers documents to subdir for later sorting 2022-02-24 18:49:08 -08:00
Larry Masinter
f940246eb1 Change OPENTEXTSTREAM to not error when finding display font (for hardcopy) 2022-02-24 17:51:37 -08:00
Larry Masinter
4ae11aebf4 get rid of unused font files from medley release (#679)
more cleanup from promote-internal destructuring
2022-02-24 10:14:16 -08:00
Larry Masinter
ae1d6536ef remove unused Xerox files.Z and shorten dir name (#692) 2022-02-24 05:06:45 -08:00
Larry Masinter
d734ec9d45 Move test files to its own repo (#691) 2022-02-23 20:00:19 -08:00
Bill Stumbo
0fc31e1183 Merge pull request #670 from Interlisp/masinter-patch-README
Update README.md
2022-02-22 07:44:16 -05:00
rmkaplan
17a3a5a93e Merge pull request #686 from Interlisp/rmk21
Rmk21 Comparison tools, Tedit string-args in Lafite files
2022-02-20 08:15:14 -08:00
rmkaplan
db8c951887 Comparison tools: Cosmetic fixes, a few glitches 2022-02-19 18:37:42 -08:00
rmkaplan
c4fac75f0a LAFITE files: Tedit--strings are filenames
more of #666
2022-02-19 18:35:11 -08:00
rmkaplan
160cf35f91 TEDITWINDOW: Fix offscreen scrolling #669 2022-02-19 18:32:24 -08:00
rmkaplan
ac1fcd2e2e BROWSER: missing specvars, added MODERNWINDOW
This should be included with Masterscope
2022-02-19 18:29:37 -08:00
Frank Halasz
e292ff99db Fixing up confusion between Docker username and Docker namespaces. Hopefully will fix docker login issues with buildDocker workflow. (#677) 2022-02-12 17:31:43 -08:00
Arun Welch
615885a0fa New version of IRM (#665)
* New version of IRM

New version of the IRM, updated to Medley.

* moved to docs/medley-irm as discussed
2022-02-12 14:05:10 -08:00
Frank Halasz
b2315a9b10 Fgh002.1: Workflow to test Docker Hub Login in this repo (#675)
* Complete revamp of the buildRelease and buildDocker workflows for Medley.  Also adding the buildReleaseInclDocker composite workflow.

* Add testLogin workflow to test Docker Hub login.
2022-02-12 09:40:01 -08:00
Frank Halasz
9dc01167c3 Complete revamp of the buildRelease and buildDocker workflows for Medley. Also adding the buildReleaseInclDocker composite workflow. (#674) 2022-02-11 21:27:28 -08:00
rmkaplan
66091a2375 Rmk20: Eliminate string arguments to TEDIT, move some bogus files to obsolete (#668)
* Eliminate string arguments to OPENTEXTSTREAM  #666

Empty string replaced by NIL, mostly.  Otherwise, string wrapped in OPENSTRINGSTREAM.  TEDIT hasn't yet been modified, just all the callers.

* INDEX, NGROUP:  move to obsolete   #667

* HELPSYS:  Add proper FILETYPE property

* ROOMS files:  Also updated for TEDIT string arguments
2022-02-07 13:56:05 -08:00
Larry Masinter
ca33b92033 Update README.md 2022-02-06 17:57:05 -08:00
rmkaplan
fe90ac5f9f Rmk19 (#664)
* PSEUDOHOSTS: Overlay a file system at the end of a path in another file system

New package, please look through it.

* REGIONMANAGER:  added RELCREATEPOSITION, allow for arguments to be spread

If the WIDTH argument looks like a list of arguments, the arguments are spread out.  Means that a relative region can be passed through intermediate functions.

* EXAMINEDEFS:  More control over regions and windows

Examination windows are returned so that callers can manipulate them

* TEDIT-PF-SEE:  tf respects reader environment and bold faces of DEFUN and DEFMACRO names

* COMPAREDIRECTORIES:  refactored for more flexibility and easier maintenance

Also, based on SPY, made more internal operations work on streams that are located and created once, rather than on file

Added CDMERGE to merge CDVALUES for different subdirectories, to permit scrolling of all differences in a single browser window

* COMPARESOURCES:  Region for CS browser is passed through, window is returned

Also tried to eliminate mismatching of simple edit timestamps

* COMPARETEXT: Files can be input streams, region is passed in, window is returned

* COMPAREDIRECTORIES again:  Fixed a promptwindow bug

* GITFNS:  New package for comparing and copying back and forth from My Medley to the git clone

* REGIONMANAGER:  Added CLOSEWITH and MOVEWITh

Primitives for building hierarchically dependent window clusters

* PSEUDOHOSTS:  Added PSEUDOHOSTNAME, hierarchical hosts #663

For hierarchical hosts (hosts whose prefixes are extensions of the prefixes of other pseudohosts), always the pseudofilename is always the shortest one.  See #663 for more details

* EXAMINEDEFS:  Fix prettyprint of non-function expressions

* GITFNS, Comparison files:  Use CLOSEWITH and MOVEWITH abstractions for window hierarchies
2022-01-31 09:51:50 -08:00
rmkaplan
b791bff070 Rmk19: Updates and remaining components for managing comparisons and interactions between git and Medley (#658)
* PSEUDOHOSTS: Overlay a file system at the end of a path in another file system

New package, please look through it.

* REGIONMANAGER:  added RELCREATEPOSITION, allow for arguments to be spread

If the WIDTH argument looks like a list of arguments, the arguments are spread out.  Means that a relative region can be passed through intermediate functions.

* EXAMINEDEFS:  More control over regions and windows

Examination windows are returned so that callers can manipulate them

* TEDIT-PF-SEE:  tf respects reader environment and bold faces of DEFUN and DEFMACRO names

* COMPAREDIRECTORIES:  refactored for more flexibility and easier maintenance

Also, based on SPY, made more internal operations work on streams that are located and created once, rather than on file

Added CDMERGE to merge CDVALUES for different subdirectories, to permit scrolling of all differences in a single browser window

* COMPARESOURCES:  Region for CS browser is passed through, window is returned

Also tried to eliminate mismatching of simple edit timestamps

* COMPARETEXT: Files can be input streams, region is passed in, window is returned

* COMPAREDIRECTORIES again:  Fixed a promptwindow bug

* GITFNS:  New package for comparing and copying back and forth from My Medley to the git clone
2022-01-27 22:32:49 -08:00
rmkaplan
ab8e97ff7b Rmk18 (#655)
* ADIR, COREIO:  Just move FILEDIRCASE array from COREIO to ADIR
Logically better place, my fear about loadup interactions was unfounded (I got burned before with bittables, but this is just a simple array)
* SPY:  Modernize the spy window
* TEDITHCPY: Make Interpress conditional on Interpress being loaded
This was an old edit that somehow got lost
* TEDITSCREEN:  Remove WAITINGCURSOR
The RESETSAVE for WAITINGCURSOR somehow wasn't working, but not worth debugging because we now don't have a wait.
* TEDITWINDOW:  Use TTYINPROMPTFORWORD instead of PROMPTFORWORD
2022-01-27 15:37:47 -08:00
Larry Masinter
f8e4bbd7cb Merge pull request #651 from Interlisp/rmk17
Rmk17:  Minor tweaks to sources
2022-01-27 10:36:15 -08:00
rmkaplan
c7272e78f2 ADIR: Only first colon before marks a device #651 2022-01-25 17:24:19 -08:00
rmkaplan
f531e89dde COREIO: More accurate directory name processing, added FILEDIRCASEARRAY
FILEDIRCASEARRAY does upper/lower case equivalents plus /<> for testing directory string equivalents.  Could be in COREIO, but that's probably too early in the loadup.
2022-01-24 21:12:56 -08:00
rmkaplan
293c973f1d EDITINTERFACE: bug fix in date-comment recognition, improvements to dated change-note behavior 2022-01-24 21:10:45 -08:00
rmkaplan
fe62e8e6e2 LLCHAR: Extend STRING.EQUAL to take CASEARRAY as argument
still defaults to the previously built-in reference to UPPERCASEARRAY
2022-01-24 21:09:15 -08:00
rmkaplan
51f0c19ad1 DMISC: Generalize argument to FLASHWINDOW 2022-01-24 21:07:01 -08:00
rmkaplan
1438ddba1f UFS, CMLFILESYS: Honor default extension and version for subdirectory enumeration 2022-01-24 21:06:20 -08:00
rmkaplan
ae3851ccf9 CMLPATHNAME: reprinted for FUNCTION/MACRO filemap 2022-01-24 21:04:10 -08:00
rmkaplan
e3f9a4ca9a FILEIO: Recirculated FDEV fields that had been evacuated during external format transformation
FDEV1...FDEV4 now available (used by PSEUDOHOSTS)
2022-01-24 21:03:15 -08:00
rmkaplan
7966704f1e PRETTY: DEFMACROS in filemap for PF, CLSTREAMS remade to test 2022-01-24 20:57:56 -08:00
rmkaplan
311e4f049c ADIR: Device colons before directories 2022-01-24 20:55:52 -08:00
rmkaplan
e119314a9e Remove move bogus % in filenames (#650) 2022-01-24 20:35:50 -08:00
rmkaplan
27d4df45e6 Merge pull request #645 from Interlisp/lmm15
Lmm15
2022-01-20 22:38:20 -08:00
Larry Masinter
312e99b0f4 Add templates for CL:WHEN CL:UNLESS 2022-01-15 20:26:40 -08:00
Larry Masinter
82eaacc542 patch some idlehacks to not draw so fast 2022-01-15 20:09:52 -08:00
Larry Masinter
479de87011 set MAKESYSNAME to MEDLEY: (e.g., as used by LOOPS) 2022-01-15 15:59:36 -08:00
Larry Masinter
5445a12b7e phase 0 of GATHER-INFO is setup for rest 2022-01-12 15:06:10 -08:00
rmkaplan
fadf81012b Rmk13: More infrastructure for flexible region management and support for comparisons (#641)
* TEXTOFD:  Property OBJECTBYTE returned instead of image objects

This allows COMPARETEXT to work on TEDIT files

* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant

* CMLEXEC:  Fix FILETYPE property

It had CL:COMPILE-FILE, but the directory had LCOMs.  Changed to :FAKE-COMPILE-FILE.

* FILEIO:  single place for EOL specification

Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN

* WINDOWOBJ:  COPYINSERT now uniformly allows lists of objects

It was incomplete.

* COMPARETEXT: Now works for TEDIT files

* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions

* OBJECTWINDOW:  container for arbitrary image objects

* ATBL: fixed typo

* MODERNIZEP: pass shape and move to main window if PASSTOMAINCOMS

* EXAMINEDEFS:  Remove EXAMINEDEFS-REGION

Replaced by equivalent functionality in new package REGIONMANAGER

* TEDIT:  adjustments to give caller control of window region

* Revert "TEDIT:  adjustments to give caller control of window region"

This reverts commit aec12b41f0.

* Revert "EXAMINEDEFS:  Remove EXAMINEDEFS-REGION"

This reverts commit 0c670bbc56.

* TEDIT, TEDITWINDOW:  Adjustments for propagating (typed) regions

* EXAMINEDEFS: added EXAMINEFILES for looking viewing files side-by-side

Fix titling glitch, add EXAMINEFILES

* OBJECTWINDOW: minor cleanup

* REGIONMANAGER: new package for managing typed regions, relative regions, and constellation regions

* TEDIT-PF-SEE:  commands for scrollable PF and SEE alternatives
2022-01-09 09:18:28 -08:00
rmkaplan
792edfdad5 Rmk14: Browsers for COMPAREDIRECTORIES, COMPARESOURCES, COMPARETEXT for TEDIT files (#642)
* TEXTOFD:  Property OBJECTBYTE returned instead of image objects

This allows COMPARETEXT to work on TEDIT files

* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant

* CMLEXEC:  Fix FILETYPE property

It had CL:COMPILE-FILE, but the directory had LCOMs.  Changed to :FAKE-COMPILE-FILE.

* FILEIO:  single place for EOL specification

Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN

* WINDOWOBJ:  COPYINSERT now uniformly allows lists of objects

It was incomplete.

* COMPARETEXT: Now works for TEDIT files

* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions

* OBJECTWINDOW:  container for arbitrary image objects

* ATBL: fixed typo

* MODERNIZEP: pass shape and move to main window if PASSTOMAINCOMS

* EXAMINEDEFS:  Remove EXAMINEDEFS-REGION

Replaced by equivalent functionality in new package REGIONMANAGER

* TEDIT:  adjustments to give caller control of window region

* Revert "TEDIT:  adjustments to give caller control of window region"

This reverts commit aec12b41f0.

* Revert "EXAMINEDEFS:  Remove EXAMINEDEFS-REGION"

This reverts commit 0c670bbc56.

* TEDIT, TEDITWINDOW:  Adjustments for propagating (typed) regions

* EXAMINEDEFS: added EXAMINEFILES for looking viewing files side-by-side

Fix titling glitch, add EXAMINEFILES

* OBJECTWINDOW: minor cleanup

* REGIONMANAGER: new package for managing typed regions, relative regions, and constellation regions

* TEDIT-PF-SEE:  commands for scrollable PF and SEE alternatives

* COREIO:  Fixed bug in \CORE.SETFILEINFO

* COMPAREDIRECTORIES:  Added CDBROWSER

and associated reworking

* COMPARESOURCES:  Added CSBROWSER

and associated reworking

* COMPARETEXT:  Reworked for TEDIT files

Also for better window management
2022-01-09 09:17:17 -08:00
Zoe Braiterman
fd2e5ed93e Update README.md (#643) 2022-01-08 08:57:59 -08:00
rmkaplan
e3e9156452 Merge pull request #638 from Interlisp/msnoblock
remove useless and slowing (BLOCK) from MSPRGTEMPLATE
2021-12-27 09:08:33 -08:00
Larry Masinter
f0feca759b remove useless and slowing (BLOCK) from MSPRGTEMPLATE 2021-12-26 18:47:02 -08:00
Larry Masinter
5fadc6c083 move obsolete lispusers (#635) 2021-12-22 20:57:56 -08:00
rmkaplan
2dcfac5350 Rmk12: Lispusers packages of general utility, but especially for git compare (#634)
* TEXTOFD:  Property OBJECTBYTE returned instead of image objects

This allows COMPARETEXT to work on TEDIT files

* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant

* CMLEXEC:  Fix FILETYPE property

It had CL:COMPILE-FILE, but the directory had LCOMs.  Changed to :FAKE-COMPILE-FILE.

* FILEIO:  single place for EOL specification

Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN

* WINDOWOBJ:  COPYINSERT now uniformly allows lists of objects

It was incomplete.

* COMPARETEXT: Now works for TEDIT files

* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions

* OBJECTWINDOW:  container for arbitrary image objects
2021-12-22 20:56:57 -08:00
rmkaplan
dcd83c3753 Merge pull request #630 from Interlisp/rmk10
Rmk10: Background fixups to support git-compare
2021-12-17 22:25:56 -08:00
rmkaplan
cde5c9018d FILEIO: allow EOLCONVENTION ANY for input files
Any occurrence of CR, LF, CRLF maps to EOL, to facilitate processing of text files of unknown provenance
2021-12-16 20:11:56 -08:00
rmkaplan
1108a00b90 COMPARETEXT: upgraded to externalformat character interface
Also cleaned up some crufty code, added FILELABELS argument to give caller more precise control over the column labels.
2021-12-16 20:09:38 -08:00
rmkaplan
d9e445ad8c TEDIT: added TITLE argument to TEDIT-SEE
So caller can provide more informative information (useful in COMPAREDIRECTORIES)
2021-12-16 20:06:41 -08:00
rmkaplan
5b690d39d1 Delete STREAMDECLS
Old bogus file
2021-12-16 16:16:30 -08:00
Bill Stumbo
2573e4351f Add EOL to last line of each file. (#629) 2021-12-15 21:10:42 -08:00
Bill Stumbo
936bdd84b5 Add environment variables move medley files to /home/medley. (#627)
Add Build_Date, Maiko_Release and Medley_Release environment variables.
2021-12-14 21:58:31 -08:00
rmkaplan
c2915bf5d3 Rmk8: Revised EDITINTERFACE, another attempt at SEDIT-TOPLEVEL (#619)
* EDITINTERFACE: further cleanup

* SEDIT:  Another attempt at adding a property interface
2021-12-11 21:45:29 -08:00
Larry Masinter
40c10a7841 Shrink menu filebrowser icon restored (#595) 2021-12-09 12:32:20 -08:00
rmkaplan
362fac9389 Merge pull request #615 from Interlisp/rmk6-redux
rmk6 2nd change to EDITINTERFACE
2021-12-08 11:33:06 -08:00
Larry Masinter
db082b37e1 correct SEDIT patch 2021-12-08 19:27:27 +00:00
Larry Masinter
c0e020f033 rmk6 2nd change to EDITINTERFACE 2021-12-07 16:35:25 -08:00
Larry Masinter
9af86df169 Recompile with COMPILE-FIILE (#611) 2021-12-07 15:46:43 -08:00
Larry Masinter
6c26fe958a Revert "MKPROGN from record was overridden by the better one on WTFIX; ancient bug tickled when compiling LIFE (#612)" (#614)
This reverts commit 339bd47107.
2021-12-07 09:12:25 -08:00
Larry Masinter
339bd47107 MKPROGN from record was overridden by the better one on WTFIX; ancient bug tickled when compiling LIFE (#612) 2021-12-06 21:43:47 -08:00
Larry Masinter
3a04303d93 reduce errors during GREET from out-of-order problems (#596) 2021-12-06 21:36:01 -08:00
rmkaplan
68f1e7efe1 EDITINTERFACE: Oops, didn't trim all the white space (#602)
So it was misparsing some of the old dates
2021-12-04 10:11:05 -08:00
rmkaplan
993bdb2e00 Maintaining old edit dates #359 (#599)
* PRINTFN: Allow suppression of gratuitous TERPRI in PFCOPYBYTES

An odd feature of PFCOPYBYTES is that it was outputting a gratuitous EOL just in the case of copying a whole file, so copy-all+1.  Don't know who depends on it as is, so I added an extra argument NOTERPRI to allow clients to suppress it.

* Keep old editdates #359

Rework of the editdate capability, centralizing in EDITINTERFACE and removing the pieces that were also on FILEPKG.  Also added a new capability--edit dates can include change-log-type information.  See issue
2021-12-03 20:18:21 -08:00
Arun Welch
7a27c26f01 Update CHAPNUMBERS.TEDIT (#600)
Updated CHAPNUMBERS
2021-12-03 19:36:40 -08:00
Larry Masinter
75a031de39 change to keywords in FILECREATED expressions (#592) 2021-12-03 19:31:17 -08:00
Larry Masinter
7d656006a6 Switch (back to) SEDIT mode when reacting to a MARKASCHANGED (#597) 2021-12-03 19:30:19 -08:00
rmkaplan
1f8c123184 Merge pull request #593 from Interlisp/rmk4
Small fixes to SEDIT-TOPLEVEL, WHEELSCROLL, COMPARE
2021-12-01 22:03:56 -08:00
rmkaplan
50ce484c1b SEDIT-TOPLEVEL: added GET-WINDOW function
So window is available without declarations.   Also, there was an extra-argument error in SEDIT:SEDIT, in the calls to START-PROCESS.  Now fixed
2021-12-01 17:41:33 -08:00
rmkaplan
e3f043b40d WHEELSCROLL: Separate delta for horizontal scrolling, refixed constants 2021-11-29 22:42:51 -08:00
rmkaplan
945df5fbe8 COMPARE: Use EQUALALL instead of EQUAL 2021-11-29 22:24:29 -08:00
Arun Welch
3d8066b7e8 Migration from Interlisp to CL format (#591)
Tool for translating File Manager format files to Common Lisp format
2021-11-28 22:07:37 -08:00
rmkaplan
b303e0affa Rmk3 (#587)
* TEDITMENU:  menus don't grow vertically on reshaping

* CLSTREAMS, EDITINTERFACE:  Update filemap for FUNCTIONS

Needs to be done for most CL-function containing files.
2021-11-28 14:45:21 -08:00
rmkaplan
869b3a2e32 Merge pull request #582 from Interlisp/rmk2
Rmk2
2021-11-27 10:22:32 -08:00
rmkaplan
f19d9cc5e2 Merge pull request #581 from Interlisp/ron-1
ron-1:  a number of little cleanups in various places
2021-11-27 08:11:08 -08:00
rmkaplan
237f3aa6bf FILEBROWSER: Get right date for compiled files
Turns out that FILEDATE of a compiled file returns the creation date of the source, not the compiled file.  To get the proper date for both source and compiled files, you have to first call it with CFLG=T, if that is NIL, try with CFLG=NIL, if that's NIL it isn't a Medley file, use the creation date.

Would be more intuititive with different semantics:  (FILEDATE   xx NIL) should give you the date of this file whether compiled or not, (FILEDATE xx T) should give you the date of the source file, if it happens to be a compiled file.  I.e, CFLG → SFLG
2021-11-25 08:29:07 -08:00
rmkaplan
89a8fe183d DINFO: Menu has MIN/MAX sizes for scrolling 2021-11-25 08:22:31 -08:00
rmkaplan
8266980c22 FILEPKG: SHOWDEF uses reader environment, better COMPAREDEFS formatting 2021-11-25 08:13:15 -08:00
rmkaplan
c385039c42 IMAGEIO: Fontchange characters don't change charposition 2021-11-25 08:11:17 -08:00
rmkaplan
1ff0018772 FILESETS: Add DTDECLARE to EXPORTFILES 2021-11-25 08:10:21 -08:00
rmkaplan
6611f96702 COREIO, FASLOAD: FILEDATE and directory dates
FILEDATE was wrong for the formats on DFASL files.  COREIO wasn't maintaining directory file dates
2021-11-25 08:09:44 -08:00
rmkaplan
824e0f20b2 COMPARE: better alignment in header printing 2021-11-25 08:08:35 -08:00
rmkaplan
d479ef2ef9 IOCHAR: Fix DST comment 2021-11-25 08:07:52 -08:00
rmkaplan
98aa15455e XCCS: Mark format as unstable
byte encoding of particular characters can be different at different points in the file
2021-11-25 08:07:36 -08:00
rmkaplan
ca069578c3 Merge pull request #556 from Interlisp/lmm9
ACCESSFNS VCELL had bogus computation
2021-11-22 22:49:57 -08:00
rmkaplan
23731b05d1 Merge pull request #542 from Interlisp/lmm3
Change WHEELSCROLL constants from LEFT,RIGHT etc to \WSLEFT etc
2021-11-22 22:02:33 -08:00
Larry Masinter
ab4800054e update READMEs and BUILDING; move NOXNSPATCH and extra files in greetfiles (#545)
* update READMEs and BUILDING, move out some unused files

* update loadups/README.md
2021-11-21 17:23:13 -08:00
Larry Masinter
b1634ef140 Change init to MEDLEYDIR-INIT (suitable for run-medley configs) and added BACKGROUND-YIELD (#568)
* Change init to MEDLEYDIR-INIT (suitable for run-medley configs) and added BACKGROUND-YIELD

* fix permissions

* fix up odd characters inserted by tedit

* Editing sh files in TEdit left stuff in run-medley
2021-11-21 12:23:28 -08:00
Bill Stumbo
76a2235636 Add Maiko Release to tags. Install Maiko from Release assets. (#567) 2021-11-20 20:27:28 -08:00
Bill Stumbo
7c65b47fba Update to use Maiko release artifacts (#563) 2021-11-09 22:05:35 -08:00
Larry Masinter
a315e6926f ACCESSFNS VCELL had bogus computation 2021-10-27 22:35:23 -07:00
Larry Masinter
c3a497d8f3 Add GATHER-INFO to internal/library/MEDLEYUTILS (#549) 2021-10-27 21:35:56 -07:00
Larry Masinter
9cf54a1687 Replace (OPCODES SUBRCALL subrnumber) with (SUBRCALL subrname (#553)
* Change numeric OPCODES SUBRCALL NN to use the LLSUBRS name

* more opcodes subr# in maikoloadupfns

* even more OPCODES SUBRCALL

* Recover BIGBMAPS definitions dup (but more recent) from LLCOLOR
2021-10-27 16:41:37 -07:00
Larry Masinter
5490abb143 remove duplicate \DISPLAYLINE accidentally in MAIKOETHER (#550) 2021-10-27 12:13:23 -07:00
rmkaplan
18f5da85fd Fix DST in IOCHAR, y2k problem in TMAX-daTE, DUMPDB (#547)
* IOCHAR:  Fix daylight savings time
* TMAX: Y2K fix
   Also a little code cleanup, changing default font to TERMINAL from GACHA and making text more legible
* DATABASEFNS, ATBL:  DUMPDB with DEFINE-FILE-INFO

New database files will have standard headers, then a little special stuff for LOADDB to synchronize, old database files default to a new interlisp environment. 

 MAKE-READER-ENVIRONMENT in ATBL extended for easier specification, plus better type-testing.

* Remove duplicate comment
2021-10-27 12:05:15 -07:00
Larry Masinter
01de5a2324 Add TMAX to image-object set (#535) 2021-10-25 18:59:43 -07:00
Bill Stumbo
528776de19 Updated Docker build to use Medley Release Assets (#546) 2021-10-24 21:02:59 -07:00
Larry Masinter
1c9c1da257 Change WHEELSCROLL constants from LEFT,RIGHT etc to \WSLEFT etc 2021-10-24 11:05:41 -07:00
Bill Stumbo
b67cf5ae09 Update build (#538)
* Build loadup (#1)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Build loadup (#2)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Build loadup (#3)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#4)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#5)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Move sysouts to correct location

* Set root directory to medley
2021-10-22 22:11:08 -07:00
Larry Masinter
d1fe834e6f Move material from 'release-notes' to README (#526)
* Move material from 'release-notes' to README

* Remove extra junk files from Lispusers DATE and PLAINTEXTSTREAM

* Update README instructions per feedback; add a BUILDING readme
2021-10-21 23:19:37 -07:00
rmkaplan
c3b5e23cd9 Eliminate implicit calls to \FILEOUTCHARFN (#529)
* Eliminate implicit calls to \FILEOUTCHARFN

Also, update DATE to modern readtable (don't know what it does), add LLETHER to EXPORTFILES in FILESETS (may also need the file that exports pup records).

* Further fixups for EXPORTFILES

also fixing/compiling PLAINTEXTSTREAM

* Remove garbage files DATE and PLAINTEXTSTREAM from checkin

Co-authored-by: Larry Masinter <LMM@acm.org>
2021-10-21 16:25:16 -07:00
Larry Masinter
9b4976e33f merging PRINTFN 2021-10-21 12:51:16 -07:00
rmkaplan
31d9473184 Better control of modern windows (#527)
* MODERNIZE, FILEBROWSER: Better control of modern windows

Also fixed Y2K bug in FILEBROWSER, updated COMPAREDIRECTORIES and WHEELSCROLL documentation.  MODERNWINDOWS allows separate specification of the hot-corner region and the top margin for siphoning off left-button clicks

* MODERNIZE.LCOM: didn't get included
2021-10-21 10:02:43 -07:00
Bill Stumbo
bf5689be2a Build loadup (#534)
* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Build loadup (#1)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Build loadup (#2)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#3)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Move sysouts to correct location

* Build loadup (#4)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup
2021-10-21 10:00:28 -07:00
rmkaplan
08bdd34e69 Tedit readonly files, cleanup filesets printfn (#532)
* FILESETS, TEDITWINDOW, TEDIT-PF-SEE

Add DTDECLARE to EXPORTFILES, fix TEDIT so that READONLY windows and processes are collected

* PRINTFN:  Eliminate PMORE
2021-10-21 09:56:36 -07:00
Larry Masinter
c7a219fd22 Use COPYCHARS instead of COPYBYTES when HPRINT is copying from NODIRCORE buffer (#506)
* Use COPYCHARS instead of COPYBYTES when HPRINT is copying from NODIRCORE buffer

* Change HPRINT of non-random-access files to use FORMAT of ultimate destination
2021-10-21 09:50:15 -07:00
rmkaplan
13cfb9b835 FILEPKG: MAKEFILE now takes format identifer (e.g. :UTF-8) in its options list (#524) 2021-10-15 11:28:51 -07:00
rmkaplan
b3219c33da Merge pull request #521 from Interlisp/Improve-TEDIT-interaction-with-MODERNIZE
Improve tedit interaction with modernize
2021-10-14 15:58:30 -07:00
rmkaplan
b0f9f2cce8 Merge pull request #523 from Interlisp/Lispusers-packages-modernize,-thinfiles,-tedit=pf=see
Lispusers packages modernize, thinfiles, tedit=pf=see
2021-10-14 15:57:32 -07:00
rmkaplan
1ad92b3dd4 TEDIT: TEDIT_SEE sets initial DEFAULTFONT for Lisp source files 2021-10-13 10:20:12 -07:00
rmkaplan
588835603c lispusers/TEDIT-PF-SEE: Explicitly give up TTY process on close
I'm not sure  why the READONLY TEDIT-SEE windows get the TTY process, that may be the underlying problem.  But at least here I now make sure that the if the window is the tty process on closing, it gives it back to the exec.  Otherwise, the window pops back up if there is input (even wheel scroll interrupts) before the user clicks somewhere else
2021-10-12 22:35:58 -07:00
rmkaplan
df70662f2c INSPECT: INSPECTCODE starts with DEFAULTFONT (presumably fixed pitch) 2021-10-12 17:22:43 -07:00
rmkaplan
32461da7eb Lispusers packages: MODERNIZE, THINFILES TEDIT-PF-SEE (new)
MODERNIZE interacts better with TEDIT split windows, THINFILES works better on filenames, not just extensions.  TEDIT-PF is new: provides commands tpf and ts for doing PFCOPYBYTES or SEE to scrollable read-only TEDIT windows, also functions for remembering and reusing the regions of windows of particular types.
2021-10-12 17:22:21 -07:00
rmkaplan
1beba945a2 PRINTFN DEXEC CMLEXEC: Cleanup PFCOPYBYTES interface
Removed unused FLG argument in PFCOPYBYTES, tried to make sense of PFDEFAULT (in preparation for TEDIT-PF. CMLEXEC just to upgrade the filemap
2021-10-12 17:20:18 -07:00
rmkaplan
e6cf869a23 Update HARDCOPY.LCOM
Forgot to include in TEDIT commit
2021-10-12 17:17:19 -07:00
rmkaplan
a6efdb3558 TEDIT fixes for format and window-splitting
Introduced an external format (:TEDIT) for Tedit, initialized TEXTOFD to use it.  Parmeterized the window split-window region to stop confusions with modernwindows.  TEDIT-SEE starts out the defaultfont for non-Tedit-format files. Restored git-lost edits to COPY.TEXT.TO.IMAGE
2021-10-12 17:16:44 -07:00
rmkaplan
e222743f74 Update lsee for UTF-8 (#518)
* Update lsee for UTF-8

Change less -R to less -r

* Minor cleanup for typo at end of script.

Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
2021-10-08 23:25:31 -07:00
rmkaplan
ea0f303988 Merge pull request #505 from Interlisp/Externalformat-collected-in-a-separate-file
Externalformat collected in a separate file
2021-10-07 07:41:01 -07:00
rmkaplan
b85084ce31 LLREAD and LLREAD.LCOM: restore unversioned files 2021-10-05 19:46:07 -07:00
Larry Masinter
e39943fdcc Merge pull request #509 from Interlisp/run-medley-noscroll
Add -noscroll option to run-medley; turns off scollbars
2021-10-04 16:27:03 -07:00
Larry Masinter
a4370ae57d Put -noscroll first in usage at head 2021-10-04 15:03:49 -07:00
rmkaplan
cbfdfd6dab Merge branch 'master' into Externalformat-collected-in-a-separate-file 2021-10-01 23:13:12 -07:00
Larry Masinter
84bf09394e Merge pull request #513 from Interlisp/LAFITE-CR-to-LF
Lafite cr to lf
2021-10-01 18:57:53 -07:00
Nick Briggs
a92bce555f Fix long-standing error wherein VTCHAT.STATUS attempts to BOUT a string (#510)
In replying to a request for the cursor position, the VTCHAT.STATUS
code attempted to construct the escape-sequence response passing a
string representing the X (and Y) coordinate as text to BOUT rather
than using PRIN1.
2021-10-01 15:57:00 -07:00
Nick Briggs
ae26c3c9fa Replace chat via "rlogin" with chat via "ssh" (#512)
Modern systems are unlikely to be configured with "rlogin" access,
remote login, if available, is likely to be via "ssh", so use that.
2021-10-01 15:55:46 -07:00
rmkaplan
09fec6ac56 Add FILESETS back
For some reason, in going back and forth, the hard link between the versioned and the unversioned got lost, and the unversioned was effectively deleted.  I did a copyfile to get things back in order
2021-10-01 12:22:02 -07:00
rmkaplan
625a5a839c Convert UNICODE to LF
Don't know why it reverted.  Just a MAKEFILE NEW and recompile
2021-10-01 09:03:00 -07:00
rmkaplan
f28a7a6278 Move UNIXMAIL.* and MAILSCAVENGE.TEDIT to library/lafite 2021-10-01 08:20:38 -07:00
rmkaplan
9f85f4e17e Convert LAFITE files to LF
They missed the previous global conversion since they were in a subdirectory.  The only actual change is in LAFITETEDIT, it had the wrong name for the TEDITDCL file
2021-09-30 23:16:45 -07:00
Larry Masinter
1380722e55 Add -noscroll option to run-medley; turns off scollbars 2021-09-30 17:22:19 -07:00
rmkaplan
d6173b5269 Revert "HARDCOPY: COPY.TEXT.TO.IMAGE had Unicode-incompatible end-of-file shortcut"
This reverts commit 65a2d8000e.
2021-09-30 13:39:10 -07:00
rmkaplan
1d8fa0301d TEDIT: TEDIT-SEE treats FORMAT better for plain-text files 2021-09-29 22:27:18 -07:00
rmkaplan
65a2d8000e HARDCOPY: COPY.TEXT.TO.IMAGE had Unicode-incompatible end-of-file shortcut
Also used byte and not character-code operation in CRLF check
2021-09-29 22:26:11 -07:00
rmkaplan
388d54b713 TEDITSCREEN: Cleanup \DISPLAYLINE
Test argument validity at top so ffetch can be used consistently.  Remove unused variables, and move some other variable bindings to their proper scope
2021-09-29 22:23:45 -07:00
rmkaplan
f58936e762 PRINTFN: Fix typo, add comments 2021-09-29 10:11:31 -07:00
Larry Masinter
63904f754c two variables COPYRIGHTFLG and *REPLACE-OLD-EDIT-DATES* set for Lispcore developers (#504)
* two variables COPYRIGHTFLG and *REPLACE-OLD-EDIT-DATES* set for Lispcore developers

* COPYRIGHTFLG = PRESERVE
2021-09-28 10:21:57 -07:00
rmkaplan
2dabe594f3 Merge branch 'master' into Externalformat-collected-in-a-separate-file 2021-09-27 14:19:55 -07:00
rmkaplan
0462c1aa5e TEDITSCREEN, TEDITHCPY: Remove absolute NS charcodes (#494)
* TEDITSCREEN, TEDITHCPY: Remove absolute NS charcodes

Also eliminated \MAIKO.DISPLAYLINE.  Git got twisted up between branches, stuck in <<<< in some files, I think I unscrambled it.  (Had to copy TEDIT again separately).  Still says TEDITHCPY.LCOM is conflicted, even though I have completely TCOMPLed it.  Git sucks.

* Trying to fix master incompatibilities
2021-09-27 14:16:49 -07:00
rmkaplan
1d4c9ed6ee BOOTSTRAP: PRINT-READER-ENVIRONMENT puts out an extra EOL
To separate the DEFINE-FILE-INFO  header from the actual contents, when using TEDIT-SEE (in Medley) or lsee
2021-09-27 10:28:50 -07:00
rmkaplan
6b66665e9d BOOTSTRAP: Read initial DEFINE-FILE-INFO as a string, not an atom
If it is ead with RATOM, then e.g. LISPSOURCEFILEP gives an error if the first line of the file begins with something like (Author:
2021-09-26 23:41:52 -07:00
rmkaplan
db3ca49564 Localize external format implementation in new EXTERNALFORMAT file
Pieces moved from FILEIO and LLREAD, EXTERNALFORMAT added to FILESETS
2021-09-25 22:48:04 -07:00
rmkaplan
c89ac61d34 IMAGEIO: Separate construction of :DISPLAY external format
Defaults for 4/8/24 bit display FDEV's
2021-09-25 22:47:16 -07:00
rmkaplan
9b7464d966 MULTI-COMPILE: Just MAKEFILE-NEW to get better filemap 2021-09-25 22:40:25 -07:00
Larry Masinter
5a9bc56628 Ignore #\( #\{ patterns in 'smart' argnames when showing stack frames (#475) 2021-09-23 13:01:07 -07:00
rmkaplan
205223c9b1 Merge pull request #490 from Interlisp/TEDIT-SEE
TEDIT + FILEBROWSER:  Add function TEDIT-SEE, call from FILEBROWSER
2021-09-21 15:13:36 -07:00
Larry Masinter
ccc776608d Add Lispusers BACKGROUND-YIELD to call new subr (#488)
* Add Lispusers BACKGROUND-YIELD to call new subr

* Make BACKGROUND-YIELD a variable
2021-09-20 15:06:40 -07:00
Larry Masinter
25617e383a Add to medley release a tar of loadups-only, for those who want that (#465)
* Add to medley release a tar of loadups-only, for those who want that

* separate pieces (loadups+runtime) with 'don't need runtime if cloned'
2021-09-20 15:04:07 -07:00
rmkaplan
5e6eb4b424 HARDCOPY, TEDITHCPY: fix #491
INITVAR for PRINTFILETYPES, fix the coms for the Interpress option in TEDITHCPY

(This branch is accumulating little TEDIT glitches)
2021-09-20 11:17:55 -07:00
rmkaplan
7175669633 TEDITWINDOW: Ensure TOTOPW in tedit buttoneventfn and scrollfn #492 2021-09-20 07:36:01 -07:00
rmkaplan
21088d3eff TEDIT + FILEBROWSER: Add function TEDIT-SEE, call from FILEBROWSER 2021-09-19 19:10:18 -07:00
Larry Masinter
8ec1ca966d If lde is on path, don't bother with MAIKODIR (#478) 2021-09-13 21:34:03 -07:00
Nick Briggs
c55239f744 Minor cleanups in LLSUBRS to support new subrs.h for YIELD subr. (#479)
Keep the \INITSUBRS in sorted order: move (YIELD 210) to the end of
the list.

Change the output of WRITECALLSUBRS so that the guard wraps the whole
subrs.h include file.

Avoid using literal tabs in the output #defines, pad with spaces and
arrange the minimum field widths so that everything lines up better.
2021-09-13 20:33:43 -07:00
Larry Masinter
d6f7ad7de9 run-medley improvements (#476) 2021-09-13 05:54:31 -07:00
Larry Masinter
0236971881 Add NOERROR extra parameter to STKARGNAME, and set it in DEBUGGER (#471) 2021-09-12 11:47:14 -07:00
Larry Masinter
d04f734295 Move POSTSCRIPTSTREAM.TEDIT with its implementation (#467) 2021-09-11 17:07:57 -07:00
Larry Masinter
27a52b6ce0 Add COPYRIGHTFLG=PRESERVE meaning 'no new copyright dates, but keep previous' (#468) 2021-09-11 17:07:07 -07:00
Larry Masinter
0e2e16f183 changes from #453 redone: NOGREET for run-medley, dummy HOME LOGINDIR for loadups (#464) 2021-09-09 22:26:06 -07:00
rmkaplan
b760d005fb Second recompile fdev #457 (#463)
* FONTPROFILE:  Fix NS COMMENTFONT, delete FONTPROFILEPATCH

This reverts commit 2615140ede.

* Recompile FDEV creators with FILEIO defaulting to :XCCS

* FONTPROFILE: Fixed COMMENTFONT in BIGGERNS

* FONTPROFILE:  fixed typo
2021-09-07 11:52:14 -07:00
rmkaplan
95c9496780 Merge pull request #461 from Interlisp/revert-458-Recompile-FDEV-creators-#457
Revert "Recompiled all FDEV creators to install *DEFAULT-EXTERNALFORMAT*"
2021-09-06 10:37:05 -07:00
Larry Masinter
4bb4457d55 Revert "Recompiled all FDEV creators to install *DEFAULT-EXTERNALFORMAT* (#458)"
This reverts commit 2615140ede.
2021-09-06 09:04:00 -07:00
rmkaplan
2615140ede Recompiled all FDEV creators to install *DEFAULT-EXTERNALFORMAT* (#458) 2021-09-05 16:39:51 -07:00
Larry Masinter
77d772ae45 Duplicate files cleanup (#403)
* Duplicate POSTSCRIPT files in LispUsers and LispUsers/POSTSCRIPT

* DICOLOR on LispUsers is old version uncompiled 1985; version on internal library is newer

* missed PS-TTY in the postscript files

* Fix .gitignore no longer need diff filter; remove odd extra ~ file

* Verified POSTSCRIPT lispusers subdirectory redundant (not same hash because of EOL. POSTSCRIPT-old apparently was older version, copyright not venue

* Save postscript-old in obsolete

* move internal/library/DICOLOR to obsolete
2021-09-05 07:21:18 -07:00
Larry Masinter
995c321f59 release more (#447)
* move badfiles

* fix release to include sources

* load known, used image object defns

* add docs/Documentation Tools to release

* Avoid --exclude-backups with explicit exclude

* fix typo remove 'release-one' leftover from older regime

* update release notes
2021-09-03 14:05:09 -07:00
Larry Masinter
9d4a8796dd Move SIGMA font from LispUsers (as part of EQUATIONEDITOR) to fonts/other/c0 where FONTCREATE will find ite (#451) 2021-09-02 22:35:44 -07:00
Larry Masinter
185ee4db70 Release tweaks (#448)
* Fix release notes errors + tweaks in SYSEDIT

* releaseone.sh was for the previous setup with combined releases

* single backticks don't work in release notes
2021-09-02 20:36:05 -07:00
rmkaplan
f5205e23c6 Update unicode mapping tables (#440)
* Updated all ISO8859 and Vendor Unicode mappings from current Unicode.org information

* John Cowan says that East Asia is obsolete

* Delete obsolete file
2021-08-28 09:01:27 -07:00
Larry Masinter
b57438983b modify release notes / scripts for separate medley maiko releases (#436)
* modify release notes / scripts for separate medley maiko releases

* Tweak release notes

* more edits release notes
2021-08-28 08:41:33 -07:00
rmkaplan
f4951abf4d Merge pull request #442 from Interlisp/Adjust-TTYIN-and-LLKEY-for-character-specifications
Adjust ttyin and llkey for character specifications
2021-08-27 21:29:08 -07:00
rmkaplan
d1fb141fa1 TTYIN: Remove indirects to generic char io functions, abstract to function for TTYIN.RESTORE.BUF.CODES
Local BOUTCCODE macro replaced by call to \OUTCHAR etc.  Previously it called PRINTCCODE probably because that was the encapsulation of NSIN.  Now avoid the user-level function call, so it can be broken, go directly to the generic.
2021-08-27 17:05:55 -07:00
rmkaplan
66624477f9 LLKEY: Do the Meta/Function abstraction for \ORIGKEYACTIONS and \MAIKOKEYACTIONST4
With all the back and forth in the last branch I forgot to commit these particular changes
2021-08-27 16:20:48 -07:00
Larry Masinter
c810d2860b use 'less -R' instead of 'more' for better compatibility in lsee (#439) 2021-08-27 09:57:10 -07:00
Larry Masinter
3ef7a79b52 Restore unixmail (#385)
* Restore unixmail from archive

* Restore unixmail from archive
2021-08-26 21:40:09 -07:00
Larry Masinter
c37fed89e8 Update lsee to translate ^^ (control-circumflex) to : for define-file-info; add more (#432) 2021-08-26 21:39:10 -07:00
Larry Masinter
7897471126 no longer commit loadups; start with starter.sysout (#430)
* Start loadup using lisp.venuesysout as the base on which to build new

* Change 'starter.sysout' (taken from recent lisp.sysout)

* Fix problem with GREET ordering
2021-08-26 15:47:59 -07:00
rmkaplan
3d7905905b Merge pull request #435 from Interlisp/LLKEY-with-Meta-and-Function
LLKEY with meta and function
2021-08-25 14:55:48 -07:00
rmkaplan
439cc93ca4 TEDITWINDOW: Minor cleanup for Masterscope
Not related to the LLKEY/LLREAD, but just get it done.  The new masterscope showed that a field name wasn't qualified, and a comment was in a value context
2021-08-24 23:34:12 -07:00
rmkaplan
9282681644 LLKEY: system keyactions with Meta and Function instead of 1, and 2,
Keyaction lists have also been updated so that they contain only character specifications, not a mixture of character codes and specifications.

KEYACTION now tests its KEY argument for validity

New function \KEYNUMBERTONAME, potentially convenient for future keyboard work
2021-08-24 22:47:34 -07:00
rmkaplan
b4c5b304c4 LLREAD: CHARCODE.DECODE independent of CHARTABLE 2021-08-24 22:44:05 -07:00
Larry Masinter
6176aa9ebf Patch sketch code for Masterscope errors (#433) 2021-08-24 16:42:14 -07:00
rmkaplan
7b5541a417 Abstracting meta and function charcodes (#425)
* TTYIN: Meta chars defined by Meta charset, not specific value 1

Also, changed \TTYIN.RPEOF to use \FORMATBYTESTREAM generic function so that it does not make assumptions about the stream's external format

* LLKEY:  Respecify 535 as "Function,^W" in \ORIGKEYACTIONS

First step in anticipating moving meta and signaling characters to unoccupied parts of the Unicode code space

* Have to commit the build artifacts in order to unstash changes

* CMLSTRING:  No change, just upgrade filemap for CL Functions

* LLREAD: A little tighter on CHARCODE.DECODE

Allow hex and unicode in comma-separated specs, but must have 0X or U+ indicator.  Don't allow junk characters

* LLKEY:  Revert attempt at Meta,x and Function,x

For unknown reason, CHARTABLE isn't declared when LLREAD appears in loadup sequence.

* Unicode:  Unicode character-constants weren't properly prefixed

Needed U+ or x0

* THINFILES (again): Add version number for mis-ordered HELP

* ATBL: Change 1,0...1,377 to Meta,0...Meta,377

In anticipation of a future migration of the meta charset.

* TEDITFNKEYS:  Convert 1,x 2,x to Meta,x Function,x

In anticipation of eventual deconfliction with Unicode

* FILEBROWSER: remove reference to reader-environment field, add fix-directory-dates

Added a new submenu item under Recompute to make directory dates match the filecreated dates for Medley source/compiled files.

* SEDIT-COMMANDS:  1/2 to Meta/Function in Sedit commands

Codes in the 512+ range are now Function, anticipating eventual code-space translation

* FILEPKG:   Consistency of exports.all external format
2021-08-24 11:05:38 -07:00
Larry Masinter
c62ad47730 add big fonts, move MEDLEYDIR init (#424)
* add big fonts, move MEDLEYDIR init

* found a few more big fonts, adding them
2021-08-24 10:21:40 -07:00
rmkaplan
cdd9bc46d7 Merge pull request #417 from Interlisp/masterscope-macros
Masterscope wasn't expanding cl:defmacro defined macros
2021-08-18 16:04:54 -07:00
Larry Masinter
ab24d11371 Masterscope wasn't expanding cl:defmacro defined macros 2021-08-18 12:30:39 -07:00
rmkaplan
af16fb48fa Restore package/reatable eval in define file fino (#415)
* Adds fields to reader-environment to remember evaluation forms for reprinting

For package and readtable, not for base or external format.  This restores previous package/readtable behavior.

ATBL also is now not radix 8

* THINFILES:  now can add extensions/file names to operate on

Not related to other things in this branch, just a useful extension to a simple lispusers package.  You can now add dribble as an extension, and things like I-NEW as a name, to make it easy to clean up the tmp/ loadup directory in particular.
2021-08-18 12:22:45 -07:00
rmkaplan
0d2c6622bb Format implementation functions set a known variable *BYTECOUNTER* (#402)
* Format implementation functions set a known variable *BYTECOUNTER*

The generic functions deal with updating the application variable.
\INCHAR eliminated in favor of \INCCODE.EOLC to make clear what it does.
OPENSTRINGSTREAM streams have their own format, and the string is always fattened.
READBITMAP doesn't mix character and byte reading

* AOFD: Don't execute \STRINGSTREAM.INIT

This creates a file device that is not used anywhere.  The function OPENSTRINGSTREAM provides the functionality that this file device suggests that it would provide, but that functionality seems suspect at best.  The function is left in the system for now, probably should be deleted at some point in the future so we don't try to maintain it if we trip over it.

* TTYIN:  Fix an ancient coding error

but still doesn't solve the  (DIRECTORY ?=  problem #402

* LLREAD, FILEIO, XCCS:  Improve charcode backing, copychars

Added \BACKCCODE.EOLC that backs up over EOL encoding bytes, simplifies \RSTRING2.
\XCCSBACKCCODE returns T/NIL according to whether it succeeded.
\XCCSOUTCHAR uses IPLUS16 for CHARPOSITION
COPYCHARS makes no assumptions about EOL encoding
But still no solution for #402

* LLREAD, TTYIN.LCOM    fix #402

The bug showed up in TTYIN, but it was actually a bad edit in the generic backccode.

TTYIN.LCOM is just a recompile--that had never been done with various new declarations.
2021-08-15 18:45:04 -07:00
Larry Masinter
d6d47953d9 Add small utility 'lsee' to change lisp font-escapes to color changes (#399) 2021-08-08 13:38:33 -07:00
Larry Masinter
3569379861 Revert "duplicate definition of UNINTERRUPTABLY pp macro (#395)" (#397)
This reverts commit b07d528f22.
2021-08-06 19:50:12 -07:00
Larry Masinter
9ab24c044d Merge branch 'Miscellaneous-format-stuff' 2021-08-06 13:38:26 -07:00
rmkaplan
565f5994f2 Merge pull request #394 from Interlisp/sysedit-load-exports.all
Update SYSEDIT to load exports.all when running run-medley -new
2021-08-06 12:53:49 -07:00
Larry Masinter
93d9b7f176 Fix bitrot in manual TEdit file as per #268 (#391) 2021-08-06 12:16:17 -07:00
Larry Masinter
8a5057fbdc Remove explicit old versions from cloned repo (#392)
it took a long time to figure out how to restore old versions, using the './scripts/restore-versions file'. Now that it's there and tested  it should be ok to remove them from new 'git clone' of medley
2021-08-06 12:14:55 -07:00
Larry Masinter
b07d528f22 duplicate definition of UNINTERRUPTABLY pp macro (#395) 2021-08-06 12:09:49 -07:00
rmkaplan
3de2ebb719 FILEIO UNICODE: Fix THROUGHIN, cleanup UTF8-16 back 2021-08-06 10:36:05 -07:00
Larry Masinter
a2fdebbfa0 Update SYSEDIT to load exports.all when running run-medley -new 2021-08-06 07:41:06 -07:00
rmkaplan
b1d209484a FILEIO, MACHINEINDEPENDENT
\EXTERNALFORMAT extracts the format from a reader-environment
WRITEFILE uses the format in *OLD-IINTERLISP-READ-ENVIRONMENT* (now :XCCS)
2021-08-05 21:08:05 -07:00
rmkaplan
c2cff44a64 MACHIINEINDEPENDENT
MAKEFILE NEW with Interlisp read table, as per Larry's request
2021-08-05 15:17:41 -07:00
rmkaplan
c94e044bf3 FILEIO: Fix bad IF statement in \EXTERNALFORMAT 2021-08-05 14:44:01 -07:00
rmkaplan
d64e9282bf DEFINE-FILE-INFO with its own reader environment (#381)
* DEFINE-FILE-INFO with its own reader environment

Including format.  That reader environment also allows colon as a package delimiter, in addition to the funky control and upper panel character.

"Function" is now a synonym for character set 2.  WITH-READER-ENVIRONMENT doesn't bind EXTERNALFORMAT.

* Changed *DEFAULT-MAKEFILE-ENVIRONMENT* to use Interlisp rdtbl

* Store FDEV's default externalformat in the FDEV

And related adjustments so that the display output stream (which is created in various places) is always created with the right (CR) EOL convention.  Also a little simpler interface for creating external formats.
2021-08-05 13:43:08 -07:00
Larry Masinter
3fc26567c0 git on WSL doesn't remember +x bit (#387) 2021-08-05 09:53:34 -07:00
Bill Stumbo
25c397ccdf Git hub build (#374)
* GibHubBuild of Medley container.

* Add build.yml to master

* fix version

* add gitHubBuild branch

* cleanup

* add in gitHubBuild

* GibHubBuild of Medley container.

* cleanup

* Cleanup
2021-08-02 20:26:47 -07:00
Larry Masinter
b18d16b807 fixes Issue #375 -- make 'loadup-full' start with loadups/lisp.sysout (#379) 2021-08-02 20:16:09 -07:00
Larry Masinter
9b7df4a022 Add option (mainly for Ron) to add tmp to front of directories where exports.all and other newly created sources will come from (when using SIMPLE-INIT). Modified fn MEDLEY-INIT-VARS in LOADUP-LISP. (#383) 2021-08-02 20:14:54 -07:00
rmkaplan
4ea68c6746 Store FDEV's default externalformat in the FDEV
And related adjustments so that the display output stream (which is created in various places) is always created with the right (CR) EOL convention.  Also a little simpler interface for creating external formats.
2021-08-02 19:56:19 -07:00
rmkaplan
ff134ecd23 Changed *DEFAULT-MAKEFILE-ENVIRONMENT* to use Interlisp rdtbl 2021-08-01 21:03:24 -07:00
rmkaplan
925adc1deb DEFINE-FILE-INFO with its own reader environment
Including format.  That reader environment also allows colon as a package delimiter, in addition to the funky control and upper panel character.

"Function" is now a synonym for character set 2.  WITH-READER-ENVIRONMENT doesn't bind EXTERNALFORMAT.
2021-07-30 19:37:48 -07:00
Larry Masinter
4efe2f93af Merge (rebase) Cleanup-character-IO-interfaces with master (#356)
* Cleanup  of character IO interface

Committing this branch for further testing.  I know at least that the TTY output stream somehow is defaulting to :XCCS, which is wrong, but I haven't yet found the interface for that.

* Clean out \NSIN etc

No top-level calls to the NS specific functions, just to the generic \OUTCHAR etc.

Updated full.database

* MODERNIZE: added dragging for fixed-menu windows

They can be dragged by their title bars

* UNICODE:  Added Greek to the default set

Also made spelling of default-externalformats consistent with FILEIO

* FASLOAD: EOL conversion in FASL::READ-TEXT

EOL's printed as LF's will be read as EOL

* LLREAD:  Added meta as a CHARACTERSETNAME

meta,a maps to 1,a now.  But slowly propagating this to TEDIT, SEDIT, etc will make it easier to change the coding of meta characters, e.g. as part of a Unicode transition.

* APRINT FILEIO LLREAD: \OUTCHAR now a closed function

Removed the macro

* LLKEY: call CHARCODE.DECODE directory in \KEYACTION1

Minor cleanup, avoid typical user entry and APPLY*

* WHEELSCROLL: re-enable on AFTERMAKESYS/SYSOUT FORMS

Also sets up mappings in the \COMMANDKEYACTIONS, whatever that is

* ABASIC:  NILL and ZERO change from LAMBDA NOBIND to LAMBDA NIL

So that things like Masterscope don't break

* MASTERSCOPE:  Added WHEREIS as last-resort for CONTAINS

Looks at the WHEREIS database, if present, for FNS and FUNCTIONS if it has no other information.  . WHO CONTAINS ANY CALLING FOO works, but not the inverse:  . WHO DOES FUM CONTAIN.  We still need to figure out why the CONTAINS table isn't populated

* POSTSCRIPTSTREAM: use standard \OUTCHAR conventions

Now uses generic \OUTCHAR to get the proper function from the stream (or default)

* Recompile with right EXPORTS.ALL

Some of the macros weren't correct.

* Fix POSTSCRIPTSTREAM

Cleaner separation between external \OUTCHAR and internal BOUT

* POSTSCRIPTSTREAM gets its own external format

* Minor fix

* Compile-time warning about EXPORTS.ALL

* MODERNIZE:  Modern button fn has same args as the original

For Notecards  #343

* Fixed another glitch in the MODERNIZE  arglist thing

\TEDIT.BUTTONEVENTFN actually takes a second STREAM argument.  I don't see where it is ever called with that.  The modernize replacement binds that argument, but it isn't being passed to the original.

* FILEWATCH:  added missing record field

* Update FILEWATCH.LCOM

* Eliminating record/type name conflicts

Mostly just qualifying references, more work to get BIGBITMAP stuff out of ADISPLAY and to eliminate ambiguity of LINE record (now XXLINE in XXGEOM)

* Compile away open calls to \OUTCHAR, add loadups/full.database

Mostly new LCOMS where \OUTCHAR calls were compiled open

* Remove garbage library/XCCS

Old tools for reading wikipedia XCCS tables, sources/XCCS will deal with XCCS external format

* Next step:  Remove open input-character calls, factor XCCS to separate file

XCCS is the default, but can be swapped out (eventually) by setting a few variables, without recompiling everything

* Lots of residual cleanup for XCCS isolation

* Delete old file MACINTERFACE (migrated to MODERNIZE)

* Eliminate straggling NS calls:  LAFITE, READINTERPRESS

* Typo

* READINTERPRESS:  removed CHARSET

* MODERNIZE: Interface to control title-bar response (for Notecards)

* Many changes for external format name consistency

Very close to the end of this

* Put :FORMAT in file info, fix TEDIT plaintext hardcopy

I distributed :FORMAT :XCCS as the default marking, but somehow one of the variables seems to get revert during the loadup.  This is correct, as far as it goes.

* Getting the format in the file-info

This is all very twisty, different variables set in different places.  It now seems to do the right thing, at least for new files.  Marks them with :FORMAT :XCCS.

* Another fileinfo glitch

* CLIPBOARD -UNICODE:  Make UTF8 to UTF-8 to match standards

* MODERNIZE:  fix bug in MODERWINDOW

* External format as MAKEFILE option, LOAD applies the file's format

(MAKEFILE 'XX '((FORMAT :UTF-8)))
  will dump XX as a UTF-8 file.  LOAD will load it back to XCCS internal.

* Compilers respect DEFINE-FILE-INFO format

* MODERNIZE:  little glitch

* Delete old FILEIO.LCOM

* More edge cases of external format thru MAKEFILE, PRETTY, PRETTYFILEINDEX etc.

* FILEBROWSER:  Can SEE UTF-8 Lisp sourcefile

* INSPECT:  Better macro for inspecting readtables

* recompile changed files and do new loadup

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2021-07-29 17:07:23 -07:00
rmkaplan
4fac4e3e96 Merge pull request #352 from Interlisp/restore-versions
Add small util for restoring versions from git history
2021-07-21 17:14:53 -07:00
Larry Masinter
966b837351 Add small util for restoring versions from git history 2021-07-21 17:09:40 -07:00
rmkaplan
dac0acd0d5 Merge pull request #346 from Interlisp/recover-unversioned
Some files were checked in with only versioned files (from unix side)
2021-07-21 16:43:24 -07:00
Larry Masinter
105b0d1f3a Some files were checked in with only versioned files (from unix side) 2021-06-23 20:52:49 -07:00
Larry Masinter
10e3916e7e See PR #275 for discusssion 2021-05-06 16:24:43 -07:00
Larry Masinter
2cf33cebcf new loadups without ron's init or etherwait 2021-05-06 15:29:22 -07:00
Larry Masinter
d40aeffdc7 Remove unused file reference to PSETF and (lower case) psetf macro (#318) 2021-05-06 15:12:52 -07:00
Larry Masinter
6f9cafc578 Add a loadups/full.database masterscope database (#323) 2021-05-06 15:10:23 -07:00
Larry Masinter
a781751832 Better handling of no-ether when starting without ethernet (#327)
* Better handling of no-ether when starting without ethernet

* before save, with ether, clear \ETHERPORTS, passwords

* move SUBRCALL to separate function
2021-05-06 15:05:19 -07:00
Larry Masinter
d5b26c1352 switch around -nt because ldeinit phase can take less than a second (#329)
minor script bugfix
2021-05-06 15:03:41 -07:00
Larry Masinter
0a5ff04393 Use .CM to loadup full, to avoid GREET call (#322) 2021-05-01 20:43:14 -07:00
Larry Masinter
a946a90ef8 left out from PR #324 2021-05-01 09:08:43 -07:00
rmkaplan
66fa5e42cf Upgrade TEDIT to LF (#324)
* Upgrade TEDIT to LF

Fixes the black boxes in the Tedit menus.
TEDIT had a built-in bias towards CR in files and in displaying them.  I changed the bias to LF.

* TEDITDCL had no content

Its COMS specified lots of records etc from other TEDIT files, but none of those were actually in the symbolic file (the LCOM was OK).  I loaded all of the other TEDIT files and remade/recompiled this, looks like it captured everything
2021-04-30 20:45:52 -07:00
rmkaplan
05df858e55 Revert Linebuffer to CR
Explicitly made LINEBUFFER in ATERM specify CR independent of the new default stream EOLCONVENTION of LF in FILEIO.  Don't know why the TTY editor needs CR.
2021-04-29 09:53:56 -07:00
Larry Masinter
f64f8bbb87 loadup cleanups (#306) 2021-04-28 18:07:23 -07:00
Larry Masinter
2388f730ca fix permissions (#307) 2021-04-28 17:57:07 -07:00
Larry Masinter
607d9ab2e7 Add a brief sanity check to loadup process (#314)
Each step of the loadup now starts with a 'touch' to create a timestamp. At the end of the loadup, it makes sure the files needed by the next step are newer. This will catch some of the problems.
2021-04-28 17:15:35 -07:00
rmkaplan
f0ad3c5f60 All source files converted to LF (#315)
* All source files converted to LF

Also, HPRINT:  EQUALALL knows about CL arrays
FILEIO:  STREAM record with fields for external format functions

* Delete makeinit.dribble

* Converted CR to LF on internal/library and docs/Documentation Tools
2021-04-28 15:36:03 -07:00
rmkaplan
179325c528 Remove SEDIT-GAP from lispusers/ISO8859IO
Also converted to LF, while I was at it
2021-04-24 17:20:30 -07:00
rmkaplan
21c8759084 Change default EOL to LF on UFS (#312)
UFS changes the the default in \UFSeol to LF.EOLC.  LLREAD changes \rprint2 to convert EOL to LF if escaped in a string.  NSPROTECTION eliminates literal EOL
2021-04-22 21:10:48 -07:00
Nick Briggs
f0b9ce3dae Fix eolconv.sh script so tr doesn't choke on bad UTF-8 data (#309) 2021-04-17 22:47:31 -07:00
Larry Masinter
1d81350714 guard didn't include #endif 2021-04-05 21:56:17 -07:00
Larry Masinter
5a83a9cd8f Add writing guard and running again 2021-04-05 21:56:17 -07:00
Larry Masinter
ba70b3a126 spell nightly correctly 2021-04-05 21:55:22 -07:00
Larry Masinter
26e4af726a Default tag to nightly 2021-04-05 21:55:22 -07:00
Larry Masinter
ad912885aa needed updated release-notes.md 2021-04-05 21:55:22 -07:00
Larry Masinter
ee5efd782f add missing font directories 2021-04-05 21:55:22 -07:00
Larry Masinter
9ddef79484 add scripts to release 2021-04-05 21:55:22 -07:00
Larry Masinter
5a04b88dcc tar files have version tag 2021-04-05 21:55:22 -07:00
Larry Masinter
945ffe56f8 Second try release scripts 2021-04-05 21:55:22 -07:00
Larry Masinter
7d8efbdfd6 Fix MAKESYSNAME (misspelled) and move GATHER-INFO to my personal init 2021-04-05 21:53:13 -07:00
Larry Masinter
6e9791ad0a Add back in files that were in lisp.venuesysout 2021-04-05 21:53:13 -07:00
Larry Masinter
3e64317db5 TEMPORARILY add files needed to compile (or load) that had been moved to 'obsolete/' 2021-03-31 14:07:31 -07:00
Larry Masinter
78d53039c5 dwim dwimify checktran fix (#295)
* Use checktran for all uses except in newfault1 block

* Replace CHECKTRAN+ with /DWIMCHECKTRAN only used in DWIM to undoably /RPLNODE the original, e.g. for spelling correction. Should be fixed for CL:LAMBDA
2021-03-22 20:25:17 -07:00
Larry Masinter
094f0146c9 sysout logout version (#296)
* Fix sysout makesys to make new versions

* redoing some lost edits
2021-03-22 20:22:22 -07:00
7425 changed files with 952860 additions and 525105 deletions

9
.gitattributes vendored Normal file
View File

@@ -0,0 +1,9 @@
# Denote all files that are truly binary and should not be modified.
*.tedit binary
*.lcom binary
*.sketch binary
*.dfasl binary
*.TEDIT binary
*.LCOM binary
*.SKETCH binary
*.DFASL binary

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.

18
.github/ISSUE_TEMPLATE/documentation.md vendored Normal file
View File

@@ -0,0 +1,18 @@
---
name: Documentation problem
about: Problems with this web site?
title: ''
labels: ''
assignees: ''
---
**Errors happen. Please tell us the URL**
**What does it say?**
**What should it say?**
**Screen shot**

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

@@ -0,0 +1,32 @@
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
attributes:
label: "What type of entry?"
options:
- Blog
- Tweet
- Email
- Other
validations:
required: true
- type: input
id: entryLink
attributes:
label: Link to entry
description: "What is the link to the item we should add to the **What People are Saying** page?"
validations:
required: true
- type: textarea
id: additionalInformation
attributes:
label: Additional information
description: "Use this space to supply any additional information on the suggested item."
validations:
required: false
- type: markdown
attributes:
value: "## Thank you for your suggestion!"

84
.github/workflows/Dockerfile_medley vendored Normal file
View File

@@ -0,0 +1,84 @@
#*******************************************************************************
#
# Dockerfile to build Medley image from latest Maiko image
# plus latest release tars from github
#
# Copyright 2022-2023 by Interlisp.org
#
# ******************************************************************************
FROM ubuntu:22.04
ARG TARGETPLATFORM
# Handle ARGs, ENV variables, and LABELs
ARG BUILD_DATE=unknown
ARG MEDLEY_RELEASE=unknown
ARG MAIKO_RELEASE=unknown
ARG REPO_OWNER=Interlisp
LABEL name="Medley"
LABEL description="The Medley Interlisp environment"
LABEL url="https://github.com/${REPO_OWNER}/medley"
LABEL build-date=$BUILD_DATE
LABEL medley_release=$MEDLEY_RELEASE
LABEL maiko_release=$MAIKO_RELEASE
ENV MEDLEY_DOCKER_BUILD_DATE=$BUILD_DATE
ENV MEDLEY_RELEASE=$MEDLEY_RELEASE
ENV MAIKO_RELEASE=$MAIKO_RELEASE
ENV LANG=C.UTF-8
# Copy over the release deb files
ADD ./*.deb /tmp
# Get tzdata setup ahead of time
RUN apt-get update; \
ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime; \
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata; \
dpkg-reconfigure --frontend noninteractive tzdata
# Install Medley/Maiko and add tightvnc server and xclip to the image
RUN apt-get update \
&& apt-get install -y apt-utils \
&& apt-get install -y tigervnc-standalone-server \
&& apt-get install -y xclip \
&& apt-get install -y man-db \
&& apt-get install -y nano \
&& apt-get install -y sudo \
&& p=$(echo "${TARGETPLATFORM}" | sed -e "s#linux/##") \
&& p=$( \
if [ "$p" = "amd64" ]; \
then echo "x86_64"; \
elif [ "$p" = "arm64" ]; \
then echo "aarch64"; \
elif [ "$p" = "arm/v7" ]; \
then echo "armv7l"; \
else \
echo "x86_64"; \
fi \
) \
&& deb="medley-full-linux-${p}-${MEDLEY_RELEASE#medley-}" \
&& deb=${deb}_${MAIKO_RELEASE#maiko-}.deb \
&& apt-get install -y /tmp/${deb} \
&& chown --recursive root:root /usr/local/interlisp \
&& (if [ -n "$(which unminimize)" ]; then (yes | unminimize); fi)
# "Finalize" image
EXPOSE 5900
RUN adduser --gecos "" medley \
&& adduser --gecos "" ubuntu \
&& adduser medley sudo \
&& adduser ubuntu sudo \
&& (echo 'medley:yeldem' | chpasswd ) \
&& (echo 'ubuntu:utnubu' | chpasswd ) \
&& echo "medley ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers \
&& echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers \
&& mkdir -p /home/medley/il \
&& chown medley:medley /home/medley/il
ENV TERM=xterm
USER medley
WORKDIR /home/medley
#ENTRYPOINT USER=medley Xvnc -SecurityTypes none -geometry 1280x720 :0 & DISPLAY=:0 medley --full -g 1280x720
ENTRYPOINT /bin/bash

244
.github/workflows/buildDocker.yml vendored Normal file
View File

@@ -0,0 +1,244 @@
#*******************************************************************************
# buidDocker.yml
#
# Workflow to build and push a multiplatform (amd64, arm64 & arm7) Linux Docker
# image for Medley. This workflow uses the latest Maiko docker image and the
# latest Medley release on github.
#
# This workflow contains a sentry that causes it to skip the build (as identified
# by its commit SHA) if its already been done. Setting the "force" input to true
# will bypass this sentry,
#
# Updated 2022-01-18 by Frank Halasz from on earlier buildDocker.yml
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
name: 'Build/Push Docker Image'
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley docker build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
draft:
description: "Mark this as a draft release"
required: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
defaults:
run:
shell: bash
jobs:
######################################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-24.04
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Check if build already run for this commit
- name: Build already completed?
id: check
continue-on-error: true
uses: ./../actions/check-sentry-action
with:
tag: "docker"
######################################################################################
#
# Build and push the medley docker image
#
build_and-push:
runs-on: ubuntu-24.04
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Find latest release (draft or normal)
# and download its assets
- name: Download linux debs from latest (draft) release
run: |
tag=""
if [ "${{ inputs.draft }}" = "true" ];
then
tag=$(gh release list | grep Draft | head -n 1 | awk '{ print $3 }')
fi
if [ -z "${tag}" ];
then
tag=$(gh release list | grep Latest | head -n 1 | awk '{ print $3 }')
fi
mkdir -p release_debs
gh release download ${tag} -D release_debs -p '*-linux-*.deb'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Get Maiko and Medley release information from name of deb files
# just downloaded from the Medley latest release
- name: Get info about Miako and Medley releases
id: release_info
run: |
regex="^medley-full-[^-]*-[^-]*-\([^_]*\)_\(.*\).deb\$"
ls -1 release_debs | head -n 1 > debname.tmp
medley_release="medley-$(sed -e "s/${regex}/\1/" debname.tmp)"
maiko_release="maiko-$(sed -e "s/${regex}/\2/" debname.tmp)"
rm -f debname.tmp
echo "MEDLEY_RELEASE=${medley_release}" >> ${GITHUB_ENV}
echo "MAIKO_RELEASE=${maiko_release}" >> ${GITHUB_ENV}
# regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# Set repo env variables
- name: Set repo/docker env variables
id: repo_env
run: |
repo_name="${GITHUB_REPOSITORY#*/}"
docker_namespace="$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')"
docker_image="${docker_namespace}/${repo_name}"
if [ "${{ inputs.draft }}" = "false" ];
then
docker_tags="${docker_image}:latest,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
platforms="linux/amd64"
#,linux/arm64
else
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
fi
echo "REPO_NAME=${repo_name}" >> ${GITHUB_ENV}
echo "DOCKER_NAMESPACE=${docker_namespace}" >> ${GITHUB_ENV}
echo "DOCKER_IMAGE=${docker_image}" >> ${GITHUB_ENV}
echo "DOCKER_TAGS=${docker_tags}" >> ${GITHUB_ENV}
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_ENV}
echo "PLATFORMS=${platforms}" >> ${GITHUB_ENV}
#linux/amd64,linux/arm64,linux/arm/v7
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64
# ,linux/arm64,linux/arm/v7
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Do the Docker Build using the Dockerfile in the repository
# checked out and the release tars just downloaded.
# Push the result to Docker Hub
- name: Build Docker Image for Push to Docker Hub
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
BUILD_DATE=${{ env.BUILD_DATE }}
MEDLEY_RELEASE=${{ env.MEDLEY_RELEASE }}
MAIKO_RELEASE=${{ env.MAIKO_RELEASE }}
REPO_OWNER=${{ github.repository_owner }}
context: ./release_debs
file: ./.github/workflows/Dockerfile_medley
platforms: ${{ env.PLATFORMS }}
# Push the result to DockerHub
push: true
tags: ${{ env.DOCKER_TAGS }}
######################################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-24.04
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [sentry, build_and-push]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Set sentry
- name: Set flag that build for this commit has been completed
id: set
uses: ./../actions/set-sentry-action
with:
tag: "docker"
- name: Output
id: output
run: |
echo "build_successful='true'" >> ${GITHUB_OUTPUT}
######################################################################################

645
.github/workflows/buildLoadup.yml vendored Normal file
View File

@@ -0,0 +1,645 @@
#*******************************************************************************
# buidLoadup.yml
#
# Interlisp workflow to build Medley release and push it to github. This workflow
# is platform independent - but runs on Linux/amd64.
#
# This workflow contains a sentry that causes it to skip the build (as identified
# by its commit SHA) if its already been done. Setting the "force" input to true
# will bypass this sentry,
#
# 2022-01-17 Frank Halasz based on an earlier version of buildLoadup for Medley.
#
# Copyright 2022-2023 by Interlisp.org
#
# ******************************************************************************
name: Build/Push Medley Release
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
draft:
description: "Mark this as a draft release"
required: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
secrets:
OIO_SSH_KEY:
required: true
defaults:
run:
shell: bash
jobs:
# JOB: sentry #######################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-24.04
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Check if build already run for this commit
- name: Build already completed?
id: check
continue-on-error: true
uses: ./../actions/check-sentry-action
with:
tag: "loadup"
# JOB: loadup #######################################################################
#
# Do the loadup and push to release on github
#
loadup:
runs-on: ubuntu-24.04
outputs:
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
maiko_release_tag: ${{ steps.job_outputs.outputs.MAIKO_RELEASE_TAG }}
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
release_url: ${{ steps.push.outputs.html_url }}
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Setup release tag
- name: Setup Release Tag
id: tag
uses: ./../actions/release-tag-action
# Get Maiko release information, retrieves the name of the latest (draft)
# release. Used to download the correct Maiko release
# Find latest release (draft or normal)
- name: Get maiko release information
id: maiko
run: |
tag=""
if [ "${{ inputs.draft }}" = "true" ];
then
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
if [ $? -eq 0 ];
then
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
fi
fi
if [ -z "${tag}" ];
then
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
fi
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Setup environment variables & establish job outputs
- name: Setup Environment Variables
run: |
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
echo "TARBALL_DIR=/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${RELEASE_TAG}" >>${GITHUB_ENV}
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.maiko_tag }}" >>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@" >>${GITHUB_ENV}
- name: More Environment Variables
run: |
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_RELEASE_TAG#medley-}" >>${GITHUB_ENV}
echo "MAIKO_SHORT_RELEASE_TAG=${MAIKO_RELEASE_TAG#maiko-}" >>${GITHUB_ENV}
- name: Even More Environment Variables
run: |
echo "COMBINED_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}_${MAIKO_SHORT_RELEASE_TAG}" >>${GITHUB_ENV}
- name: Establish job outputs
id: job_outputs
run: |
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
echo "ARTIFACTS_FILENAME_TEMPLATE=${ARTIFACTS_FILENAME_TEMPLATE}" >> ${GITHUB_OUTPUT}
# Setup some needed dirs in workspace
- name: Create work dirs
run: mkdir -p ${TARBALL_DIR}
# Download Maiko Release Assets and untar it
- name: Download Release Assets
run: |
gh release download ${MAIKO_RELEASE_TAG} \
-D ${TARBALL_DIR} \
--repo ${{ github.repository_owner }}/maiko \
-p '*.tgz'
tar -xzf "${TARBALL_DIR}/${MAIKO_RELEASE_TAG}-linux.x86_64.tgz"
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Checkout Notecards and tar it in the tarballsdir
- name: Checkout Notecards
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- name: Tar notecards into tarball dir
run: |
mv ./notecards ../notecards
cd ../notecards
git archive --format=tgz --output="${TARBALL_DIR}/notecards.tgz" --prefix=notecards/ main
# Install vnc
- name: Install vnc
run: sudo apt-get update && sudo apt-get install -y tightvncserver
- name: Build Loadup sysouts and databases
run: |
Xvnc -geometry 1280x720 :0 &
export DISPLAY=":0"
scripts/loadup-all.sh -apps
scripts/loadup-db.sh
- name: Build release tars
run: |
scripts/release-make-tars.sh "${MEDLEY_RELEASE_TAG}"
mv releases/"${MEDLEY_SHORT_RELEASE_TAG}"/*.tgz "${TARBALL_DIR}"
# Push the release up to github releases
- name: Delete existing release with same tag (if any)
uses: cb80/delrel@latest
with:
tag: ${{ env.MEDLEY_RELEASE_TAG }}
continue-on-error: true
- name: Push the release
id: push
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# ${{ env.TARBALL_DIR }}/notecards.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
tag: ${{ env.MEDLEY_RELEASE_TAG }}
draft: ${{ inputs.draft }}
prerelease: false
generateReleaseNotes: true
token: ${{ secrets.GITHUB_TOKEN }}
# Save the tarball directory for subsequent jobs
- name: Save tarballs
uses: actions/upload-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
if-no-files-found: error
# JOB: linux_installer ##############################################################
#
# Create the linux installers (.deb and .tgz) and push to release on github
#
linux_installer:
runs-on: ubuntu-24.04
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
run: |
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
>>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
# Create taball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
# Build the deb files as well as the tgz files
- name: Build .deb files for 3 architectures
id: debs
run: |
cd installers/deb
./build_deb.sh
# Push the debs and tgz up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
${{ env.DEBS_DIR }}/*.deb,
${{ env.TARS_DIR }}/*.tgz
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
- name: Rename medley tar for the x86_64 platform
run: |
cd ${{ env.TARS_DIR }}
mv medley-full-linux-x86_64-*.tgz medley.tgz
- name: Save medley tar for use in cygwin installers
uses: actions/upload-artifact@v4
with:
name: medley-tar
path: |
${{ env.TARS_DIR }}/medley.tgz
# JOB: macos_installer ##############################################################
#
# Create the macos installers (.dmg and .zip) and push to release on github
#
macos_installer:
runs-on: macos-14
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
# if: false
defaults:
run:
shell: bash
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
run: |
MACOS_DIR=installers/macos
echo "MACOS_DIR=${MACOS_DIR}" >>${GITHUB_ENV}
echo "ARTIFACTS_DIR=${MACOS_DIR}/artifacts" >>${GITHUB_ENV}
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" >>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
# Create tarball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
# Build the .dmg and .zip files
- name: Build .dmg & .zip files
id: dmg-zip
run: |
cd ${MACOS_DIR}
./build_artifacts.sh
# Push the .dmg and .zip up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
${{ env.ARTIFACTS_DIR }}/*.zip
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# JOB: cygwin_installer #############################################################
#
# Create the Windows installer, push it up to the release on github and
# update the downloads page on OIO
#
cygwin_installer:
runs-on: windows-2022
needs: [sentry, loadup, linux_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
outputs:
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Store the values output from loadup job as environment variables
- name: Environment Variables
shell: powershell
run: |
$crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=$crt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$aft="${{ needs.loadup.outputs.artifacts_filename_template }}"
echo "ARTIFACTS_FILENAME_TEMPLATE=$aft" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$debs="${{ needs.loadup.outputs.debs_filename_base }}"
echo "DEBS_FILENAME_BASE=$debs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# Retrieve medley tars from artifact store
- name: Retrieve medley tar
uses: actions/download-artifact@v4
with:
name: medley-tar
path: installers/cygwin/
# Download maiko cygwin build
- name: Retrieve maiko cygwin build
shell: powershell
env:
GH_TOKEN: ${{ secrets.MAIKO_TOKEN }}
run: |
gh release download ${{ needs.loadup.outputs.maiko_release_tag }} --repo interlisp/maiko --pattern ${{ needs.loadup.outputs.maiko_release_tag }}-cygwin.x86_64.tgz --output installers\cygwin\maiko-cygwin.x86_64.tgz
# Download cygwin installer to be included by medley.iss
- name: Download cygwin installer
id: cygwin
shell: powershell
run: |
wget https://cygwin.com/setup-x86_64.exe -OutFile installers\cygwin\setup-x86_64.exe
# Download vnc viewer
#- name: Download vncviewer
# shell: powershell
# run: |
# $url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
# $output = "installers\win\vncviewer64-1.12.0.exe"
# (New-Object System.Net.WebClient).DownloadFile($url, $output)
# Run iscc.exe to compile the installer
#- name: Compile medley.iss
# shell: powershell
# run: |
# iscc installers\win\medley.iss
# $filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
# echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# Run iscc.exe to compile the installer
- name: Compile cygwin_medley.iss
id: compile_iss
shell: powershell
run: |
$Env:CYGWIN_INSTALLER_BASE="medley-full-cygwin-x86_64-${env:COMBINED_RELEASE_TAG}"
$CYGWIN_INSTALLER="${Env:CYGWIN_INSTALLER_BASE}.exe"
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append
iscc installers\cygwin\medley.iss
# Upload windows installer to release
- name: Upload windows installer to release
id: push
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# JOB: downloads_page ################################################################
#
# Update the downloads page on OIO
#
downloads_page:
runs-on: ubuntu-24.04
needs: [sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
steps:
# Environment variables
- name: Environment Varibales (from other jobs)
run: |
crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
echo "MEDLEY_SHORT_RELEASE_TAG=${msrt}" >>${GITHUB_ENV}
cyginst="${{ needs.cygwin_installer.outputs.cygwin_installer }}"
echo "CYGWIN_INSTALLER=${cyginst}" >>${GITHUB_ENV}
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
# Upload a dummy file to release
# Needed since download url of the release changes on every update
# So this will be the final update before creating downloads page
# and we can use its url for the page
- run: echo "placeholder" >placeholder.txt
- name: Upload windows placeholder.txt to release
id: pushph
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: placeholder.txt
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# Update the downloads page and the man page on OIO
- name: Update the downloads page and the man page to the OIO static page host
shell: bash
run: |
# Figure out filenames
download_url="${{ steps.pushph.outputs.html_url }}"
download_url="${download_url/\/tag\//\/download\/}"
local_template="installers/downloads_page/medley_downloads.html"
local_filename="medley_downloads.html"
local_manpath="docs/man-page/man_medley.html"
if [ "${{ inputs.draft }}" = "true" ];
then
remote_filename="draft_downloads"
remote_manname="man_draft.html"
else
remote_filename="${local_filename%.html}"
remote_manname="man_medley.html"
fi
remote_filepath="/srv/oio/static/${remote_filename}"
remote_manpath="/srv/oio/static/${remote_manname}"
# Fill in downloads page template
sed \
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
-e "s/@@@COMBINED.RELEASE.TAG@@@/${COMBINED_RELEASE_TAG}/g" \
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
-e "s~@@@CYGWIN.INSTALLER@@@~${CYGWIN_INSTALLER}~g" \
< "${local_template}" > "${local_filename}"
# Create sftp instruction file
echo "-rm ${remote_filepath}.oldold" > batch
echo "-rename ${remote_filepath}.old ${remote_filepath}.oldold" >> batch
echo "-rename ${remote_filepath}.html ${remote_filepath}.old" >> batch
echo "-put ${local_filename} ${remote_filepath}.html" >> batch
echo "-put ${local_manpath} ${remote_manpath}" >> batch
# Do the sftp
eval $(ssh-agent)
ssh-add - <<< "${SSH_KEY}"
sftp -o StrictHostKeyChecking=no -b batch ubuntu@online.interlisp.org
env:
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
# Remove placeholder.txt
- name: Remove placeholder.txt
run: |
gh release delete-asset ${{ env.MEDLEY_RELEASE_TAG }} placeholder.txt --yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# JOB: complete #####################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-24.04
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [sentry, loadup, downloads_page]
steps:
# Delete the tarballs artifact
- name: Delete tarballs artifact
uses: geekyeggo/delete-artifact@v5
with:
name: tarballs
failOnError: false
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Set sentry
- name: Set flag that build for this commit has been completed
id: set
uses: ./../actions/set-sentry-action
with:
tag: "loadup"
- name: Output
id: output
run: |
echo "build_successful='true'" >> $GITHUB_OUTPUT
######################################################################################
######################################################################################

View File

@@ -0,0 +1,137 @@
#*******************************************************************************
# buidReleaseInclDocker.yml
#
# Interlisp webflow to build a Medley release and push it to github.
# And to build a multiplatform Docker image for the release and push it to Docker Hub.
# And to kickoff a build and deploy workflow for Medley-online within the online repo.
#
# This workflow just calls two reuseable workflows to the two task:
# buildLoadup.yml and buildDocker.yml
#
# 2022-01-18 Frank Halasz
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
name: "Build/Push Release, Docker, OIO"
# Run this workflow on ...
on:
schedule:
- cron: '17 9 * * 3'
workflow_dispatch:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
draft:
description: "Mark this as a draft release"
required: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
defaults:
run:
shell: bash
# Jobs that compose this workflow
jobs:
######################################################################################
# Regularize the inputs so they can be referenced the same way whether they are
# the result of a workflow_dispatch or a workflow_call
inputs:
runs-on: ubuntu-24.04
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' != '{}' ];
then
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
else
echo "draft=false" >> $GITHUB_OUTPUT;
echo "force=false" >> $GITHUB_OUTPUT;
fi
######################################################################################
# Build Loadup
do_release:
needs: inputs
uses: ./.github/workflows/buildLoadup.yml
with:
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
######################################################################################
# Build Docker Image
do_docker:
needs: [inputs, do_release]
uses: ./.github/workflows/buildDocker.yml
with:
draft: ${{ needs.inputs.outputs.draft }}
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-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 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 }}

49
.gitignore vendored
View File

@@ -1,7 +1,47 @@
# loadup interim steps
tmp/*
loadups/init*
# releases directory
releases/*
# maiko directory
maiko/
# all PDFs (those explicitly checked in aren't ignored
# 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
loadups/exports.all
library/RDSYS*
loadups/lisp.sysout
loadups/full.sysout
# not currently included but might as well ignore it
loadups/fuller.sysout
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
@@ -24,6 +64,9 @@ core
# Mac OS detritus
.DS_Store
*.PS
# nano detritus
*.swp
*.save
# set up by install-diff-filter.sh script
.gitattributes

126
BUILDING.md Normal file
View File

@@ -0,0 +1,126 @@
# How to Build Medley and make a Release
The files in the Medley repository are used for making "loadups" lisp.sysout, full.sysout, apps.sysout. In order to build the Medley images, you need to have a build of "Maiko" (in flavors 'ldeinit' and 'lde' and either (`ldex` or `ldesdl`). Head over to the `Interlisp/maiko` repository to find out about making those.
# Using GitHub actions
Note that GitHub actions are used to automate the build process and insure that the system is built using known files, and that the releases are coordinated across platforms. We try to minimize dependencies on GitHub.
That said, you can manually trigger the automatic making of Medley loadups.
In the GitHub medley repository (Interlisp/medley) go to the Actions tab.
It will list the available GitHub actions.
Select: **Build/Push Release & Docker**.
In the middle of the screen there is a box labeled "Workflow Runs".
There should be a row in it that states 'This workflow has a workflow_dispatch event trigger' with a drop down menu (it really looks more like a button) on the right side labeled 'Run workflow'. Select that and you'll get a form allowing you to select the branch (I've only used Master) and enter the release name. Enter a name or leave it empty and press the green 'Run workflow' button. The workflow should queue up and run.
Build/Push Release & Docker first builds Maiko and Medley, pushes a Medley release to the Interlisp/medley repo Releases, then makes a Docker image.
The files in .github/workflows/ contain the details.
<!--
The workflow pulls the latest Maiko image from Docker Hub and the Release Assets from the latest Medley release, generally defined as medley-YYMMDD. The Medley Docker image adds in Tight VNC Server and retrieves the two tarballs associated with a release, one containing the sysouts and the other the other needed files source, fonts, etc. The contents are uncompressed and loaded into the Medley directory structure.
-->
# Building Medley for yourself
The actual building itself is done with various shell scripts, found in the `scripts` directory in the medley repository. Most of the scripts have a minimal sanity check that they are being run from the medley repository.
Historically, building the medley image (called a "sysout") was called "doing a loadup". Back in the day, a loadup took the better part of a day, and no one would do the whole thing -- there was no automation.
## Prerequisites
In these instructions, there is an assumption that the loadup scripts can find other repositories. All of the loadup scripts have to find `lde` and `ldex` or `ldisdl` and also `ldeinit`.
Loadups use the run-medley script, which looks for Maiko (actually the lde & ldeinit executables) as follows:
1. lde (ldeinit) on PATH
2. In the `<osversion>.<machinetype>` subdirectory of the directory specified by the $MAIKODIR environment variable
3. In the `<osversion>.<machinetype>` subdirectory of the directory specified by $MEDLEYDIR/../maiko/
4. In the `<osversion>.<machinetype>` subdirectory of the directory specified by $MEDLEYDIR/maiko/
where $MEDLEYDIR is the directory from which you called the loadup script.
## Make everything
The shell command:
```
time ./scripts/loadup-all.sh -apps && time ./scripts/loadup-db.sh
```
does everything; on a fast machine it takes 4-6 minutes, most of which is spent in the `loadup-db.sh` step. Without the `loadup-db.sh` step, it runs in 22 seconds on a fast system.
## How loadup-all.sh works
You don't need to know this unless you want to change some of the low-level files involved.
The script "loadup-all.sh" itself involes scripts used for different steps in the loadup -- basically loadup-all calls the scripts in this order:
* `loadup-init.sh`
* `loadup-mid-from-init.sh`
* `loadup-lisp-from-mid.sh`
* `loadup-full-from-lisp.sh`
* `loadup-aux.sh`
* `loadup-apps-from-full.sh`
* `loadup-db.sh`
* `copy-all.sh`
Most of these scripts should only be run from the 'medley' repository top level directory.
```
your-working-area
maiko
medley
notecards
```
These are explained in reverse order:
### `copy-all.sh`: copy files from build directory to loadups
Most of the scripts build things in a temporary directory and, if the entire process succeeds, copies the results to the `loadups` directory. The environment variable `LOADUP-OUTDIR`, if set, is used, otherwise a sub-directory of /tmp.
`copy-db.sh` and `copy-full.sh` are provided if you've only done partial loadups.
`cpv` is a script that copies a file from one place to another while maintaining Medley version numbering.
### `loadup.db`: build `fuller.database`
This step was added to make a Masterscope database of "everything". The result is a file `fuller.database`. This was an artifact of an attempt to build some diagnostic tools to help understand what was going on in Medley. There is a 4 step process in the `GATHER-INFO` function in the file `MEDLEY-UTILS` in the `internal` subdirectory of the medley repository that ends with creating a masterscope database after loading all of the source files for every file that is part of the loadup, plus a few additional LispUsers files listed in variables that are part of `MEDLEY-UTILS`.
There are some problems that `GATHER-INFO` results hint at, but haven't been explored systematically.
Masterscope has some gaps and bugs so `fuller.database` isn't as useful as it could be. For example, Masterscope 'show paths' was written assuming you had only anlayzed the parts you were working on, and so the results of `SHOW PATHS` are too big to be useful.
## `loadup-aux.sh`: rebuild two files used for Medley development
`exports.all` is a collection of external declarations from a set of files in the medley/sources directory that are marked as being exported within those sources. Low level system declarations that aren't needed by most users. The files that need exports.all are generally loaded by loading `SYSEDIT`, which sets up a couple of preferences and then loads `exports.all`.
`whereis.hash` is an index file mapping function, variable, record declarations and other components to the file name containing that definition. It is the result of scanning the directories in the medley repository, including lispusers and library and internal etc. (but not obsolete?).
### `loadup-apps-from-full.sh:`build `apps.sysout`
`apps.sysout` includes some other components that are part of online.interlisp.org experience. In particular, you need `notecards`, which is in a separate repository (currently).
### `loadup-full-from-lisp.sh`: Build a `full.sysout` and
`full.sysout` Includes what we hope is a useful subset of Interlisp library and lispusers components as well as our modernization components.
### Build a `lisp.sysout` in 4 scripts:
### `loadup-lisp-from-mid.sh` build `lisp.sysout`
`lisp.sysout` is what most 1990s customers started with. This step starts with `init-mid.sysout` and runs `sources/LOADUP-LISP`.
### `loadup-mid-from-init.sh` build `mid.sysout`
This step uses a Maiko that has been compiled with the `init` option. It reads the `init.dlinit` and initializes the package system and runs the EXPRESSIONS from the files that were "loaded" by MAKEINIT, and writes out `init-mid.sysout`.
### `loadup-init.sh`: build `mid.sysout`
This step (called `MAKEINIT`) runs a Lisp program (using a `starter` sysout) that reads in Lisp sources for the bootstrap loader, walks through the code renaming the low-level memory management functions to work on a file instead of in memory. These renamed functions are written to a file (called I-NEW), and I-NEW is then compiled and loaded in and run to 'virtually' load the core set of files in an initial memory image (called INIT.SYSOUT). It then does another (theoretically unnecessary) pass of reading in INIT.SYSOUT using a different renaming of variables used originally for remote debugging (called TELERAID) and moving some pages around to make room for Dandelion IO Processor boot code.
While this step requires an Interlisp implementation, it isn't necessarily a Medley implementation. If you want to change the instruction set or modify any data structures that are reflected in both the Lisp code and Maiko, you can run this part in an older Interlisp. Theoretically.

View File

@@ -1,248 +0,0 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "XCL")
(IL:FILECREATED "24-Mar-92 14:56:18" IL:|{DSK}<usr>local>lde>lispcore>sources>CMLDEFFER.;3| 40644
IL:|changes| IL:|to:| (IL:VARS IL:CMLDEFFERCOMS)
IL:|previous| IL:|date:| " 4-Jan-92 15:32:26"
IL:|{DSK}<usr>local>lde>lispcore>sources>CMLDEFFER.;2|)
; Copyright (c) 1986, 1900, 1987, 1988, 1990, 1992 by Venue & Xerox Corporation. All rights reserved.
(IL:PRETTYCOMPRINT IL:CMLDEFFERCOMS)
(IL:RPAQQ IL:CMLDEFFERCOMS ((IL:* IL:|;;;| "DEF-DEFINE-TYPE and DEFDEFINER -- Your One-Stop Providers of Customized File Manager Facilities.") (IL:* IL:|;;| "BE VERY CAREFUL CHANGING ANYTHING IN THIS FILE!!! It is heavily self-referential and thick with bootstrapping problems. All but the most trivial changes (and some of those) are very tricky to make without blowing yourself out of the water... You have been warned.") (IL:* IL:|;;;| "Also see the file deffer-runtime for stuff that must be defined before fasl files may be loaded into the init") (IL:COMS (IL:* IL:\; "Filepkg interface") (IL:FUNCTIONS REMOVE-COMMENTS PPRINT-DEFINER PPRINT-DEFINER-FITP PPRINT-DEFINER-RECURSE) (IL:VARIABLES IL:*REMOVE-INTERLISP-COMMENTS*) (IL:* IL:\; "Share with xcl?") (IL:FUNCTIONS %DEFINE-TYPE-DELDEF %DEFINE-TYPE-GETDEF %DEFINE-TYPE-FILE-DEFINITIONS %DEFINE-TYPE-FILEGETDEF %DEFINE-TYPE-SAVE-DEFN %DEFINE-TYPE-PUTDEF)) (IL:COMS (IL:* IL:\; "Compatibility with old cmldeffer") (IL:DECLARE\: IL:DOCOPY IL:DONTEVAL@LOAD (IL:P (IL:MOVD (QUOTE %DEFINE-TYPE-DELDEF) (QUOTE IL:\\DEFINE-TYPE-DELDEF)) (IL:MOVD (QUOTE %DEFINE-TYPE-GETDEF) (QUOTE IL:\\DEFINE-TYPE-GETDEF)) (IL:MOVD (QUOTE %DEFINE-TYPE-FILE-DEFINITIONS) (QUOTE IL:\\DEFINE-TYPE-FILE-DEFINITIONS)) (IL:MOVD (QUOTE %DEFINE-TYPE-FILEGETDEF) (QUOTE IL:\\DEFINE-TYPE-FILEGETDEF)) (IL:MOVD (QUOTE %DEFINE-TYPE-SAVE-DEFN) (QUOTE IL:\\DEFINE-TYPE-SAVE-DEFN)) (IL:MOVD (QUOTE %DEFINE-TYPE-PUTDEF) (QUOTE IL:\\DEFINE-TYPE-PUTDEF)) (IL:MOVD (QUOTE PPRINT-DEFINER) (QUOTE IL:PPRINT-DEFINER))))) (IL:DECLARE\: IL:DOCOPY IL:DONTEVAL@LOAD (IL:P (IL:* IL:|;;| "Set up fake definer prototype stuff for FNS") (ADD-PROTOTYPE-FN (QUOTE IL:FNS) (QUOTE IL:NLAMBDA) (FUNCTION (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (IL:DEFINEQ ((IL:\\\, NAME) (IL:NLAMBDA (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE)))))))))) (ADD-PROTOTYPE-FN (QUOTE IL:FNS) (QUOTE IL:LAMBDA) (FUNCTION (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (IL:DEFINEQ ((IL:\\\, NAME) (IL:LAMBDA (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE)))))))))))) (IL:COMS (IL:* IL:\; "The groundwork for bootstrapping ") (IL:DEFINE-TYPES IL:DEFINE-TYPES IL:FUNCTIONS IL:VARIABLES) (IL:* IL:\; "DefDefiner itself and friends") (IL:FUNCTIONS SI::EXPANSION-FUNCTION SI::MACRO-FUNCALL WITHOUT-FILEPKG)) (IL:COMS (IL:* IL:\; "Compatibility with old cmldeffer") (IL:FUNCTIONS IL:WITHOUT-FILEPKG)) (IL:COMS (IL:* IL:\; "Some special forms") (IL:FUNCTIONS DEFINER DEFINER-VARIABLE-TYPE NAMED-PROGN)) (IL:COMS (IL:* IL:\; "Auxiliary functions") (IL:FUNCTIONS GET-DEFINER-NAME %DELETE-DEFINER) (IL:FUNCTIONS DEF-DEFINE-TYPE DEFDEFINER DEFDEFINER-VARIABLE-TYPE) (IL:FUNCTIONS %EXPAND-DEFINER %DEFINER-NAME)) (IL:COMS (IL:* IL:\; "The most commonly-used definers") (IL:FUNCTIONS DEFUN DEFINLINE DEFMACRO) (IL:FUNCTIONS DEFVAR DEFPARAMETER DEFCONSTANT DEFGLOBALVAR DEFGLOBALPARAMETER)) (IL:COMS (IL:* IL:\; "Here so that the evaluator can be in the init without definers being in the init.") (IL:DEFINE-TYPES IL:SPECIAL-FORMS) (IL:FUNCTIONS %REMOVE-SPECIAL-FORM) (IL:FUNCTIONS DEFINE-SPECIAL-FORM) (IL:* IL:\; "Form for defining interpreters of special forms")) (IL:COMS (IL:* IL:\; "Don't note changes to these properties/variables") (IL:PROP IL:PROPTYPE IL:MACRO-FN :UNDEFINERS IL:UNDEFINERS :DEFINER-FOR IL:DEFINER-FOR :DEFINED-BY IL:DEFINED-BY :DEFINITION-NAME IL:DEFINITION-NAME) (IL:* IL:\; "Templates for definers not defined here. These should really be where they're defined.") (IL:PROP :DEFINITION-PRINT-TEMPLATE DEFCOMMAND DEFINE-CONDITION DEFINE-MODIFY-MACRO DEFINE-SETF-METHOD DEFSETF DEFSTRUCT DEFTYPE)) (IL:* IL:|;;| "Arrange for the correct compiler to be used.") (IL:PROP (IL:FILETYPE IL:MAKEFILE-ENVIRONMENT) IL:CMLDEFFER)))
(IL:* IL:|;;;|
"DEF-DEFINE-TYPE and DEFDEFINER -- Your One-Stop Providers of Customized File Manager Facilities.")
(IL:* IL:|;;|
"BE VERY CAREFUL CHANGING ANYTHING IN THIS FILE!!! It is heavily self-referential and thick with bootstrapping problems. All but the most trivial changes (and some of those) are very tricky to make without blowing yourself out of the water... You have been warned."
)
(IL:* IL:|;;;|
"Also see the file deffer-runtime for stuff that must be defined before fasl files may be loaded into the init"
)
(IL:* IL:\; "Filepkg interface")
(DEFUN REMOVE-COMMENTS (X) (IL:* IL:|;;;| "Removes SEdit-style comments from the given list structure.") (COND ((NOT (CONSP X)) X) ((AND (CONSP (CAR X)) (EQ (CAAR X) (QUOTE IL:*)) (CONSP (CDAR X)) (OR (MEMBER (CADAR X) (QUOTE (IL:\; IL:|;;| IL:|;;;| IL:|;;;;| IL:\|)) :TEST (FUNCTION EQ)) (IL:* IL:\; "a sedit comment") (EQ IL:*REMOVE-INTERLISP-COMMENTS* T) (IL:* IL:\; "always strip") (PROGN (IF (EQ IL:*REMOVE-INTERLISP-COMMENTS* (QUOTE :WARN)) (WARN "Possible comment not stripped ~S" (CAR X))) NIL))) (REMOVE-COMMENTS (CDR X))) (T (LET ((A (REMOVE-COMMENTS (CAR X))) (D (REMOVE-COMMENTS (CDR X)))) (IF (AND (EQ A (CAR X)) (EQ D (CDR X))) X (CONS A D))))))
(DEFUN PPRINT-DEFINER (DEFINE-EXPRESSION) (DECLARE (SPECIAL IL:FORMFLG IL:SPACEWIDTH)) (IL:* IL:\; "Bound in prettyprinter") (COND ((OR (NULL IL:FORMFLG) (ATOM (CDR DEFINE-EXPRESSION))) (IL:* IL:\; "Degenerate cases or printing as a quoted form--punt to default prettyprinting") DEFINE-EXPRESSION) (T (LET ((IL:TAIL DEFINE-EXPRESSION) (IL:LEFT (IL:DSPXPOSITION)) TEMPLATE TOP-LEVEL-P NEXT TYPE FORM NEWLINEP) (DECLARE (SPECIAL IL:TAIL IL:LEFT)) (IL:* IL:\; "For comment printer") (SETQ TOP-LEVEL-P (EQ IL:LEFT (IL:DSPLEFTMARGIN))) (IL:* IL:\; "Printing definition to file, etc.") (SETQ IL:LEFT (+ IL:LEFT (* 3 IL:SPACEWIDTH))) (IL:* IL:\; "Place we will indent body") (IL:PRIN1 "(") (IL:PRIN2 (CAR IL:TAIL)) (SETQ TEMPLATE (OR (GET (POP IL:TAIL) :DEFINITION-PRINT-TEMPLATE) (QUOTE (:NAME)))) (IL:* IL:|;;| "This code should, and doesn't, pay attention to the NAME function to determine where the name is to decide what should and shouldn't be bold. Right now, it always bolds the second thing. Fortunately, we currently don't have any definers that don't have either the second or CAR of the second as the definition name.") (IL:* IL:|;;| "Also, this code should be careful about calling the NAME function on the form. Sometimes, the form is not really a call to the definer but instead a back-quoted expression in a macro. In most such cases, the name is not really there; some comma-quoted expression is there instead.") (IL:WHILE (CONSP IL:TAIL) IL:DO (COND ((AND (LISTP (SETQ NEXT (CAR IL:TAIL))) (EQ (CAR NEXT) IL:COMMENTFLG) (IL:SEMI-COLON-COMMENT-P NEXT)) (IL:* IL:\; "Comments can appear anywhere, so print this one without consuming the template. ENDLINE has side effect of printing comments") (IL:SUBPRINT/ENDLINE IL:LEFT *STANDARD-OUTPUT*) (SETQ NEWLINEP T)) ((OR (ATOM TEMPLATE) (EQ (SETQ TYPE (POP TEMPLATE)) :BODY)) (IL:* IL:\; "Once we hit the body, there's nothing more special to do.") (RETURN)) (T (IL:SPACES 1) (CASE TYPE (:NAME (IL:* IL:\; "Embolden the name of this thing") (SETQ NEWLINEP NIL) (COND ((NOT TOP-LEVEL-P) (IL:* IL:\; "Nothing special here--could even be a backquoted thing") (PPRINT-DEFINER-RECURSE)) (T (POP IL:TAIL) (COND ((CONSP NEXT) (IL:* IL:\; "Name is a list. Assume the real name is the car and the rest is an options list or something") (UNLESS (EQ (IL:DSPYPOSITION) (PROGN (IL:PRIN1 "(") (IL:PRINTOUT NIL IL:.FONT IL:LAMBDAFONT IL:.P2 (CAR NEXT) IL:.FONT IL:DEFAULTFONT) (IL:SPACES 1) (IL:PRINTDEF (CDR NEXT) T T T IL:FNSLST) (IL:PRIN1 ")") (IL:DSPYPOSITION))) (IL:* IL:\; "This thing took more than one line to print, so go to new line") (IL:SUBPRINT/ENDLINE IL:LEFT *STANDARD-OUTPUT*) (SETQ NEWLINEP T))) (T (IL:* IL:\; "Atomic name is bold") (IL:PRINTOUT NIL IL:.FONT IL:LAMBDAFONT IL:.P2 NEXT IL:.FONT IL:DEFAULTFONT)))))) (:ARG-LIST (IL:* IL:\; "NEXT is some sort of argument list. ") (COND ((NULL NEXT) (IL:* IL:\; "If NIL, be sure to print as ()") (IL:PRIN1 "()") (POP IL:TAIL)) (T (PPRINT-DEFINER-RECURSE))) (SETQ NEWLINEP NIL)) (T (IL:* IL:\; "Just print it, perhaps starting a new line") (UNLESS (OR NEWLINEP (PPRINT-DEFINER-FITP NEXT)) (IL:* IL:\; "Go to new line if getting crowded") (IL:PRINENDLINE IL:LEFT)) (PPRINT-DEFINER-RECURSE) (SETQ NEWLINEP NIL)))))) (IL:* IL:|;;| "We've now gotten to the end of stuff we know how to print. Just prettyprint the rest") (UNLESS (NULL IL:TAIL) (COND (NEWLINEP (IL:* IL:\; "Already on new line")) ((OR (EQ TYPE :BODY) (NOT (PPRINT-DEFINER-FITP (CAR IL:TAIL)))) (IL:* IL:\; "Go to new line and indent a bit. Always do this for the part matching &BODY, whether or not the prettyprinter thought that the remainder would \"fit\"") (IL:PRINENDLINE IL:LEFT NIL T)) (T (IL:SPACES 1))) (IL:WHILE (AND (CONSP IL:TAIL) (ATOM (SETQ FORM (CAR IL:TAIL)))) IL:DO (IL:* IL:|;;| "Print this doc string or whatever on its own line. This is because otherwise the prettyprinter gets confused and tries to put the next thing after the string") (PPRINT-DEFINER-RECURSE) (WHEN (AND (KEYWORDP FORM) (CONSP IL:TAIL)) (IL:* IL:\; "Some sort of keyword-value pair stuff--print it on same line") (IL:SPACES 1) (PPRINT-DEFINER-RECURSE)) (WHEN (NULL IL:TAIL) (RETURN)) (IL:SUBPRINT/ENDLINE IL:LEFT *STANDARD-OUTPUT*)) (IL:PRINTDEF IL:TAIL T T T IL:FNSLST)) (IL:PRIN1 ")") NIL))))
(DEFUN PPRINT-DEFINER-FITP (ITEM) (IL:* IL:|;;| "True if it won't look silly to try to print ITEM at current position instead of starting new line") (IF (CONSP ITEM) (OR (EQ (CAR ITEM) IL:COMMENTFLG) (AND (< (IL:COUNT ITEM) 20) (IL:FITP ITEM))) (< (+ (IL:DSPXPOSITION) (IL:STRINGWIDTH ITEM *STANDARD-OUTPUT*)) (IL:DSPRIGHTMARGIN))))
(DEFUN PPRINT-DEFINER-RECURSE NIL (IL:* IL:|;;| "Print and pop the next element. Prettyprinter uses the variable IL:TAIL for lookahead") (DECLARE (SPECIAL IL:TAIL)) (IL:SUPERPRINT (CAR IL:TAIL) IL:TAIL NIL *STANDARD-OUTPUT*) (SETQ IL:TAIL (CDR IL:TAIL)))
(DEFVAR IL:*REMOVE-INTERLISP-COMMENTS* (QUOTE :WARN) "Either NIL (don't) T (always do) or :WARN (don't and warn)")
(IL:* IL:\; "Share with xcl?")
(DEFUN %DEFINE-TYPE-DELDEF (NAME TYPE) (IL:* IL:|;;| "DELETE definition of definer-defined NAME as TYPE ") (UNDOABLY-SETF (DOCUMENTATION NAME TYPE) NIL) (LET* ((HT (GETHASH TYPE *DEFINITION-HASH-TABLE*)) (DEFN (AND HT (GETHASH NAME HT)))) (AND HT (IL:/PUTHASH NAME NIL HT)) (DOLIST (FN (OR (GET TYPE (QUOTE :UNDEFINERS)) (GET TYPE (QUOTE IL:UNDEFINERS)))) (FUNCALL FN NAME)) (DOLIST (FN (OR (GET (CAR DEFN) (QUOTE :UNDEFINERS)) (GET (CAR DEFN) (QUOTE IL:UNDEFINERS)))) (FUNCALL FN NAME)) NAME))
(DEFUN %DEFINE-TYPE-GETDEF (NAME TYPE OPTIONS) (IL:* IL:|;;| "GETDEF method for all definers. The EDIT is so that when you say EDITDEF you get a copy & can know when you made edits.") (LET* ((HASH-TABLE (GETHASH TYPE *DEFINITION-HASH-TABLE*)) (DEFN (AND HASH-TABLE (GETHASH NAME HASH-TABLE)))) (IF (TYPECASE OPTIONS (CONS (MEMBER (QUOTE IL:EDIT) OPTIONS :TEST (FUNCTION EQ))) (T (EQ OPTIONS (QUOTE IL:EDIT)))) (COPY-TREE DEFN) DEFN)))
(DEFUN %DEFINE-TYPE-FILE-DEFINITIONS (TYPE NAMES) (IL:* IL:|;;| "get the definitions for NAMES suitable for printing on a file. Like GETDEF but checks.") (MAPCAR (FUNCTION (LAMBDA (NAME) (LET ((DEF (%DEFINE-TYPE-GETDEF NAME TYPE (QUOTE (IL:NOCOPY))))) (IF (NULL DEF) (ERROR (QUOTE IL:NO-SUCH-DEFINITION) :NAME NAME :TYPE TYPE) DEF)))) NAMES))
(DEFUN %DEFINE-TYPE-FILEGETDEF (NAME TYPE SOURCE OPTIONS NOTFOUND) (LET ((VAL (IL:LOADFNS NIL SOURCE (QUOTE IL:GETDEF) (IL:* IL:|;;| "The bletcherous lambda form is require by the interface to loadfns (can't pass a closure)") (IL:BQUOTE (IL:LAMBDA (FIRST SECOND) (AND (MEMBER FIRST (QUOTE (IL:\\\, (OR (GET TYPE (QUOTE :DEFINED-BY)) (GET TYPE (QUOTE IL:DEFINED-BY))))) :TEST (FUNCTION EQ)) (LET ((NAMER (OR (GET FIRST (QUOTE :DEFINITION-NAME)) (GET FIRST (QUOTE IL:DEFINITION-NAME)) (QUOTE SECOND)))) (IF (EQ NAMER (QUOTE SECOND)) (EQUAL SECOND (QUOTE (IL:\\\, NAME))) (EQUAL (FUNCALL NAMER (REMOVE-COMMENTS (IL:READ))) (QUOTE (IL:\\\, NAME))))))))))) (COND ((EQ (CAAR VAL) (QUOTE IL:NOT-FOUND\:)) NOTFOUND) ((CDR VAL) (CONS (QUOTE PROGN) VAL)) (T (CAR VAL)))))
(DEFUN %DEFINE-TYPE-SAVE-DEFN (NAME TYPE DEFINITION) (SETQ TYPE (IL:GETFILEPKGTYPE TYPE (QUOTE TYPE))) (LET ((HASH-TABLE (GETHASH TYPE *DEFINITION-HASH-TABLE*))) (WHEN (NULL HASH-TABLE) (WARN "Couldn't find a hash-table for ~S definitions.~%One will be created." TYPE) (SETQ HASH-TABLE (SETF (GETHASH TYPE *DEFINITION-HASH-TABLE*) (MAKE-HASH-TABLE :TEST (FUNCTION EQUAL) :SIZE 50 :REHASH-SIZE 50)))) (LET ((OLD-DEFINITION (GETHASH NAME HASH-TABLE))) (UNLESS (EQUAL DEFINITION OLD-DEFINITION) (WHEN (AND OLD-DEFINITION (NOT (EQ IL:DFNFLG T))) (FORMAT *TERMINAL-IO* "~&New ~A definition for ~S~:[~; (but not installed)~].~%" TYPE NAME (MEMBER IL:DFNFLG (QUOTE (IL:PROP IL:ALLPROP)) :TEST (FUNCTION EQ)))) (IL:/PUTHASH NAME DEFINITION HASH-TABLE) (IL:MARKASCHANGED NAME TYPE (IF OLD-DEFINITION (QUOTE IL:CHANGED) (QUOTE IL:DEFINED)))))))
(DEFUN %DEFINE-TYPE-PUTDEF (NAME TYPE DEFINITION REASON) (IF (NULL DEFINITION) (%DEFINE-TYPE-DELDEF NAME TYPE) (LET ((DEFN-WITHOUT-COMMENTS (REMOVE-COMMENTS DEFINITION))) (UNLESS (AND (CONSP DEFN-WITHOUT-COMMENTS) (MEMBER (CAR DEFN-WITHOUT-COMMENTS) (OR (GET TYPE (QUOTE :DEFINED-BY)) (GET TYPE (QUOTE IL:DEFINED-BY))) :TEST (FUNCTION EQ)) (EQUAL NAME (FUNCALL (OR (GET (CAR DEFN-WITHOUT-COMMENTS) (QUOTE :DEFINITION-NAME)) (GET (CAR DEFN-WITHOUT-COMMENTS) (QUOTE IL:DEFINITION-NAME)) (QUOTE SECOND)) DEFN-WITHOUT-COMMENTS))) (SIGNAL (QUOTE IL:DEFINER-MISMATCH) :NAME NAME :TYPE TYPE :DEFINITION DEFINITION)) (SETQ DEFINITION (COPY-TREE DEFINITION)) (EVAL (IF IL:LISPXHIST (MAKE-UNDOABLE DEFINITION) DEFINITION)))))
(IL:* IL:\; "Compatibility with old cmldeffer")
(IL:DECLARE\: IL:DOCOPY IL:DONTEVAL@LOAD
(IL:MOVD (QUOTE %DEFINE-TYPE-DELDEF) (QUOTE IL:\\DEFINE-TYPE-DELDEF))
(IL:MOVD (QUOTE %DEFINE-TYPE-GETDEF) (QUOTE IL:\\DEFINE-TYPE-GETDEF))
(IL:MOVD (QUOTE %DEFINE-TYPE-FILE-DEFINITIONS) (QUOTE IL:\\DEFINE-TYPE-FILE-DEFINITIONS))
(IL:MOVD (QUOTE %DEFINE-TYPE-FILEGETDEF) (QUOTE IL:\\DEFINE-TYPE-FILEGETDEF))
(IL:MOVD (QUOTE %DEFINE-TYPE-SAVE-DEFN) (QUOTE IL:\\DEFINE-TYPE-SAVE-DEFN))
(IL:MOVD (QUOTE %DEFINE-TYPE-PUTDEF) (QUOTE IL:\\DEFINE-TYPE-PUTDEF))
(IL:MOVD (QUOTE PPRINT-DEFINER) (QUOTE IL:PPRINT-DEFINER))
)
(IL:DECLARE\: IL:DOCOPY IL:DONTEVAL@LOAD
(IL:* IL:|;;| "Set up fake definer prototype stuff for FNS")
(ADD-PROTOTYPE-FN (QUOTE IL:FNS) (QUOTE IL:NLAMBDA) (FUNCTION (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (IL:DEFINEQ ((IL:\\\, NAME) (IL:NLAMBDA (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))))))
(ADD-PROTOTYPE-FN (QUOTE IL:FNS) (QUOTE IL:LAMBDA) (FUNCTION (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (IL:DEFINEQ ((IL:\\\, NAME) (IL:LAMBDA (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))))))
)
(IL:* IL:\; "The groundwork for bootstrapping ")
(DEF-DEFINE-TYPE IL:DEFINE-TYPES "Definition type")
(DEF-DEFINE-TYPE IL:FUNCTIONS "Common Lisp functions/macros" :UNDEFINER IL:UNDOABLY-FMAKUNBOUND)
(DEF-DEFINE-TYPE IL:VARIABLES "Common Lisp variables" :UNDEFINER UNDOABLY-MAKUNBOUND)
(IL:* IL:\; "DefDefiner itself and friends")
(DEFUN SI::EXPANSION-FUNCTION (NAME ARG-LIST BODY) (IL:* IL:|;;;| "Shared code between DEFMACRO and DEFDEFINER. Takes the parts of a DEFMACRO and returns two values: a LAMBDA form for the expansion function, and the documentation string found, if any.") (MULTIPLE-VALUE-BIND (PARSED-BODY PARSED-DECLARATIONS PARSED-DOCSTRING) (IL:PARSE-DEFMACRO ARG-LIST (QUOTE SI::$$MACRO-FORM) BODY NAME NIL :ENVIRONMENT (QUOTE SI::$$MACRO-ENVIRONMENT)) (VALUES (IL:BQUOTE (LAMBDA (SI::$$MACRO-FORM SI::$$MACRO-ENVIRONMENT) (IL:\\\,@ PARSED-DECLARATIONS) (BLOCK (IL:\\\, NAME) (IL:\\\, PARSED-BODY)))) PARSED-DOCSTRING)))
(DEFMACRO SI::MACRO-FUNCALL (EXPANSION-FUNCTION MACRO-CALL ENV) (IL:* IL:|;;;| "Used by DEFDEFINER as a mechanism for delaying macro-expansion until after checking the value of DFNFLG. The arguments (unevaluated) are a macro-expansion function and a call on that macro. The call to MACRO-FUNCALL should expand into the result of expanding the given macro-call.") (FUNCALL EXPANSION-FUNCTION MACRO-CALL ENV))
(DEFMACRO WITHOUT-FILEPKG (&BODY BODY) (IL:BQUOTE (PROGN (EVAL-WHEN (LOAD) (IL:\\\,@ BODY)) (EVAL-WHEN (EVAL) (UNLESS (OR (EQ IL:DFNFLG (QUOTE IL:PROP)) (EQ IL:DFNFLG (QUOTE IL:ALLPROP))) (LET ((IL:FILEPKGFLG NIL) (IL:DFNFLG T)) (IL:\\\,@ BODY)))))))
(IL:* IL:\; "Compatibility with old cmldeffer")
(DEFMACRO IL:WITHOUT-FILEPKG (&BODY BODY) (IL:BQUOTE (WITHOUT-FILEPKG (IL:\\\,@ BODY))))
(IL:* IL:\; "Some special forms")
(DEFMACRO DEFINER (TYPE NAME DEFINITION &OPTIONAL ENV) (LET* ((EXPANDER (GET NAME :DEFINITION-EXPANDER)) (DEFINITION-WITHOUT-COMMENTS (REMOVE-COMMENTS DEFINITION)) (DEFINITION-NAME (FUNCALL (GET NAME :DEFINITION-NAME) DEFINITION-WITHOUT-COMMENTS))) (IL:BQUOTE (PROGN (WITHOUT-FILEPKG (SI::MACRO-FUNCALL (IL:\\\, EXPANDER) (IL:\\\, DEFINITION-WITHOUT-COMMENTS) (IL:\\\, ENV))) (EVAL-WHEN (EVAL) (UNLESS (NULL IL:FILEPKGFLG) (%DEFINE-TYPE-SAVE-DEFN (QUOTE (IL:\\\, DEFINITION-NAME)) (QUOTE (IL:\\\, TYPE)) (QUOTE (IL:\\\, DEFINITION))))) (QUOTE (IL:\\\, DEFINITION-NAME))))))
(DEFMACRO DEFINER-VARIABLE-TYPE (NAME DEFINITION &OPTIONAL ENV) (LET* ((DEFINITION-WITHOUT-COMMENTS (REMOVE-COMMENTS DEFINITION)) (TYPE (FUNCALL (GET NAME :TYPE-DISCRIMINATOR) DEFINITION-WITHOUT-COMMENTS)) (EXPANDER (GETF (GET NAME :DEFINITION-EXPANDER) TYPE)) (DEFINITION-NAME (FUNCALL (GET NAME :DEFINITION-NAME) DEFINITION-WITHOUT-COMMENTS))) (IL:BQUOTE (PROGN (WITHOUT-FILEPKG (SI::MACRO-FUNCALL (IL:\\\, EXPANDER) (IL:\\\, DEFINITION-WITHOUT-COMMENTS) (IL:\\\, ENV))) (EVAL-WHEN (EVAL) (UNLESS (NULL IL:FILEPKGFLG) (%DEFINE-TYPE-SAVE-DEFN (QUOTE (IL:\\\, DEFINITION-NAME)) (QUOTE (IL:\\\, TYPE)) (QUOTE (IL:\\\, DEFINITION))))) (QUOTE (IL:\\\, DEFINITION-NAME))))))
(DEFMACRO NAMED-PROGN (DEFINER NAME &REST FORMS) (IL:* IL:|;;| "Used by the compiler when processing definers") (IL:BQUOTE (PROGN (IL:\\\,@ FORMS) (QUOTE (IL:\\\, NAME)))))
(IL:* IL:\; "Auxiliary functions")
(DEFUN GET-DEFINER-NAME (DEFINER STRING) (VALUES (INTERN (CONCATENATE (QUOTE STRING) STRING (STRING DEFINER)) (SYMBOL-PACKAGE DEFINER))))
(DEFUN %DELETE-DEFINER (NAME) (AND (SYMBOLP NAME) (LET ((TYPE (OR (GET NAME (QUOTE :DEFINER-FOR)) (GET NAME (QUOTE IL:DEFINER-FOR))))) (IL:/REMPROP NAME (QUOTE :DEFINER-FOR)) (IL:/REMPROP NAME (QUOTE IL:DEFINER-FOR)) (IL:/REMPROP NAME (QUOTE :DEFINITION-NAME)) (IL:/REMPROP NAME (QUOTE IL:DEFINITION-NAME)) (IL:/REMPROP NAME (QUOTE :DEFINITION-EXPANDER)) (WHEN TYPE (IF (GET TYPE (QUOTE :DEFINED-BY)) (IL:/PUTPROP TYPE (QUOTE :DEFINED-BY) (REMOVE NAME (GET TYPE (QUOTE :DEFINED-BY)))) (IL:/PUTPROP TYPE (QUOTE IL:DEFINED-BY) (REMOVE NAME (GET TYPE (QUOTE IL:DEFINED-BY))))) (IL:* IL:|;;| "need to remove the prototype function!") (LET* ((LOOKUP-TYPE (ASSOC TYPE *DEFINITION-PROTOTYPES* :TEST (FUNCTION EQ)))) (IL:/RPLACD LOOKUP-TYPE (REMOVE NAME (CDR LOOKUP-TYPE) :KEY (FUNCTION CAR))))))))
(DEFDEFINER (DEF-DEFINE-TYPE (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEF-DEFINE-TYPE (IL:\\\, NAME) "Description string")))))) IL:DEFINE-TYPES (NAME DESCRIPTION &KEY UNDEFINER &AUX (CHANGELST (INTERN (CONCATENATE (QUOTE STRING) "CHANGED" (STRING NAME) "LST") (SYMBOL-PACKAGE NAME)))) "Define NAME as a new definition type" (IL:* IL:|;;| "This definition is a clean interface to a hokey implementation. It works even before the file package is loaded.") (IL:BQUOTE (PROGN (SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE IL:DEFINE-TYPES)) (QUOTE (IL:\\\, DESCRIPTION))) (PUSHNEW (QUOTE ((IL:\\\, NAME) X (IL:P IL:* (%DEFINE-TYPE-FILE-DEFINITIONS (QUOTE (IL:\\\, NAME)) (QUOTE X))))) IL:PRETTYDEFMACROS :TEST (QUOTE EQUAL)) (IL:* IL:|;;| "the information about a type in the file package is split up into a number of different places. PRETTYTYPELST contains a random amount: the changelist is the variable whose top level value contains the list of changed items, and the description is a string used by files? This is duplicated in the CL:DOCUMENTATION mechanism") (PUSHNEW (QUOTE ((IL:\\\, CHANGELST) (IL:\\\, NAME) (IL:\\\, DESCRIPTION))) IL:PRETTYTYPELST :TEST (QUOTE EQUAL)) (DEFGLOBALVAR (IL:\\\, CHANGELST) NIL) (IL:* IL:|;;| "the definition hash table is where the definitions are really stored. Create an entry for this type. Note that definitions are compared using CL:EQUAL so that names can be strings, lists, etc.") (UNLESS (GETHASH (QUOTE (IL:\\\, NAME)) *DEFINITION-HASH-TABLE*) (SETF (GETHASH (QUOTE (IL:\\\, NAME)) *DEFINITION-HASH-TABLE*) (MAKE-HASH-TABLE :TEST (QUOTE EQUAL) :SIZE 50 :REHASH-SIZE 50))) (PUSHNEW (QUOTE (IL:\\\, NAME)) IL:FILEPKGTYPES) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:GETDEF)) (QUOTE %DEFINE-TYPE-GETDEF)) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:DELDEF)) (QUOTE %DEFINE-TYPE-DELDEF)) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:PUTDEF)) (QUOTE %DEFINE-TYPE-PUTDEF)) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:FILEGETDEF)) (QUOTE %DEFINE-TYPE-FILEGETDEF)) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:FILEPKGCONTENTS)) (QUOTE IL:NILL)) (IL:\\\,@ (WHEN UNDEFINER (IL:BQUOTE ((PUSHNEW (QUOTE (IL:\\\, UNDEFINER)) (GET (QUOTE (IL:\\\, NAME)) (QUOTE :UNDEFINERS))))))))))
(DEFDEFINER (DEFDEFINER (:NAME (LAMBDA (WHOLE) (LET ((NAME (SECOND WHOLE))) (IF (CONSP NAME) (CAR NAME) NAME)))) (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFDEFINER (IL:\\\, NAME) (IL:\\\, (IF (EQ (IL:EDITMODE) (QUOTE IL:SEDIT)) (SYMBOL-VALUE (INTERN "BASIC-GAP" "SEDIT")) "Type")) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))) (:UNDEFINER %DELETE-DEFINER) (:TEMPLATE (:NAME :TYPE :ARG-LIST :BODY))) IL:FUNCTIONS (NAME TYPE ARG-LIST &BODY BODY) (LET* ((OPTIONS (COND ((CONSP NAME) (PROG1 (CDR NAME) (SETQ NAME (CAR NAME)))) (T NIL))) (NAME-FN NIL) (UNDEFINER NIL) (PROTOTYPE-FN NIL) (TEMPLATE NIL) (PRETTYMACRO NIL) (EDITDATE-OFFSET NIL)) (DOLIST (OPT-LIST OPTIONS) (CASE (CAR OPT-LIST) ((:UNDEFINER) (SETQ UNDEFINER (CADR OPT-LIST))) ((:NAME) (SETQ NAME-FN (CADR OPT-LIST))) ((:PROTOTYPE) (SETQ PROTOTYPE-FN (CADR OPT-LIST))) ((:TEMPLATE) (SETQ TEMPLATE (CADR OPT-LIST))) ((:PRETTYPRINTMACRO) (SETQ PRETTYMACRO (CADR OPT-LIST))) ((:EDITDATE-OFFSET) (SETQ EDITDATE-OFFSET (CADR OPT-LIST))) (OTHERWISE (CERROR "Ignore the option" "Unrecognized option to DefDefiner: ~S" OPT-LIST)))) (IL:* IL:|;;| "Crap out now if junk in EDITDATE-OFFSET") (WHEN (AND EDITDATE-OFFSET (NOT (INTEGERP EDITDATE-OFFSET))) (ERROR ":EDITDATE-OFFSET must be an integer, not ~a" EDITDATE-OFFSET)) (MULTIPLE-VALUE-BIND (EXPANSION-FN DOC) (SI::EXPANSION-FUNCTION NAME ARG-LIST BODY) (UNLESS (OR TEMPLATE PRETTYMACRO (NOT (MEMBER (QUOTE &BODY) ARG-LIST))) (IL:* IL:\; "Tell default prettyprinter where the body is") (SETQ TEMPLATE (NCONC (IL:FOR X IL:IN ARG-LIST IL:UNTIL (EQ X (QUOTE &BODY)) IL:UNLESS (MEMBER X LAMBDA-LIST-KEYWORDS) IL:COLLECT NIL) (LIST :BODY))) (WHEN (AND (NULL (CAR TEMPLATE)) (NULL NAME-FN)) (IL:* IL:\; "Name is in default place") (SETF (CAR TEMPLATE) :NAME))) (LET ((EXPANDER-NAME (GET-DEFINER-NAME NAME "definition-expander-")) (NAME-FN-NAME (IF (CONSP NAME-FN) (GET-DEFINER-NAME NAME "name-fn-")))) (IL:BQUOTE (PROGN (EVAL-WHEN (LOAD EVAL ) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINER-FOR)) (QUOTE (IL:\\\, TYPE))) (PUSHNEW (QUOTE (IL:\\\, NAME)) (GET (QUOTE (IL:\\\, TYPE)) (QUOTE :DEFINED-BY))) (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, EXPANDER-NAME))) (FUNCTION (IL:\\\, EXPANSION-FN))) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-EXPANDER)) (QUOTE (IL:\\\, EXPANDER-NAME))) (IL:\\\,@ (IF NAME-FN-NAME (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, NAME-FN-NAME))) (FUNCTION (IL:\\\, NAME-FN))))))) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-NAME)) (QUOTE (IL:\\\, (OR NAME-FN-NAME NAME-FN (QUOTE SECOND))))) (IL:\\\,@ (AND UNDEFINER (LET ((UNDEFINER-FN-NAME (GET-DEFINER-NAME NAME "undefiner-fn-"))) (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, UNDEFINER-FN-NAME))) (FUNCTION (IL:\\\, UNDEFINER))) (PUSHNEW (QUOTE (IL:\\\, UNDEFINER-FN-NAME)) (GET (QUOTE (IL:\\\, NAME)) (QUOTE :UNDEFINERS)))))))) (IL:\\\,@ (AND PROTOTYPE-FN (LET ((PROTOTYPE-FN-NAME (GET-DEFINER-NAME NAME "prototype-fn-"))) (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, PROTOTYPE-FN-NAME))) (FUNCTION (IL:\\\, PROTOTYPE-FN))) (ADD-PROTOTYPE-FN (QUOTE (IL:\\\, TYPE)) (QUOTE (IL:\\\, NAME)) (QUOTE (IL:\\\, PROTOTYPE-FN-NAME)))))))) (IL:\\\,@ (AND DOC (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE FUNCTION)) (IL:\\\, DOC)))))) (IL:\\\,@ (AND TEMPLATE (IL:BQUOTE ((SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-PRINT-TEMPLATE)) (QUOTE (IL:\\\, TEMPLATE))))))) (IL:\\\,@ (AND EDITDATE-OFFSET (IL:BQUOTE ((SETF (GET (QUOTE (IL:\\\, NAME)) :EDITDATE-OFFSET) (IL:\\\, EDITDATE-OFFSET)))))) (PUSHNEW (QUOTE ((IL:\\\, NAME) (IL:\\\,@ (OR PRETTYMACRO (QUOTE PPRINT-DEFINER))))) IL:PRETTYPRINTMACROS :TEST (QUOTE EQUAL))) (DEFMACRO (IL:\\\, NAME) (&WHOLE DEFINITION &ENVIRONMENT ENV) (IL:BQUOTE (DEFINER (IL:\\\, (QUOTE (IL:\\\, TYPE))) (IL:\\\, (QUOTE (IL:\\\, NAME))) (IL:\\\, DEFINITION) (IL:\\\, ENV))))))))))
(DEFDEFINER (DEFDEFINER-VARIABLE-TYPE (:NAME (LAMBDA (WHOLE) (LET ((NAME (SECOND WHOLE))) (IF (CONSP NAME) (CAR NAME) NAME)))) (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFDEFINER-VARIABLE-TYPE (IL:\\\, NAME) (IL:\\\, (IF (EQ (IL:EDITMODE) (INTERN "SEDIT" "SEDIT")) (SYMBOL-VALUE (INTERN "BASIC-GAP" "SEDIT")) "Type")) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))) (:UNDEFINER %DELETE-DEFINER) (:TEMPLATE (:NAME :TYPE :ARG-LIST :BODY))) IL:FUNCTIONS (NAME TYPES ARG-LIST &BODY BODY) (IL:* IL:|;;| "An extension to the DEFDEFINER universe, this allows the creation of definers that map to multiple file-package types. The test case, and the only case guaranteed to work, is DEFUN (which now must accept (DEFUN (SETF FOO)...), which needs to be stored as a SETFS file type).") (LET* ((OPTIONS (COND ((CONSP NAME) (PROG1 (CDR NAME) (SETQ NAME (CAR NAME)))) (T NIL))) (NAME-FN NIL) (UNDEFINERS NIL) (PROTOTYPE-FNS NIL) (TEMPLATE NIL) (PRETTYMACRO NIL) (TYPE-DISCRIMINATOR NIL) (EXPANSION-FNS NIL) (DOCS NIL) (EDITDATE-OFFSET NIL)) (DOLIST (OPT-LIST OPTIONS) (CASE (CAR OPT-LIST) ((:UNDEFINERS) (SETQ UNDEFINERS (CDR OPT-LIST))) ((:NAME) (SETQ NAME-FN (CADR OPT-LIST))) ((:PROTOTYPES) (SETQ PROTOTYPE-FNS (CDR OPT-LIST))) ((:TEMPLATE) (SETQ TEMPLATE (CADR OPT-LIST))) ((:PRETTYPRINTMACRO) (SETQ PRETTYMACRO (CADR OPT-LIST))) ((:TYPE-DISCRIMINATOR) (SETQ TYPE-DISCRIMINATOR (CADR OPT-LIST))) ((:EDITDATE-OFFSET) (SETQ EDITDATE-OFFSET (CADR OPT-LIST))) (OTHERWISE (CERROR "Ignore the option" "Unrecognized option to DefDefiner: ~S" OPT-LIST)))) (UNLESS TYPE-DISCRIMINATOR (ERROR "DEFDEFINER-VARIABLE-TYPE must have a TYPE-DISCRIMINATOR")) (IL:* IL:|;;| "Crap out now if junk in EDITDATE-OFFSET") (WHEN (AND EDITDATE-OFFSET (NOT (INTEGERP EDITDATE-OFFSET))) (ERROR ":EDITDATE-OFFSET must be an integer, not ~a" EDITDATE-OFFSET)) (DOLIST (TYPE TYPES) (MULTIPLE-VALUE-BIND (EXPANSION-FN DOC) (SI::EXPANSION-FUNCTION NAME ARG-LIST (LET ((TB (GETF BODY TYPE))) (IF TB (LIST TB) (ERROR "No expansion-function for ~A" TYPE)))) (SETF (GETF EXPANSION-FNS TYPE) EXPANSION-FN) (WHEN DOC (SETQ DOCS (CONCATENATE (QUOTE STRING) DOCS (OR DOCS "
") (SYMBOL-NAME TYPE) ": " DOC))))) (UNLESS (OR TEMPLATE PRETTYMACRO (NOT (MEMBER (QUOTE &BODY) ARG-LIST))) (IL:* IL:\; "Tell default prettyprinter where the body is") (SETQ TEMPLATE (NCONC (IL:FOR X IL:IN ARG-LIST IL:UNTIL (EQ X (QUOTE &BODY)) IL:UNLESS (MEMBER X LAMBDA-LIST-KEYWORDS) IL:COLLECT NIL) (LIST :BODY))) (WHEN (AND (NULL (CAR TEMPLATE)) (NULL NAME-FN)) (IL:* IL:\; "Name is in default place") (SETF (CAR TEMPLATE) :NAME))) (LET ((NAME-FN-NAME (IF (CONSP NAME-FN) (GET-DEFINER-NAME NAME "name-fn-"))) (TYPE-DISCRIMINATOR-NAME (GET-DEFINER-NAME NAME "type-discriminator-fn-"))) (IL:BQUOTE (PROGN (EVAL-WHEN (LOAD EVAL ) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINER-FOR)) (QUOTE (IL:\\\, TYPES))) (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, TYPE-DISCRIMINATOR-NAME))) (FUNCTION (IL:\\\, TYPE-DISCRIMINATOR))) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :TYPE-DISCRIMINATOR)) (QUOTE (IL:\\\, TYPE-DISCRIMINATOR-NAME))) (IL:\\\,@ (AND PROTOTYPE-FNS (MAPCAN (FUNCTION (LAMBDA (TYPE) (LET ((PROTOTYPE-FN-NAME (GET-DEFINER-NAME NAME (CONCATENATE (QUOTE STRING) (SYMBOL-NAME TYPE) "-prototype-fn-")))) (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, PROTOTYPE-FN-NAME))) (FUNCTION (IL:\\\, (GETF PROTOTYPE-FNS TYPE)))) (ADD-PROTOTYPE-FN (QUOTE (IL:\\\, TYPE)) (QUOTE (IL:\\\, NAME)) (QUOTE (IL:\\\, PROTOTYPE-FN-NAME)))))))) TYPES))) (IL:\\\,@ (AND DOCS (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE FUNCTION)) (IL:\\\, DOCS)))))) (IL:\\\,@ (AND TEMPLATE (IL:BQUOTE ((SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-PRINT-TEMPLATE)) (QUOTE (IL:\\\, TEMPLATE))))))) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-NAME)) (QUOTE (IL:\\\, (OR NAME-FN-NAME NAME-FN (QUOTE SECOND))))) (IL:\\\,@ (MAPCAN (FUNCTION (LAMBDA (TYPE) (LET ((EXPANDER-NAME (GET-DEFINER-NAME NAME (CONCATENATE (QUOTE STRING) (SYMBOL-NAME TYPE) "-definition-expander-"))) (EXPANSION-FN (GETF EXPANSION-FNS TYPE))) (IL:BQUOTE ((PUSHNEW (QUOTE (IL:\\\, NAME)) (GET (QUOTE (IL:\\\, TYPE)) (QUOTE :DEFINED-BY))) (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, EXPANDER-NAME))) (FUNCTION (IL:\\\, EXPANSION-FN))) (SETF (GETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :DEFINITION-EXPANDER)) (QUOTE (IL:\\\, TYPE))) (QUOTE (IL:\\\, EXPANDER-NAME)))))))) TYPES)) (IL:\\\,@ (IF NAME-FN-NAME (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, NAME-FN-NAME))) (FUNCTION (IL:\\\, NAME-FN))))))) (IL:\\\,@ (AND UNDEFINERS (MAPCAN (FUNCTION (LAMBDA (TYPE) (WHEN (GETF UNDEFINERS TYPE) (LET ((UNDEFINER-FN-NAME (GET-DEFINER-NAME NAME (CONCATENATE (QUOTE STRING) (SYMBOL-NAME TYPE) "-undefiner-fn-")))) (IL:BQUOTE ((SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, UNDEFINER-FN-NAME))) (FUNCTION (IL:\\\, (GETF UNDEFINERS TYPE)))) (PUSHNEW (QUOTE (IL:\\\, UNDEFINER-FN-NAME)) (GETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE :UNDEFINERS)) (QUOTE (IL:\\\, TYPE)))))))))) TYPES))) (IL:\\\,@ (AND EDITDATE-OFFSET (IL:BQUOTE ((SETF (GET (QUOTE (IL:\\\, NAME)) :EDITDATE-OFFSET) (IL:\\\, EDITDATE-OFFSET)))))) (PUSHNEW (QUOTE ((IL:\\\, NAME) (IL:\\\,@ (OR PRETTYMACRO (QUOTE PPRINT-DEFINER))))) IL:PRETTYPRINTMACROS :TEST (QUOTE EQUAL))) (DEFMACRO (IL:\\\, NAME) (&WHOLE DEFINITION &ENVIRONMENT ENV) (IL:BQUOTE (DEFINER-VARIABLE-TYPE (IL:\\\, (QUOTE (IL:\\\, NAME))) (IL:\\\, DEFINITION) (IL:\\\, ENV)))))))))
(DEFUN %EXPAND-DEFINER (DEFINER DEFINITION-WITHOUT-COMMENTS &OPTIONAL ENV) (FUNCALL (GET DEFINER :DEFINITION-EXPANDER) DEFINITION-WITHOUT-COMMENTS ENV))
(DEFUN %DEFINER-NAME (DEFINER DEFINITION-WITHOUT-COMMENTS) (FUNCALL (GET DEFINER :DEFINITION-NAME) DEFINITION-WITHOUT-COMMENTS))
(IL:* IL:\; "The most commonly-used definers")
(DEFDEFINER-VARIABLE-TYPE (DEFUN (:TYPE-DISCRIMINATOR (LAMBDA (WHOLE) (LET ((NAME (SECOND WHOLE))) (COND ((SYMBOLP NAME) (QUOTE IL:FUNCTIONS)) ((CL::SETF-NAME-P NAME) (QUOTE IL:SETFS)) (T (ERROR "Can't determine type for DEFUN: ~s" NAME)))))) (:NAME (LAMBDA (WHOLE) (LET ((NAME (SECOND WHOLE))) (COND ((SYMBOLP NAME) NAME) ((CL::SETF-NAME-P NAME) (CADR NAME)) (T (ERROR "Bad function-name for DEFUN: ~s" NAME)))))) (:PROTOTYPES IL:FUNCTIONS (LAMBDA (NAME) (IL:BQUOTE (DEFUN (IL:\\\, NAME) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))) IL:SETFS (LAMBDA (NAME) (IL:BQUOTE (DEFUN (SETF (IL:\\\, NAME)) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE)))))) (:TEMPLATE (:NAME :ARG-LIST :BODY)) (:EDITDATE-OFFSET 3)) (IL:FUNCTIONS IL:SETFS) (NAME ARGS &BODY (BODY DECLS DOCUMENTATION) &ENVIRONMENT ENV) IL:FUNCTIONS (IL:BQUOTE (PROGN (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, NAME))) (FUNCTION (LAMBDA (IL:\\\, ARGS) (IL:\\\,@ DECLS) (BLOCK (IL:\\\, NAME) (IL:\\\,@ BODY))))) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE FUNCTION)) (IL:\\\, DOCUMENTATION)))))))) IL:SETFS (IL:* IL:|;;| "The form is (defun (setf foo) (store-var &rest args) body)") (IL:* IL:|;;| "Strategy is to give the code a name with DEFUN-SETF-NAME. The name is stored on the :SETF-DEFUN property of the accessor. This name is there for convenience/documentation only; the name can't be reliably changed by smashing this property (i.e. (SETF (FDEFINITION '(SETF FOO)) #'BAR) essentially does (SETF (SYMBOL-FUNCTION (DEFUN-SETF-NAME 'FOO)) #'BAR); it does NOT change the :SETF-DEFUN property on FOO).") (LET* ((REAL-NAME (SECOND NAME)) (DEFUN-SETF-NAME (DEFUN-SETF-NAME REAL-NAME))) (IL:BQUOTE (PROGN (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, DEFUN-SETF-NAME))) (FUNCTION (LAMBDA (IL:\\\, ARGS) (IL:\\\,@ DECLS) (BLOCK (IL:\\\, REAL-NAME) (IL:\\\,@ BODY))))) (SET-DEFUN-SETF (QUOTE (IL:\\\, REAL-NAME)) (QUOTE (IL:\\\, DEFUN-SETF-NAME))) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, REAL-NAME)) (QUOTE SETF)) (IL:\\\, DOCUMENTATION))))))))))
(DEFDEFINER (DEFINLINE (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFINLINE (IL:\\\, NAME) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))) (:TEMPLATE (:NAME :ARG-LIST :BODY))) IL:FUNCTIONS (NAME ARG-LIST &BODY BODY &ENVIRONMENT ENV) (IL:* IL:|;;;| "This is an INTERIM version of DEFINLINE. Eventually, this will just turn into a DEFUN and a PROCLAIM INLINE. (It says so right here.) If you're using this one, DO NOT make any recursive calls in the body of the DEFINLINE. If you do, the compiler will run forever trying to expand the optimizer... Once the INLINE version gets working (in the PavCompiler only) that restriction will be lifted.") (MULTIPLE-VALUE-BIND (CODE DECLS DOC) (PARSE-BODY BODY ENV T) (LET ((NEW-LAMBDA (IL:BQUOTE ((IL:\\\, (QUOTE LAMBDA)) (IL:\\\, ARG-LIST) (IL:\\\,@ DECLS) (BLOCK (IL:\\\, NAME) (IL:\\\,@ CODE)))))) (IL:BQUOTE (PROGN (DEFUN (IL:\\\, NAME) (IL:\\\, ARG-LIST) (IL:\\\,@ BODY)) (DEFOPTIMIZER (IL:\\\, NAME) (IL:\\\, (PACK (LIST "definline-" NAME) (SYMBOL-PACKAGE NAME))) (&REST ARGS) (CONS (QUOTE (IL:\\\, NEW-LAMBDA)) ARGS)))))))
(DEFDEFINER (DEFMACRO (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFMACRO (IL:\\\, NAME) (IL:\\\,@ (%MAKE-FUNCTION-PROTOTYPE))))))) (:UNDEFINER (LAMBDA (NAME) (REMPROP NAME (QUOTE IL:ARGNAMES)))) (:TEMPLATE (:NAME :ARG-LIST :BODY))) IL:FUNCTIONS (NAME DEFMACRO-ARGS &BODY DEFMACRO-BODY) (UNLESS (AND NAME (SYMBOLP NAME)) (ERROR "Illegal name used in DEFMACRO: ~S" NAME)) (LET ((CMACRONAME (PACK (LIST "expand-" NAME) (SYMBOL-PACKAGE NAME)))) (MULTIPLE-VALUE-BIND (EXPANSION-FN DOC-STRING) (SI::EXPANSION-FUNCTION NAME DEFMACRO-ARGS DEFMACRO-BODY) (IL:BQUOTE (PROGN (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, CMACRONAME))) (FUNCTION (IL:\\\, EXPANSION-FN))) (SETF (MACRO-FUNCTION (QUOTE (IL:\\\, NAME))) (QUOTE (IL:\\\, CMACRONAME))) (IL:\\\,@ (AND DOC-STRING (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE FUNCTION)) (IL:\\\, DOC-STRING)))))) (IL:\\\,@ (WHEN COMPILER::*NEW-COMPILER-IS-EXPANDING* (IL:BQUOTE ((SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:ARGNAMES)) (QUOTE (IL:\\\, (MAPCAR (FUNCTION (LAMBDA (ARG) (IF (MEMBER ARG LAMBDA-LIST-KEYWORDS) ARG (PRIN1-TO-STRING ARG)))) (IL:\\SIMPLIFY.CL.ARGLIST DEFMACRO-ARGS))))))))))))))
(DEFDEFINER (DEFVAR (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFVAR (IL:\\\, NAME))))))) IL:VARIABLES (NAME &OPTIONAL (INITIAL-VALUE NIL IVP) DOCUMENTATION) (IL:BQUOTE (PROGN (PROCLAIM (QUOTE (SPECIAL (IL:\\\, NAME)))) (IL:\\\,@ (AND IVP (IL:BQUOTE ((OR (BOUNDP (QUOTE (IL:\\\, NAME))) (SETQ (IL:\\\, NAME) (IL:\\\, INITIAL-VALUE))))))) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE VARIABLE)) (IL:\\\, DOCUMENTATION)))))))))
(DEFDEFINER (DEFPARAMETER (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFPARAMETER (IL:\\\, NAME) "Value" "Documentation string")))))) IL:VARIABLES (NAME INITIAL-VALUE &OPTIONAL DOCUMENTATION) (IL:BQUOTE (PROGN (PROCLAIM (QUOTE (SPECIAL (IL:\\\, NAME)))) (SETQ (IL:\\\, NAME) (IL:\\\, INITIAL-VALUE)) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE VARIABLE)) (IL:\\\, DOCUMENTATION)))))))))
(DEFDEFINER (DEFCONSTANT (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFCONSTANT (IL:\\\, NAME) "Value" "Documentation string")))))) IL:VARIABLES (NAME VALUE &OPTIONAL DOCUMENTATION) (IL:BQUOTE (PROGN (IL:\\\,@ (IF (CONSTANTP NAME) (IL:BQUOTE ((SET-CONSTANTP (QUOTE (IL:\\\, NAME)) NIL))))) (SETQ (IL:\\\, NAME) (IL:\\\, VALUE)) (PROCLAIM (QUOTE (SI::CONSTANT (IL:\\\, NAME)))) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE VARIABLE)) (IL:\\\, DOCUMENTATION)))))))))
(DEFDEFINER (DEFGLOBALVAR (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFGLOBALVAR (IL:\\\, NAME))))))) IL:VARIABLES (NAME &OPTIONAL (INITIAL-VALUE NIL IVP) DOCUMENTATION) (IL:* IL:|;;| "Use IL:SETQ here or the INIT dies.") (IL:BQUOTE (PROGN (PROCLAIM (QUOTE (GLOBAL (IL:\\\, NAME)))) (IL:\\\,@ (AND IVP (IL:BQUOTE ((OR (BOUNDP (QUOTE (IL:\\\, NAME))) (SETQ (IL:\\\, NAME) (IL:\\\, INITIAL-VALUE))))))) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE VARIABLE)) (IL:\\\, DOCUMENTATION)))))))))
(DEFDEFINER (DEFGLOBALPARAMETER (:PROTOTYPE (LAMBDA (NAME) (AND (SYMBOLP NAME) (IL:BQUOTE (DEFGLOBALPARAMETER (IL:\\\, NAME) "Value" "Documentation string")))))) IL:VARIABLES (NAME INITIAL-VALUE &OPTIONAL DOCUMENTATION) (IL:BQUOTE (PROGN (PROCLAIM (QUOTE (GLOBAL (IL:\\\, NAME)))) (SETQ (IL:\\\, NAME) (IL:\\\, INITIAL-VALUE)) (IL:\\\,@ (AND DOCUMENTATION (IL:BQUOTE ((SETF (DOCUMENTATION (QUOTE (IL:\\\, NAME)) (QUOTE VARIABLE)) (IL:\\\, DOCUMENTATION)))))))))
(IL:* IL:\; "Here so that the evaluator can be in the init without definers being in the init.")
(DEF-DEFINE-TYPE IL:SPECIAL-FORMS "Common Lisp special forms" :UNDEFINER %REMOVE-SPECIAL-FORM)
(DEFUN %REMOVE-SPECIAL-FORM (X) (IL:/REMPROP X (QUOTE IL:SPECIAL-FORM)))
(DEFDEFINER (DEFINE-SPECIAL-FORM (:TEMPLATE (:NAME :ARG-LIST :BODY))) IL:SPECIAL-FORMS (NAME ARGS &REST BODY) (COND ((NULL BODY) (ASSERT (SYMBOLP NAME) NIL "Ill-formed short DEFINE-SPECIAL-FORM; ~S is not a symbol." ARGS) (IL:BQUOTE (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:SPECIAL-FORM)) (QUOTE (IL:\\\, ARGS))))) (T (LET ((SF (INTERN (CONCATENATE (QUOTE STRING) "interpret-" (STRING NAME)) (SYMBOL-PACKAGE NAME)))) (MULTIPLE-VALUE-BIND (PARSED-BODY DECLS DOC) (IL:PARSE-DEFMACRO ARGS (QUOTE $$TAIL) BODY NAME NIL :PATH (QUOTE $$TAIL) :ENVIRONMENT (QUOTE $$ENV)) (IL:BQUOTE (PROGN (SETF (SYMBOL-FUNCTION (QUOTE (IL:\\\, SF))) (FUNCTION (LAMBDA ($$TAIL $$ENV) (IL:\\\,@ DECLS) (BLOCK (IL:\\\, NAME) (IL:\\\, PARSED-BODY))))) (SETF (GET (QUOTE (IL:\\\, NAME)) (QUOTE IL:SPECIAL-FORM)) (QUOTE (IL:\\\, SF))))))))))
(IL:* IL:\; "Form for defining interpreters of special forms")
(IL:* IL:\; "Don't note changes to these properties/variables")
(IL:PUTPROPS IL:MACRO-FN IL:PROPTYPE IL:FUNCTIONS)
(IL:PUTPROPS :UNDEFINERS IL:PROPTYPE IGNORE)
(IL:PUTPROPS IL:UNDEFINERS IL:PROPTYPE IGNORE)
(IL:PUTPROPS :DEFINER-FOR IL:PROPTYPE IGNORE)
(IL:PUTPROPS IL:DEFINER-FOR IL:PROPTYPE IGNORE)
(IL:PUTPROPS :DEFINED-BY IL:PROPTYPE IGNORE)
(IL:PUTPROPS IL:DEFINED-BY IL:PROPTYPE IGNORE)
(IL:PUTPROPS :DEFINITION-NAME IL:PROPTYPE IGNORE)
(IL:PUTPROPS IL:DEFINITION-NAME IL:PROPTYPE IGNORE)
(IL:* IL:\;
"Templates for definers not defined here. These should really be where they're defined.")
(IL:PUTPROPS DEFCOMMAND :DEFINITION-PRINT-TEMPLATE (:NAME :ARG-LIST :BODY))
(IL:PUTPROPS DEFINE-CONDITION :DEFINITION-PRINT-TEMPLATE (:NAME :VALUE :BODY))
(IL:PUTPROPS DEFINE-MODIFY-MACRO :DEFINITION-PRINT-TEMPLATE (:NAME :ARG-LIST))
(IL:PUTPROPS DEFINE-SETF-METHOD :DEFINITION-PRINT-TEMPLATE (:NAME NIL NIL :BODY))
(IL:PUTPROPS DEFSETF :DEFINITION-PRINT-TEMPLATE (:NAME :ARG-LIST :ARG-LIST :BODY))
(IL:PUTPROPS DEFSTRUCT :DEFINITION-PRINT-TEMPLATE (:NAME :BODY))
(IL:PUTPROPS DEFTYPE :DEFINITION-PRINT-TEMPLATE (:NAME NIL :BODY))
(IL:* IL:|;;| "Arrange for the correct compiler to be used.")
(IL:PUTPROPS IL:CMLDEFFER IL:FILETYPE :COMPILE-FILE)
(IL:PUTPROPS IL:CMLDEFFER IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE "XCL"))
(IL:PUTPROPS IL:CMLDEFFER IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1900 1987 1988 1990 1992))
(IL:DECLARE\: IL:DONTCOPY
(IL:FILEMAP (NIL)))
IL:STOP

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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,24 +0,0 @@
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y build-essential clang libx11-dev
COPY maiko /build/
WORKDIR /build/bin
RUN rm -rf /build/linux*
RUN ./makeright x
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
EXPOSE 5900
RUN apt-get update && apt-get install -y tightvncserver
RUN mkdir /app
WORKDIR /app
COPY basics ./
COPY --from=0 /build/linux.x86_64/* ./
RUN adduser --disabled-password --gecos "" medley
USER medley
ENTRYPOINT USER=medley Xvnc -geometry 1270x720 :0 & DISPLAY=:0 /app/ldex -g 1280x720 full.sysout

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

125
README.md
View File

@@ -1,48 +1,77 @@
# Medley
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.
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.
This repository is for the Lisp environment of [Medley Interlisp](https://Interlisp.org).
[Using Medley](https://interlisp.org/software/using-medley/) has an overview and pointers to documentation.
We've made great process in sorting out what we have (some dusty corners notwithstanding), but there's quite a bit more work to do. Please report problems!
The [Glossary](https://interlisp.org/history/glossary) defines system-specific terms such as "loadup" and "sysout".
See [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview, and other pointers.
## Releases
A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine.
While there are installers for popular platforms, this section may be useful in some circumstances.
### Getting releases
## Instructions for Building and Running
Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). You'll need the .tgz file corresponding to your operating system and processor. For Windows with WSL or Intel Linux, use `linux.x86_64`; for Macs use `darwin.x86_64` for Intel and `darwin.aarch64` for Mac silicon. Windows without WSL uses `cygwin` instead.
Or, build your own maiko (the binaries `lde`, `ldex` OR `ldesdl`, and `ldeinit`).
You can also build for other architectures
The medley release image and sources come in two parts, found [here](https://github.com/Interlisp/medley/releases)
1. The "loadups" (download `medley-`_YYMMDD-XXXXX_`-loadups.tgz`)
2. The "runtime" (download `medley-`_YYMMDD-XXXXX_`-runtime.tgz`)
where _YYMMDD_ is the date and _XXXXX_ is the GitHub commit ID.
The "runtime" isn't needed if you've cloned the (medley) repo--you have all the files. The "runtime" has extra fonts, unicode tables, and source code that aren't part of the loadups but may be called on.
### Unpacking releases
From a shell/terminal window:
1. Choose a directory _parent_ where you want to install medley and maiko.
2. Unpack the medley loadups file
* `cd ` _parent_
* `tar xvzf medley-`_YYMMDD-XXXXX_`-loadups.tgz`
3. Unpack the medley runtime OR clone the Medley repo
(the "medley runtime" is just a subset of the whole repo)
* `tar xvzf medley-`YYMMDD`-runtime.tgz`
OR
```
git clone https://github.com/Interlisp/medley
```
4. Unpack the maiko file for your operating system and CPU type, e.g.,
```
tar xvzf maiko-210823.linux.x86_64.tgz
```
5. This should leave you with two directories, `medley` and `maiko`.
### Setting up X
Medley Interlisp needs an X-Server to manage its display. Most Linux desktops have one. There are a number of free open source X-servers for windows. Mac users should head over to [XQuartz.org](https://xquartz.org/releases) -- be sure to pick a version if you have a newer Mac.
In many configurations, Medley uses an X-Server to manage its display. Most Linux desktops have one. Windows 11 with WSL includes an X-Server. For Windows 10 with WSL2, there are a number of open-source X servers; for example vcxsrv.
If you have a high-resolution display, note that much of the graphics was designed for a low-resolution display, so an X-server that does "pixel doublilng" is best. (E.g., Raspberry Pi does pixel doubling on 4K displays.) It also presumes you have a 3-button mouse; the scroll-wheel on some mice act as one with some difficulty.) XQuartz Preferences/Input has "Emulate three button mouse" option.
Mac users should get [XQuartz from XQuartz.org](https://xquartz.org/releases).
Medley manages the display entirely, doesn't use X fonts and manages it's own window system.
If you have a high-resolution display, note that much of the graphics was designed for a low-resolution display, so an X-server that does "pixel doubling" is best. (E.g., Raspberry Pi does pixel doubling on 4K displays.)
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
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>
```
Once the system comes up, give it a few seconds to initialize.
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
@@ -56,40 +85,40 @@ Or from the Common Lisp prompt with:
```
(IL:LOGOUT)
```
When you logout of the system, Medley automatically creates a binary
When you log out of the system, Medley automatically creates a binary
dump of your system located in your home directory named
`lisp.virtualmem`. The next time you run the system, if you don't
specify a specific image to run, Medley restores that image so that
you can continue right where you left off.
* [Using Medley Interlisp](https://github.com/Interlisp/medley/wiki/Using-Medley-Interlisp)
* [Using Medley Interlisp](https://interlisp.org/doc/info/Using.html)
## Naming conventions and directory structure
File Names and Extensions: Most Interlisp source file names are
UPPERCASE and Interlisp didn't use file extensions for its source
files. A .TEDIT or .TXT file is probably documentation
for the package of same name, at least in the library,
internal/library, lispusers.
for the package of the same name, at least in the library and lispusers
directories.
The current repo has both Lisp sources and compiled .LCOM and .DFASL
files, because some files don't compile in a vanilla lisp.sysout .
files.
Each directory should have a README.md, but briefly
- docs -- Documentation files (either 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; now internal/library and internal/test
- library -- packages that were supported (30 years ago)
- lispusers -- packages that were only half supported (ditto)
- loadups -- has sysouts and other builds
- patches -- for cases where reloading doesn't wor
- scripts -- some scripts for fixing up things
- sunloadup -- support information for making a new lisp.sysout from scratch
- sources -- sources for Interlisp and Common Lisp implementations
- unicode -- data files for support of XCCS to and from Unicode mappings
plus
Dockerfile, and scripts for building and running medley
* 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
* 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
* library -- packages that were supported (30 years ago)
* lispusers -- User contributed packages that were only half supported (ditto)
* loadups -- has sysouts and other builds plus a few remnants
* obsolete -- files we should remove from the repo
* rooms -- implementation of ROOMS window/desktop manager
* run-medley -- script to enhance the options of running medley
* scripts -- some scripts for fixing up things, building and running medley
* sources -- sources for Interlisp and Common Lisp implementations
* unicode -- data files for support of XCCS to and from Unicode mappings

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -1505,7 +1505,7 @@ window"
(setf (sedit:get-format 'call-next-method)
'(:indent (1) :args (:keyword nil)))
(setf (sedit:get-format 'symbol-macrolet) 'let)
(setf (sedit:get-format 'cl:symbol-macrolet) 'let)
(setf (sedit:get-format 'with-accessors)
'(:indent ((1) 1)

Binary file not shown.

View File

@@ -1,16 +1,12 @@
;;;-*- Package: CLOS; Syntax: Common-Lisp; Base: 10 -*-
;;; File converted on 26-Mar-91 10:23:29 from source pkg
;;;. Original source {dsk}<usr>local>users>welch>lisp>clos>rev4>il-format>pkg.;4 created 1-Mar-91 10:10:26
;;;. Copyright (c) 1991 by Venue
(in-package "CLOS")
;;; Some CommonLisps have more symbols in the Lisp package than the ones that are explicitly
;;; specified in CLtL. This causes trouble. Any Lisp that has extra symbols in the Lisp package
;;; should shadow those symbols in the CLOS package.
@@ -31,7 +27,7 @@
no-applicable-method no-next-method print-object reinitialize-instance remove-method
shared-initialize slot-boundp slot-exists-p slot-makunbound slot-missing slot-unbound
slot-value standard standard-class standard-generic-function standard-method
standard-object structure-class symbol-macrolet update-instance-for-different-class
standard-object structure-class update-instance-for-different-class
update-instance-for-redefined-class with-accessors with-added-methods with-slots))
(import '(xcl:false xcl:destructuring-bind xcl:true) *the-clos-package*)

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
(ASDF NIL NIL NIL ("1") 1)
(ASDF NIL NIL NIL ("A") 2)

Binary file not shown.

10
docs/README.md Normal file
View File

@@ -0,0 +1,10 @@
See [Using Medley](https://interlisp.org/software/using-medley)
for a list of available documentation. Much of the documentation still
needs review and updating.
This directory has source (.TEDIT) for some documents that are found elsewhere.
* dinfo -- files for HelpSys man command Interlisp Reference Manual

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,267 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 555
>>
stream
BT
/TT2 1 Tf
10 0 0 10 548 15 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(xv)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
54.01 27.5 m
558.01 27.5 l
S
BT
10 0 0 10 54 17.21 Tm
(LISP RELEASE NOTES, MEDLEY RELEASE, LIST OF TABLES )Tj
/TT4 1 Tf
18 0 0 18 411.97 752.97 Tm
(LIST OF TABLES )Tj
ET
6 w
258.01 745.99 m
558.01 745.99 l
S
BT
10 0 0 10 54 666.2 Tm
(Table )Tj
48.01 0 TD
(Page)Tj
ET
1 w
54.01 663.43 m
558.01 663.43 l
S
BT
/TT2 1 Tf
10 0 0 10 54 635.14 Tm
[(1. TEdits Abbreviations and their Expanded Characters )-23497(6-1)]TJ
ET
54.01 632.43 m
558.01 632.43 l
S
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
>>
/ExtGState <<
/GS1 6 0 R
>>
>>
endobj
9 0 obj
<<
/Length 360
>>
stream
BT
/TT2 1 Tf
10 0 0 10 54 15 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(xvi)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
54.01 27.5 m
558.01 27.5 l
S
BT
10 0 0 10 264.55 17.21 Tm
(LISP RELEASE NOTES, MEDLEY RELEASE, LIST OF TABLES )Tj
-21.055 74.479 TD
(LIST OF TABLES )Tj
ET
54.01 759.29 m
558.01 759.29 l
S
BT
10 0 0 10 228 494.21 Tm
([This page intentionally left blank])Tj
ET
endstream
endobj
10 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 6 0 R
>>
>>
endobj
6 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
11 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 32
/FontBBox [-166 -225 1000 931]
/FontName /Helvetica
/ItalicAngle 0
/StemV 88
/XHeight 523
/StemH 88
>>
endobj
12 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 146
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 278 333 278 0
0 556 0 0 0 0 556 0 0 0 0 0 0 0 0 0
0 667 667 722 722 667 611 0 0 278 0 0 556 833 722 778
667 0 722 667 611 0 0 0 0 667 0 278 0 278 0 0
0 556 556 500 556 556 278 556 556 222 0 500 222 0 556 556
556 0 333 500 278 0 500 0 500 500 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 222 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica
/FontDescriptor 11 0 R
>>
endobj
5 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 108
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 722 722 0 0 667 611 0 0 278 0 0 611 0 0 778
667 0 0 667 611 0 0 0 0 0 0 0 0 0 0 0
0 556 611 0 0 556 0 611 0 0 0 0 278 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 12 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 7 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
8 0 obj
<<
/Type /Page
/Parent 7 0 R
/Resources 10 0 R
/Contents 9 0 R
>>
endobj
13 0 obj
<<
/S /D
>>
endobj
14 0 obj
<<
/Nums [0 13 0 R ]
>>
endobj
7 0 obj
<<
/Type /Pages
/Kids [1 0 R 8 0 R]
/Count 2
/MediaBox [0 0 612 792]
>>
endobj
15 0 obj
<<
/CreationDate (D:20210119174402-06'00')
/ModDate (D:20210119174402-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
16 0 obj
<<
/Type /Catalog
/Pages 7 0 R
/PageLabels 14 0 R
>>
endobj
xref
0 17
0000000000 65535 f
0000002622 00000 n
0000000016 00000 n
0000000622 00000 n
0000001776 00000 n
0000002265 00000 n
0000001235 00000 n
0000002851 00000 n
0000002702 00000 n
0000000728 00000 n
0000001139 00000 n
0000001375 00000 n
0000001570 00000 n
0000002783 00000 n
0000002811 00000 n
0000002938 00000 n
0000003070 00000 n
trailer
<<
/Size 17
/Root 16 0 R
/Info 15 0 R
/ID [<ca10df19395abe4a04bf8921d65b5135><ca10df19395abe4a04bf8921d65b5135>]
>>
startxref
3139
%%EOF

BIN
docs/ReleaseNote/LOT.tedit Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,346 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 1582
>>
stream
BT
/TT2 1 Tf
14 0 0 14 211.88 709.08 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(PRINTING SPECIFICATIONS)Tj
-3.7521 -2 TD
(LISP RELEASE NOTES, MEDLEY RELEASE )Tj
9.3914 -1 TD
(AND)Tj
-10.0293 -1 TD
(LISP LIBRARY MODULES, MEDLEY RELEASE)Tj
11.1129 -1 TD
( )Tj
/TT4 1 Tf
12 0 0 12 72 610.64 Tm
(Special Instructions: )Tj
/TT6 1 Tf
10.3911 0 TD
(>>3-hole punch \(error tolerances: + or - 1/16 inch\)<<)Tj
ET
0 G
0 J 0 j 0.75 w 10 M []0 d
1 i
72 585.99 m
72 585.99 l
S
BT
/TT2 1 Tf
14 0 0 14 72 575.08 Tm
(PRINTING)Tj
ET
72 571.99 m
138.89 571.99 l
S
BT
/TT4 1 Tf
12 0 0 12 72 554.64 Tm
(Printing Method: >>)Tj
/TT6 1 Tf
9.6665 0 TD
(offset)Tj
/TT4 1 Tf
2.4458 0 TD
(<<)Tj
-12.1123 -2 TD
(Paper Weight: )Tj
/TT6 1 Tf
7.0005 0 TD
(>>60 lb. )Tj
/TT4 1 Tf
3.8921 0 TD
(<<)Tj
-10.8926 -2 TD
(Paper Type \(Finish\):)Tj
/TT6 1 Tf
12 0 TD
(>> Matte<<)Tj
/TT4 1 Tf
-12 -2 TD
(Paper Color: )Tj
/TT6 1 Tf
9 0 TD
(>>White<<)Tj
/TT4 1 Tf
-9 -2 TD
(Paper Texture: )Tj
/TT6 1 Tf
9 0 TD
(>>Smooth<<)Tj
/TT4 1 Tf
-9 -2 TD
(Paper Opacity: )Tj
/TT6 1 Tf
9 0 TD
(92 \(no show through\))Tj
/TT4 1 Tf
-9 -2 TD
(Paper Size: )Tj
/TT6 1 Tf
5.6689 0 TD
(>>8-1/2 X 11<<)Tj
/TT4 1 Tf
-5.6689 -2 TD
(Exceptions \(e.g., oversize diagrams\): )Tj
/TT6 1 Tf
18.1724 0 TD
(>>none)Tj
/TT4 1 Tf
3.3926 0 TD
(<<)Tj
/TT8 1 Tf
8 0 0 8 72 378.79 Tm
( )Tj
/TT4 1 Tf
12 0 0 12 72 366.64 Tm
(Special Instructions: )Tj
/TT6 1 Tf
10.3911 0 TD
(>><<)Tj
/TT4 1 Tf
-10.3911 -2 TD
(Number of Pages:)Tj
/TT6 1 Tf
8.5571 0 TD
( >><<)Tj
/TT4 1 Tf
-8.5571 -2 TD
( )Tj
/TT2 1 Tf
14 0 0 14 72 305.08 Tm
(PAPER )Tj
ET
72 301.99 m
128.02 301.99 l
S
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
/TT8 7 0 R
>>
/ExtGState <<
/GS1 8 0 R
>>
>>
endobj
8 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
10 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
11 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262240
/FontBBox [-174 -228 1114 962]
/FontName /Helvetica-BoldOblique
/ItalicAngle -15
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
12 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 32
/FontBBox [-166 -225 1000 931]
/FontName /Helvetica
/ItalicAngle 0
/StemV 88
/XHeight 523
/StemH 88
>>
endobj
13 0 obj
<<
/Type /FontDescriptor
/Ascent 753
/CapHeight 562
/Descent -246
/Flags 35
/FontBBox [-28 -250 628 805]
/FontName /Courier
/ItalicAngle 0
/StemV 51
/XHeight 426
/StemH 51
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 89
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 722 722 722 722 667 611 778 0 278 0 0 611 833 722 778
667 0 722 667 611 722 0 0 0 667 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 10 0 R
>>
endobj
5 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 122
/Widths [278 0 0 0 0 0 0 0 333 333 0 0 278 0 278 0
0 0 0 0 0 0 0 0 0 0 333 0 584 0 584 0
0 0 0 722 0 667 611 0 0 278 0 0 0 833 722 778
667 0 0 667 611 0 0 944 0 0 0 0 0 0 0 0
0 556 611 556 611 556 333 611 611 278 0 0 278 889 611 611
611 0 389 556 333 611 556 0 556 556 500 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-BoldOblique
/FontDescriptor 11 0 R
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 119
/Widths [278 0 0 0 0 0 0 0 333 333 0 584 0 333 278 278
556 556 556 556 0 0 556 0 556 556 278 0 584 0 584 0
0 0 0 0 0 0 0 0 0 0 0 0 0 833 0 0
0 0 0 667 0 0 0 944 667 0 0 0 0 0 0 0
0 556 556 500 0 556 278 556 556 222 0 0 222 833 556 556
556 0 333 500 278 556 0 722 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica
/FontDescriptor 12 0 R
>>
endobj
7 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 32
/Widths [600 ]
/Encoding /WinAnsiEncoding
/BaseFont /Courier
/FontDescriptor 13 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 9 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
14 0 obj
<<
/S /D
>>
endobj
15 0 obj
<<
/Nums [0 14 0 R ]
>>
endobj
9 0 obj
<<
/Type /Pages
/Kids [1 0 R]
/Count 1
/MediaBox [0 0 612 792]
>>
endobj
16 0 obj
<<
/CreationDate (D:20210119174402-06'00')
/ModDate (D:20210119174402-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
17 0 obj
<<
/Type /Catalog
/Pages 9 0 R
/PageLabels 15 0 R
>>
endobj
xref
0 18
0000000000 65535 f
0000004077 00000 n
0000000016 00000 n
0000001650 00000 n
0000002725 00000 n
0000003050 00000 n
0000003493 00000 n
0000003914 00000 n
0000001778 00000 n
0000004225 00000 n
0000001918 00000 n
0000002124 00000 n
0000002339 00000 n
0000002534 00000 n
0000004157 00000 n
0000004185 00000 n
0000004306 00000 n
0000004438 00000 n
trailer
<<
/Size 18
/Root 17 0 R
/Info 16 0 R
/ID [<c00d46236d153a63764cc2b5438c7853><c00d46236d153a63764cc2b5438c7853>]
>>
startxref
4507
%%EOF

Binary file not shown.

View File

@@ -1,739 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 5511
>>
stream
BT
/TT2 1 Tf
10 0 0 10 543.55 15 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(1-1)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
54.01 27.5 m
558.01 27.5 l
S
BT
10 0 0 10 54 17.21 Tm
(LISP RELEASE NOTES, MEDLEY RELEASE, INTRODUCTION)Tj
/TT4 1 Tf
18 0 0 18 258 762.97 Tm
[(1.)-8166(INTRODUCTION)]TJ
ET
6 w
258.01 755.99 m
558.01 755.99 l
S
BT
/TT2 1 Tf
10 0 0 10 258 718.2 Tm
(The)Tj
/TT6 1 Tf
1.7231 0 TD
0.177 Tw
[( Lisp Release Notes)]TJ
/TT2 1 Tf
9.4802 0 TD
[( contain information from both the Lyric)]TJ
ET
570 732.98 0.99 -18.99 re
f
BT
10 0 0 10 258 706.2 Tm
0.104 Tw
[(and Medley releases, including descriptions of all Lyric bug fixes.)]TJ
ET
570 713.98 0.99 -11.99 re
f
BT
10 0 0 10 258 694.2 Tm
0.327 Tw
[(Medley additions are indicated with revision bars in the right)]TJ
ET
570 701.98 0.99 -11.99 re
f
BT
10 0 0 10 258 682.2 Tm
0 Tw
(margin. )Tj
ET
570 689.98 0.99 -11.99 re
f
2 w
54.01 626.99 m
558.01 626.99 l
S
570 677.98 0.99 -51.99 re
f
BT
/TT4 1 Tf
14 0 0 14 54 615.08 Tm
(Summary of Medley Changes )Tj
ET
570 625.98 0.99 -13.99 re
f
1 w
54.01 611.49 m
558.01 611.49 l
S
570 611.98 0.99 -0.99 re
f
BT
/TT2 1 Tf
10 0 0 10 258 579.2 Tm
0.093 Tw
[(The Medley release is currently provided on two platforms, Xerox)]TJ
ET
570 610.98 0.99 -35.99 re
f
BT
10 0 0 10 258 567.2 Tm
0.641 Tw
[(1100 series workstations using Medley 1.0, and Sun 3)]TJ
ET
570 574.98 0.99 -11.99 re
f
BT
10 0 0 10 258 555.2 Tm
0.1098 Tw
[(workstations using Medley 1.0-S. Medley 1.0 and Medley 1.0-S)]TJ
ET
570 562.98 0.99 -11.99 re
f
BT
10 0 0 10 258 543.2 Tm
0.029 Tw
(are compatible with each other and will let you develop software on)Tj
ET
570 550.98 0.99 -11.99 re
f
BT
10 0 0 10 258 531.2 Tm
0.419 Tw
[(either platform. Source and compiled files are transferable)]TJ
ET
570 538.98 0.99 -11.99 re
f
BT
10 0 0 10 258 519.2 Tm
0.596 Tw
[(between the two platforms. Sysouts developed on Xerox)]TJ
ET
570 526.98 0.99 -11.99 re
f
BT
10 0 0 10 258 507.2 Tm
0.062 Tw
[(workstations can also be run on the Sun 3. Sysouts made on the)]TJ
ET
570 514.98 0.99 -11.99 re
f
BT
10 0 0 10 258 495.2 Tm
0 Tw
(Sun 3, however, cannot be run on Xerox workstations. )Tj
ET
570 502.98 0.99 -11.99 re
f
BT
10 0 0 10 258 459.2 Tm
0.054 Tw
[(The Medley release enhances the Lyric release and fixes over 450)]TJ
ET
570 490.98 0.99 -35.99 re
f
BT
10 0 0 10 258 447.2 Tm
0.024 Tw
[(known Lyric bugs. Medley adds new features, improves Common)]TJ
ET
570 454.98 0.99 -11.99 re
f
BT
10 0 0 10 258 435.2 Tm
0.13 Tw
[(Lisp implementation, and improves overall reliability of the Lisp)]TJ
ET
570 442.98 0.99 -11.99 re
f
BT
10 0 0 10 258 423.2 Tm
0 Tw
(sysout. Specific enhancements include: )Tj
ET
570 430.98 0.99 -11.99 re
f
BT
10 0 0 10 258 404.2 Tm
0.522 Tw
[(•)-1449.9(The COMPILER contains many added optimizations and)]TJ
ET
570 418.98 0.99 -18.99 re
f
BT
10 0 0 10 276 392.2 Tm
0 Tw
(numerous bug fixes. )Tj
ET
570 399.98 0.99 -11.99 re
f
BT
10 0 0 10 258 373.2 Tm
0.423 Tw
[(•)-1449.9(The DEBUGGER evaluates lexical variables. Lexical)]TJ
ET
570 387.98 0.99 -18.99 re
f
BT
10 0 0 10 276 361.2 Tm
0 Tw
(variables can now be contained in interpreted code. )Tj
ET
570 368.98 0.99 -11.99 re
f
BT
10 0 0 10 258 342.2 Tm
0.212 Tw
[(•)-1449.9(DFASL files now behave at the level of Interlisp-D compiled)]TJ
ET
570 356.98 0.99 -18.99 re
f
BT
10 0 0 10 276 330.2 Tm
0.229 Tw
[(files. COMS are contained in DFASLs so that the system)]TJ
ET
570 337.98 0.99 -11.99 re
f
BT
10 0 0 10 276 318.2 Tm
0 Tw
(loads a DFASL file only once. )Tj
ET
570 325.98 0.99 -11.99 re
f
BT
10 0 0 10 258 299.2 Tm
0.09 Tw
[(•)-1449.9(The SEDIT code editor is more robust and better integrated)]TJ
ET
570 313.98 0.99 -18.99 re
f
BT
10 0 0 10 276 287.2 Tm
0 Tw
(with the environment. )Tj
ET
570 294.98 0.99 -11.99 re
f
BT
10 0 0 10 258 268.2 Tm
0.045 Tw
[(•)-1449.9(Common Lisp comments are preserved during loading. During)]TJ
ET
570 282.98 0.99 -18.99 re
f
BT
10 0 0 10 276 256.2 Tm
0 Tw
(MAKEFILE, comments can be written out with just semicolons. )Tj
ET
570 263.98 0.99 -11.99 re
f
BT
10 0 0 10 258 237.2 Tm
0.047 Tw
[(•)-1449.9(The new ERROR SYSTEM is compatible with the most recent)]TJ
ET
570 251.98 0.99 -18.99 re
f
BT
10 0 0 10 276 225.2 Tm
0 Tw
(standard defined for Common Lisp error systems. )Tj
ET
570 232.98 0.99 -11.99 re
f
BT
10 0 0 10 258 206.2 Tm
[(•)-1449.9(TEdit contains numerous bug fixes.)]TJ
ET
570 220.98 0.99 -18.99 re
f
BT
10 0 0 10 258 187.2 Tm
0.738 Tw
[(•)-1449.9(MASTERSCOPE contains Common Lisp query support)]TJ
ET
570 201.98 0.99 -18.99 re
f
BT
10 0 0 10 276 175.2 Tm
0.175 Tw
(allowing you to ask questions about Common Lisp code that)Tj
ET
570 182.98 0.99 -11.99 re
f
BT
10 0 0 10 276 163.2 Tm
0.074 Tw
[(could previously be asked only of Interlisp-D code. Currently,)]TJ
ET
570 170.98 0.99 -11.99 re
f
BT
10 0 0 10 276 151.2 Tm
0.646 Tw
(questions specific to Common Lisp constructs are not)Tj
ET
570 158.98 0.99 -11.99 re
f
BT
10 0 0 10 276 139.2 Tm
0 Tw
(supported. )Tj
ET
570 146.98 0.99 -11.99 re
f
BT
10 0 0 10 258 120.2 Tm
0.169 Tw
[(•)-1449.9(RS232 contains may bug fixes that improve the reliability of)]TJ
ET
570 134.98 0.99 -18.99 re
f
BT
10 0 0 10 276 108.2 Tm
0 Tw
(data transfer and the addition of various debugging tools. )Tj
ET
570 115.98 0.99 -11.99 re
f
BT
10 0 0 10 258 89.2 Tm
0.366 Tw
[(• TCP/IP now contains many bug fixes including UNIX file)]TJ
ET
570 103.98 0.99 -18.99 re
f
BT
10 0 0 10 276 77.2 Tm
0 Tw
(interface and directory enumeration. )Tj
ET
570 84.98 0.99 -11.99 re
f
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
>>
/ExtGState <<
/GS1 7 0 R
>>
>>
endobj
10 0 obj
<<
/Length 2079
>>
stream
BT
/TT2 1 Tf
10 0 0 10 54 15 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(1-2)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
54.01 27.5 m
558.01 27.5 l
S
BT
10 0 0 10 266.81 17.21 Tm
( LISP RELEASE NOTES, MEDLEY RELEASE, INTRODUCTION)Tj
-21.281 74.479 TD
(1. INTRODUCTION)Tj
ET
54.01 759.29 m
558.01 759.29 l
S
BT
10 0 0 10 258 730.2 Tm
(• A new System Tool lets you fetch sysouts from TCP hosts.)Tj
ET
570 744.98 0.99 -18.99 re
f
BT
10 0 0 10 258 711.2 Tm
[(•)-1449.9(NS Random Access is now supported. )]TJ
ET
570 725.98 0.99 -18.99 re
f
BT
10 0 0 10 258 692.2 Tm
0.053 Tw
[(•)-1449.9(A)0( new File Browser user interface now supports file sorting by)]TJ
ET
570 706.98 0.99 -18.99 re
f
BT
10 0 0 10 276 680.2 Tm
0.016 Tw
[(dates. The new interface includes the ability to stop in the)]TJ
ET
570 687.98 0.99 -11.99 re
f
BT
10 0 0 10 276 668.2 Tm
0 Tw
(middle of operations.)Tj
ET
570 675.98 0.99 -11.99 re
f
BT
10 0 0 10 258 649.2 Tm
(• The Medley sysout is about the same size as the Lyric sysout.)Tj
ET
570 663.98 0.99 -18.99 re
f
BT
10 0 0 10 258 613.2 Tm
0.096 Tw
[(In addition, Medley on the Sun 3 workstation offers the following)]TJ
ET
570 644.98 0.99 -35.99 re
f
BT
10 0 0 10 258 601.2 Tm
0 Tw
(new features:)Tj
ET
570 608.98 0.99 -11.99 re
f
BT
10 0 0 10 258 582.2 Tm
0.04 Tw
[(•)-1449.9(The UnixChat library module allows you to communicate with a)]TJ
ET
570 596.98 0.99 -18.99 re
f
BT
10 0 0 10 276 570.2 Tm
0 Tw
(UNIX shell on your own host. )Tj
ET
570 577.98 0.99 -11.99 re
f
BT
10 0 0 10 258 551.2 Tm
0.011 Tw
[(• The UnixComm library module allows you to start a Unix process)]TJ
ET
570 565.98 0.99 -18.99 re
f
BT
10 0 0 10 276 539.2 Tm
0.072 Tw
[(on a Sun workstation and provides an interface to the SunOS)]TJ
ET
570 546.98 0.99 -11.99 re
f
BT
10 0 0 10 276 527.2 Tm
0 Tw
(operating system. )Tj
ET
570 534.98 0.99 -11.99 re
f
BT
10 0 0 10 258 508.2 Tm
0.08 Tw
[(•)-1449.9(The ability to suspend Medley and use UNIX as a background)]TJ
ET
570 522.98 0.99 -18.99 re
f
BT
10 0 0 10 276 496.2 Tm
0 Tw
(process is provided. )Tj
ET
570 503.98 0.99 -11.99 re
f
endstream
endobj
11 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 7 0 R
>>
>>
endobj
13 0 obj
<<
/Length 353
>>
stream
BT
/TT2 1 Tf
10 0 0 10 543.55 15 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(1-3)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
54.01 27.5 m
558.01 27.5 l
S
BT
10 0 0 10 54 17.21 Tm
(LISP RELEASE NOTES, MEDLEY RELEASE, INTRODUCTION)Tj
41.622 74.479 TD
(1. INTRODUCTION)Tj
ET
54.01 759.29 m
558.01 759.29 l
S
BT
10 0 0 10 228 496.21 Tm
([This page intentionally left blank])Tj
ET
endstream
endobj
14 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 7 0 R
>>
>>
endobj
7 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
15 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 32
/FontBBox [-166 -225 1000 931]
/FontName /Helvetica
/ItalicAngle 0
/StemV 88
/XHeight 523
/StemH 88
>>
endobj
16 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
17 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 96
/FontBBox [-170 -225 1116 931]
/FontName /Helvetica-Oblique
/ItalicAngle -15
/StemV 88
/XHeight 523
/StemH 88
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 149
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 278 333 278 278
556 556 556 556 556 556 0 0 0 0 278 0 0 0 0 0
0 667 667 722 722 667 611 778 0 278 0 667 556 833 722 778
667 0 722 667 611 722 0 0 667 667 0 278 0 278 0 0
0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556
556 556 333 500 278 556 500 722 500 500 500 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 350 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica
/FontDescriptor 15 0 R
>>
endobj
5 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0
0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 722 722 0 0 0 0 278 0 0 0 833 722 778
0 0 722 667 611 722 0 0 0 0 0 0 0 0 0 0
0 556 0 0 611 556 333 611 611 0 0 0 278 889 611 611
0 0 389 556 0 611 0 0 0 556 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 16 0 R
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 116
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 556 0 722 0
0 0 722 0 0 0 0 0 0 0 0 0 0 0 0 0
0 556 0 0 0 556 0 0 0 222 0 0 222 0 0 556
556 0 0 500 278 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Oblique
/FontDescriptor 17 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 8 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
9 0 obj
<<
/Type /Page
/Parent 8 0 R
/Resources 11 0 R
/Contents 10 0 R
>>
endobj
12 0 obj
<<
/Type /Page
/Parent 8 0 R
/Resources 14 0 R
/Contents 13 0 R
>>
endobj
18 0 obj
<<
/S /D
>>
endobj
19 0 obj
<<
/Nums [0 18 0 R ]
>>
endobj
8 0 obj
<<
/Type /Pages
/Kids [1 0 R 9 0 R 12 0 R]
/Count 3
/MediaBox [0 0 612 792]
>>
endobj
20 0 obj
<<
/CreationDate (D:20210119174403-06'00')
/ModDate (D:20210119174403-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
21 0 obj
<<
/Type /Catalog
/Pages 8 0 R
/PageLabels 19 0 R
>>
endobj
xref
0 22
0000000000 65535 f
0000010473 00000 n
0000000016 00000 n
0000005579 00000 n
0000009171 00000 n
0000009698 00000 n
0000010104 00000 n
0000008425 00000 n
0000010786 00000 n
0000010553 00000 n
0000005696 00000 n
0000007828 00000 n
0000010635 00000 n
0000007924 00000 n
0000008329 00000 n
0000008565 00000 n
0000008760 00000 n
0000008966 00000 n
0000010718 00000 n
0000010746 00000 n
0000010880 00000 n
0000011012 00000 n
trailer
<<
/Size 22
/Root 21 0 R
/Info 20 0 R
/ID [<e834e923fc3b25aaaec2dd8b3b775b25><e834e923fc3b25aaaec2dd8b3b775b25>]
>>
startxref
11081
%%EOF

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,157 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 318
>>
stream
BT
/TT2 1 Tf
8 0 0 8 0.04 783.96 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(Unknown IMAGEOBJ type)Tj
0 -1 TD
(GETFN: SKIO.GETFN.2)Tj
ET
q
1 i
0 792 612 -791.94 re
W n
0 G
0 J 0 j 0.02 w 10 M [0.32 0.16 0.16 0.16 ]0 d
0.01 775.93 m
99.6 775.93 l
99.6 775.93 m
99.6 791.95 l
0.01 791.95 m
99.6 791.95 l
0.01 791.95 m
0.01 775.93 l
S
Q
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
5 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
7 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0
0 0 556 0 0 0 0 0 0 0 333 0 0 0 0 0
0 722 722 0 0 667 611 778 0 278 556 722 0 833 722 778
0 0 0 667 611 722 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 556 0 0 0 0 0 556 0 0 611 611
611 0 0 0 333 0 0 778 0 556 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 7 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
8 0 obj
<<
/S /D
>>
endobj
9 0 obj
<<
/Nums [0 8 0 R ]
>>
endobj
6 0 obj
<<
/Type /Pages
/Kids [1 0 R]
/Count 1
/MediaBox [0 0 612 792]
>>
endobj
10 0 obj
<<
/CreationDate (D:20210119174411-06'00')
/ModDate (D:20210119174411-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
11 0 obj
<<
/Type /Catalog
/Pages 6 0 R
/PageLabels 9 0 R
>>
endobj
xref
0 12
0000000000 65535 f
0000001228 00000 n
0000000016 00000 n
0000000385 00000 n
0000000825 00000 n
0000000480 00000 n
0000001373 00000 n
0000000620 00000 n
0000001308 00000 n
0000001335 00000 n
0000001454 00000 n
0000001586 00000 n
trailer
<<
/Size 12
/Root 11 0 R
/Info 10 0 R
/ID [<8a8c3746cf3e6e016b12f3bf4d7b0363><8a8c3746cf3e6e016b12f3bf4d7b0363>]
>>
startxref
1654
%%EOF

File diff suppressed because one or more lines are too long

View File

@@ -1,157 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 318
>>
stream
BT
/TT2 1 Tf
8 0 0 8 0.04 783.96 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(Unknown IMAGEOBJ type)Tj
0 -1 TD
(GETFN: SKIO.GETFN.2)Tj
ET
q
1 i
0 792 612 -791.94 re
W n
0 G
0 J 0 j 0.02 w 10 M [0.32 0.16 0.16 0.16 ]0 d
0.01 775.93 m
99.6 775.93 l
99.6 775.93 m
99.6 791.95 l
0.01 791.95 m
99.6 791.95 l
0.01 791.95 m
0.01 775.93 l
S
Q
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
5 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
7 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0
0 0 556 0 0 0 0 0 0 0 333 0 0 0 0 0
0 722 722 0 0 667 611 778 0 278 556 722 0 833 722 778
0 0 0 667 611 722 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 556 0 0 0 0 0 556 0 0 611 611
611 0 0 0 333 0 0 778 0 556 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 7 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
8 0 obj
<<
/S /D
>>
endobj
9 0 obj
<<
/Nums [0 8 0 R ]
>>
endobj
6 0 obj
<<
/Type /Pages
/Kids [1 0 R]
/Count 1
/MediaBox [0 0 612 792]
>>
endobj
10 0 obj
<<
/CreationDate (D:20210119174411-06'00')
/ModDate (D:20210119174411-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
11 0 obj
<<
/Type /Catalog
/Pages 6 0 R
/PageLabels 9 0 R
>>
endobj
xref
0 12
0000000000 65535 f
0000001228 00000 n
0000000016 00000 n
0000000385 00000 n
0000000825 00000 n
0000000480 00000 n
0000001373 00000 n
0000000620 00000 n
0000001308 00000 n
0000001335 00000 n
0000001454 00000 n
0000001586 00000 n
trailer
<<
/Size 12
/Root 11 0 R
/Info 10 0 R
/ID [<04821c2e391d350e759a439f0a49e2f9><04821c2e391d350e759a439f0a49e2f9>]
>>
startxref
1654
%%EOF

Binary file not shown.

View File

@@ -1,157 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 318
>>
stream
BT
/TT2 1 Tf
8 0 0 8 0.04 783.96 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(Unknown IMAGEOBJ type)Tj
0 -1 TD
(GETFN: SKIO.GETFN.2)Tj
ET
q
1 i
0 792 612 -791.94 re
W n
0 G
0 J 0 j 0.02 w 10 M [0.32 0.16 0.16 0.16 ]0 d
0.01 775.93 m
99.6 775.93 l
99.6 775.93 m
99.6 791.95 l
0.01 791.95 m
99.6 791.95 l
0.01 791.95 m
0.01 775.93 l
S
Q
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
5 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
7 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0
0 0 556 0 0 0 0 0 0 0 333 0 0 0 0 0
0 722 722 0 0 667 611 778 0 278 556 722 0 833 722 778
0 0 0 667 611 722 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 556 0 0 0 0 0 556 0 0 611 611
611 0 0 0 333 0 0 778 0 556 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 7 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
8 0 obj
<<
/S /D
>>
endobj
9 0 obj
<<
/Nums [0 8 0 R ]
>>
endobj
6 0 obj
<<
/Type /Pages
/Kids [1 0 R]
/Count 1
/MediaBox [0 0 612 792]
>>
endobj
10 0 obj
<<
/CreationDate (D:20210119174411-06'00')
/ModDate (D:20210119174411-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
11 0 obj
<<
/Type /Catalog
/Pages 6 0 R
/PageLabels 9 0 R
>>
endobj
xref
0 12
0000000000 65535 f
0000001228 00000 n
0000000016 00000 n
0000000385 00000 n
0000000825 00000 n
0000000480 00000 n
0000001373 00000 n
0000000620 00000 n
0000001308 00000 n
0000001335 00000 n
0000001454 00000 n
0000001586 00000 n
trailer
<<
/Size 12
/Root 11 0 R
/Info 10 0 R
/ID [<f4b3f73f380b56f5c72cabea6aa0f315><f4b3f73f380b56f5c72cabea6aa0f315>]
>>
startxref
1654
%%EOF

Binary file not shown.

View File

@@ -1,423 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 2294
>>
stream
BT
/TT2 1 Tf
14 0 0 14 219.66 709.08 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(TAB SPECIFICATIONS for)Tj
6.1671 -1 TD
( )Tj
-10.475 -1 TD
(LISP RELEASE NOTES, MEDLEY RELEASE )Tj
9.5864 -1 TD
(and)Tj
-10.2243 -1 TD
(LISP LIBRARY MODULES, MEDLEY RELEASE )Tj
-5.6014 -3 TD
(TABS)Tj
/TT4 1 Tf
12 0 0 12 72 584.64 Tm
(Tab Paper Size )Tj
/TT6 1 Tf
7.6694 0 TD
( 8 1/2 by 11 inches \(excluding the actual tab\))Tj
/TT4 1 Tf
-7.6694 -2 TD
(Stock Type)Tj
/TT6 1 Tf
6 0 TD
( Ledger; matte finish)Tj
/TT4 1 Tf
-6 -2 TD
(Stock Weight)Tj
/TT6 1 Tf
9 0 TD
(110 pound)Tj
/TT4 1 Tf
-9 -2 TD
(Stock Color)Tj
/TT6 1 Tf
6 0 TD
( White)Tj
/TT4 1 Tf
-6 -2 TD
(Tab Coating)Tj
/TT6 1 Tf
6 0 TD
( Mylar )Tj
/TT4 1 Tf
-6 -2 TD
(Mylar Color)Tj
/TT6 1 Tf
6 0 TD
[( )-4888.7( )]TJ
3 -1 TD
(PMS 422-C coordinated gray)Tj
/TT4 1 Tf
-9 -2 TD
(Holes )Tj
/TT6 1 Tf
3.5566 0 TD
( 3-hole punch)Tj
/TT4 1 Tf
6.6157 0 TD
(, )Tj
/TT6 1 Tf
0.8335 0 TD
( 5/16" diameter holes )Tj
/TT4 1 Tf
-11.0059 -2 TD
(Hole Reinforcement)Tj
/TT6 1 Tf
12 0 TD
( clear mylar strip )Tj
/TT4 1 Tf
-12 -2 TD
(Hole Placement 1st hole centered:)Tj
/TT6 1 Tf
16.561 0 TD
( 1 3/16" from top of page, 7/16" in from side )Tj
/TT4 1 Tf
-10.561 -1 TD
( 2nd hole centered:)Tj
/TT6 1 Tf
10.8355 0 TD
( 5 7/16" from top of page, 7/16" in from side)Tj
/TT4 1 Tf
-10.8355 -1 TD
( 3rd hole centered:)Tj
/TT6 1 Tf
10.8916 0 TD
( 9 11/16" from top of page, 7/16" in from side )Tj
/TT2 1 Tf
-16.8916 -3.1667 TD
(Tab Cut Requirements)Tj
ET
0 G
0 J 0 j 1 w 10 M []0 d
1 i
72.01 315.49 m
576.01 315.49 l
S
BT
/TT4 1 Tf
12 0 0 12 72 293.64 Tm
(Number of Tab Cuts)Tj
/TT6 1 Tf
12 0 TD
(5)Tj
/TT4 1 Tf
-12 -2 TD
(Size of Cuts \(Length\))Tj
/TT6 1 Tf
12 0 TD
( 2 3/8" )Tj
/TT4 1 Tf
-12 -2 TD
(Depth of Tab Cut)Tj
/TT6 1 Tf
9 0 TD
( 1/2 inch)Tj
/TT4 1 Tf
4.3359 0 TD
( )Tj
-13.3359 -2 TD
(Cut Shapes)Tj
/TT6 1 Tf
6 0 TD
( straight edge, curved top, curved bottom )Tj
/TT2 1 Tf
-6 -2.1667 TD
(Print Specifications)Tj
ET
72.01 192.49 m
576.01 192.49 l
S
BT
/TT4 1 Tf
12 0 0 12 72 170.64 Tm
(One or Both Sides)Tj
/TT6 1 Tf
9 0 TD
(Both sides)Tj
/TT4 1 Tf
-9 -2 TD
(Font)Tj
/TT6 1 Tf
3 0 TD
(Modern/Optima )Tj
/TT4 1 Tf
-3 -2 TD
(Point Size)Tj
/TT6 1 Tf
6 0 TD
(10)Tj
/TT4 1 Tf
-6 -2 TD
(Ink Color)Tj
/TT6 1 Tf
6 0 TD
(Black)Tj
ET
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
>>
/ExtGState <<
/GS1 7 0 R
>>
>>
endobj
10 0 obj
<<
/Length 396
>>
stream
BT
/TT6 1 Tf
10 0 0 10 72 756 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(2)Tj
/TT4 1 Tf
12 0 0 12 72 710.64 Tm
(Type Spacing)Tj
/TT6 1 Tf
9 0 TD
(Centered)Tj
/TT2 1 Tf
14 0 0 14 72 661.08 Tm
(PACKAGING INSTRUCTIONS:)Tj
/TT6 1 Tf
14.2222 0 TD
( Shrink wrap with text)Tj
/TT2 1 Tf
-14.2222 -3 TD
(TOTAL NUMBER COPIES:)Tj
/TT4 1 Tf
12 0 0 12 245.4414 619.08 Tm
( )Tj
/TT6 1 Tf
0.5557 0 TD
( 500 )Tj
ET
endstream
endobj
11 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
/TT4 5 0 R
/TT6 6 0 R
>>
/ExtGState <<
/GS1 7 0 R
>>
>>
endobj
7 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
12 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
13 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262240
/FontBBox [-174 -228 1114 962]
/FontName /Helvetica-BoldOblique
/ItalicAngle -15
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
14 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 32
/FontBBox [-166 -225 1000 931]
/FontName /Helvetica
/ItalicAngle 0
/StemV 88
/XHeight 523
/StemH 88
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 117
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0
0 0 0 0 0 0 0 0 0 0 333 0 0 0 0 0
0 722 722 722 722 667 611 778 0 278 0 722 611 833 722 778
667 0 722 667 611 722 0 0 0 667 0 0 0 0 0 0
0 556 611 556 611 556 333 0 0 278 0 0 0 889 611 611
611 611 389 556 333 611 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 12 0 R
>>
endobj
5 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 122
/Widths [278 0 0 0 0 0 0 0 333 333 0 0 278 0 0 0
0 556 556 556 0 0 0 0 0 0 333 0 0 0 0 0
0 0 722 722 722 0 611 0 722 278 0 0 611 833 722 778
667 0 722 667 611 0 0 944 0 0 0 0 0 0 0 0
0 556 611 556 611 556 333 611 611 278 0 556 278 889 611 611
611 0 389 556 333 611 0 0 0 556 500 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-BoldOblique
/FontDescriptor 13 0 R
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 355 0 0 0 0 0 333 333 0 0 278 333 0 278
556 556 556 556 556 556 556 556 556 556 0 278 0 0 0 0
0 0 667 722 0 0 0 0 0 0 0 0 556 833 0 778
667 0 0 667 0 0 0 944 0 0 0 0 0 0 0 0
0 556 556 500 556 556 278 556 556 222 0 500 222 833 556 556
556 0 333 500 278 556 500 722 500 500 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica
/FontDescriptor 14 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 8 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
9 0 obj
<<
/Type /Page
/Parent 8 0 R
/Resources 11 0 R
/Contents 10 0 R
>>
endobj
15 0 obj
<<
/S /D
>>
endobj
16 0 obj
<<
/Nums [0 15 0 R ]
>>
endobj
8 0 obj
<<
/Type /Pages
/Kids [1 0 R 9 0 R]
/Count 2
/MediaBox [0 0 612 792]
>>
endobj
17 0 obj
<<
/CreationDate (D:20210119174411-06'00')
/ModDate (D:20210119174411-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
18 0 obj
<<
/Type /Catalog
/Pages 8 0 R
/PageLabels 16 0 R
>>
endobj
xref
0 19
0000000000 65535 f
0000005115 00000 n
0000000016 00000 n
0000002362 00000 n
0000003801 00000 n
0000004221 00000 n
0000004670 00000 n
0000003045 00000 n
0000005345 00000 n
0000005195 00000 n
0000002479 00000 n
0000002927 00000 n
0000003185 00000 n
0000003391 00000 n
0000003606 00000 n
0000005277 00000 n
0000005305 00000 n
0000005432 00000 n
0000005564 00000 n
trailer
<<
/Size 19
/Root 18 0 R
/Info 17 0 R
/ID [<d8d67fe46ad0b335a4ce76aa22b00931><d8d67fe46ad0b335a4ce76aa22b00931>]
>>
startxref
5633
%%EOF

BIN
docs/ReleaseNote/TOC.TEDIT Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,886 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 246
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
2.3356 -1 TD
(Table of Contents)Tj
6.945 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
8 0 obj
<<
/Length 237
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
7.1672 -1 TD
(Preface)Tj
2.1133 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
9 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
11 0 obj
<<
/Length 246
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
3.5583 -1 TD
(1. Introduction)Tj
5.7222 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
12 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
14 0 obj
<<
/Length 251
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
0.0006 -1 TD
(2. Notes and Cautions )Tj
9.28 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
15 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
17 0 obj
<<
/Length 259
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
-2.555 -1 TD
(3. Integration of Languages)Tj
11.8356 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
18 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
20 0 obj
<<
/Length 259
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
-1.2767 -1 TD
(4. Changes to Interlisp-D )Tj
10.5572 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
21 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
23 0 obj
<<
/Length 249
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
1.6672 -1 TD
(5. Library Modules)Tj
7.6133 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
24 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
26 0 obj
<<
/Length 248
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
2.6661 -1 TD
(6. Users Guides )Tj
6.6144 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
27 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
29 0 obj
<<
/Length 263
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
-4.9433 -1 TD
(7. Common Lisp Implementation )Tj
14.2239 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
30 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
32 0 obj
<<
/Length 243
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
4.8333 -1 TD
(A. The Exec )Tj
4.4472 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
33 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
35 0 obj
<<
/Length 240
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
6.6689 -1 TD
(B. SEdit )Tj
2.6117 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
36 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
40 0 obj
<<
/Length 241
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
5.7811 -1 TD
(C. ICONW )Tj
3.4994 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
41 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
43 0 obj
<<
/Length 244
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
4.2239 -1 TD
(D. Free Menu )Tj
5.0567 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
44 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
46 0 obj
<<
/Length 242
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
3 -1 TD
(E. Error System )Tj
6.2806 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
47 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
49 0 obj
<<
/Length 236
>>
stream
0 G
0 J 0 j 3 w 10 M []0 d
/GS1 gs
1 i
72.01 718.49 m
540.01 718.49 l
S
BT
/TT2 1 Tf
18 0 0 18 333.95 694.97 Tm
0 g
0 Tc
0 Tw
(Replace this page with)Tj
8.1683 -1 TD
(Index )Tj
1.1122 -1 TD
(tab)Tj
ET
228.01 653.49 m
528.01 653.49 l
S
endstream
endobj
50 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
5 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
51 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 146
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 0
0 556 556 556 556 556 556 556 0 0 0 0 0 0 0 0
0 722 722 722 722 667 611 778 0 278 0 0 611 833 722 778
667 0 722 667 611 722 0 944 0 0 0 0 0 0 0 0
0 556 611 556 611 556 333 611 611 278 0 0 278 889 611 611
611 0 389 556 333 611 0 778 556 556 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 278 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 51 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
7 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 9 0 R
/Contents 8 0 R
>>
endobj
10 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 12 0 R
/Contents 11 0 R
>>
endobj
13 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 15 0 R
/Contents 14 0 R
>>
endobj
16 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 18 0 R
/Contents 17 0 R
>>
endobj
19 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 21 0 R
/Contents 20 0 R
>>
endobj
22 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 24 0 R
/Contents 23 0 R
>>
endobj
25 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 27 0 R
/Contents 26 0 R
>>
endobj
28 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 30 0 R
/Contents 29 0 R
>>
endobj
31 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 33 0 R
/Contents 32 0 R
>>
endobj
34 0 obj
<<
/Type /Page
/Parent 38 0 R
/Resources 36 0 R
/Contents 35 0 R
>>
endobj
39 0 obj
<<
/Type /Page
/Parent 38 0 R
/Resources 41 0 R
/Contents 40 0 R
>>
endobj
42 0 obj
<<
/Type /Page
/Parent 38 0 R
/Resources 44 0 R
/Contents 43 0 R
>>
endobj
45 0 obj
<<
/Type /Page
/Parent 38 0 R
/Resources 47 0 R
/Contents 46 0 R
>>
endobj
48 0 obj
<<
/Type /Page
/Parent 38 0 R
/Resources 50 0 R
/Contents 49 0 R
>>
endobj
52 0 obj
<<
/S /D
>>
endobj
53 0 obj
<<
/Nums [0 52 0 R ]
>>
endobj
6 0 obj
<<
/Type /Pages
/Kids [1 0 R 7 0 R 10 0 R 13 0 R 16 0 R 19 0 R 22 0 R 25 0 R 28 0 R 31 0 R]
/Count 10
/Parent 37 0 R
>>
endobj
38 0 obj
<<
/Type /Pages
/Kids [34 0 R 39 0 R 42 0 R 45 0 R 48 0 R]
/Count 5
/Parent 37 0 R
>>
endobj
37 0 obj
<<
/Type /Pages
/Kids [6 0 R 38 0 R ]
/Count 15
/MediaBox [0 0 612 792]
>>
endobj
54 0 obj
<<
/CreationDate (D:20210119174411-06'00')
/ModDate (D:20210119174411-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
55 0 obj
<<
/Type /Catalog
/Pages 37 0 R
/PageLabels 53 0 R
>>
endobj
xref
0 56
0000000000 65535 f
0000006786 00000 n
0000000016 00000 n
0000000313 00000 n
0000006282 00000 n
0000005936 00000 n
0000008098 00000 n
0000006866 00000 n
0000000408 00000 n
0000000696 00000 n
0000006946 00000 n
0000000791 00000 n
0000001089 00000 n
0000007029 00000 n
0000001185 00000 n
0000001488 00000 n
0000007112 00000 n
0000001584 00000 n
0000001895 00000 n
0000007195 00000 n
0000001991 00000 n
0000002302 00000 n
0000007278 00000 n
0000002398 00000 n
0000002699 00000 n
0000007361 00000 n
0000002795 00000 n
0000003095 00000 n
0000007444 00000 n
0000003191 00000 n
0000003506 00000 n
0000007527 00000 n
0000003602 00000 n
0000003897 00000 n
0000007610 00000 n
0000003993 00000 n
0000004285 00000 n
0000008335 00000 n
0000008233 00000 n
0000007694 00000 n
0000004381 00000 n
0000004674 00000 n
0000007778 00000 n
0000004770 00000 n
0000005066 00000 n
0000007862 00000 n
0000005162 00000 n
0000005456 00000 n
0000007946 00000 n
0000005552 00000 n
0000005840 00000 n
0000006076 00000 n
0000008030 00000 n
0000008058 00000 n
0000008426 00000 n
0000008558 00000 n
trailer
<<
/Size 56
/Root 55 0 R
/Info 54 0 R
/ID [<3f19364b5f81ff960ce7bb49c7d95dc0><3f19364b5f81ff960ce7bb49c7d95dc0>]
>>
startxref
8628
%%EOF

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,157 +0,0 @@
%PDF-1.3
%âãÏÓ
2 0 obj
<<
/Length 318
>>
stream
BT
/TT2 1 Tf
8 0 0 8 0.04 783.96 Tm
0 g
/GS1 gs
0 Tc
0 Tw
(Unknown IMAGEOBJ type)Tj
0 -1 TD
(GETFN: SKIO.GETFN.2)Tj
ET
q
1 i
0 792 612 -791.94 re
W n
0 G
0 J 0 j 0.02 w 10 M [0.32 0.16 0.16 0.16 ]0 d
0.01 775.93 m
99.6 775.93 l
99.6 775.93 m
99.6 791.95 l
0.01 791.95 m
99.6 791.95 l
0.01 791.95 m
0.01 775.93 l
S
Q
endstream
endobj
3 0 obj
<<
/ProcSet [/PDF /Text ]
/Font <<
/TT2 4 0 R
>>
/ExtGState <<
/GS1 5 0 R
>>
>>
endobj
5 0 obj
<<
/Type /ExtGState
/SA false
/SM 0.02
/OP false
/op false
/OPM 1
/BG2 /Default
/UCR2 /Default
/HT /Default
/TR2 /Default
>>
endobj
7 0 obj
<<
/Type /FontDescriptor
/Ascent 770
/CapHeight 718
/Descent -229
/Flags 262176
/FontBBox [-170 -228 1003 962]
/FontName /Helvetica-Bold
/ItalicAngle 0
/StemV 133
/XHeight 532
/StemH 140
>>
endobj
4 0 obj
<<
/Type /Font
/Subtype /TrueType
/FirstChar 32
/LastChar 121
/Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0
0 0 556 0 0 0 0 0 0 0 333 0 0 0 0 0
0 722 722 0 0 667 611 778 0 278 556 722 0 833 722 778
0 0 0 667 611 722 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 556 0 0 0 0 0 556 0 0 611 611
611 0 0 0 333 0 0 778 0 556 ]
/Encoding /WinAnsiEncoding
/BaseFont /Helvetica-Bold
/FontDescriptor 7 0 R
>>
endobj
1 0 obj
<<
/Type /Page
/Parent 6 0 R
/Resources 3 0 R
/Contents 2 0 R
>>
endobj
8 0 obj
<<
/S /D
>>
endobj
9 0 obj
<<
/Nums [0 8 0 R ]
>>
endobj
6 0 obj
<<
/Type /Pages
/Kids [1 0 R]
/Count 1
/MediaBox [0 0 612 792]
>>
endobj
10 0 obj
<<
/CreationDate (D:20210119174412-06'00')
/ModDate (D:20210119174412-06'00')
/Producer (PSNormalizer.framework)
>>
endobj
11 0 obj
<<
/Type /Catalog
/Pages 6 0 R
/PageLabels 9 0 R
>>
endobj
xref
0 12
0000000000 65535 f
0000001228 00000 n
0000000016 00000 n
0000000385 00000 n
0000000825 00000 n
0000000480 00000 n
0000001373 00000 n
0000000620 00000 n
0000001308 00000 n
0000001335 00000 n
0000001454 00000 n
0000001586 00000 n
trailer
<<
/Size 12
/Root 11 0 R
/Info 10 0 R
/ID [<037c8837cab2cb299e6b0b052324dbdc><037c8837cab2cb299e6b0b052324dbdc>]
>>
startxref
1654
%%EOF

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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