* add BAKTRACE to HCFILES fails. Skip HC of CLTL2 (package errors) and dinfo (not really tedit).
* IMNAME.TEDIT isn't really TEDIT it's text. rename it.
* internal/mesatypes.tedit now sources/MESATYPES.TXT move from internal to sources (loaded by sources), also move MESATYPE*
* Medleyfont format updated to version 2, revised and more complete fonts deployed in fonts/medleydisplayfonts/
* Rename AFONT to ACFONT, include STRIKE formats
* FILESETS: Add MCCSFONTS to loadup
* MCCSFONTS: New file that isolates all of the legacy font translations previously spread in other files (MCCS)
* Medleyfont display fonts created offline using new file library/IMPORTFONTS
* LLCHAR: Add \MAXCHARSET=65535, \MAXCHAR etc.
* git ignores internal/fonts/**
* MEDLEYDIR: Define the pseudohost {MEDLEY} whose prefix set to the current value of MEDLEYDIR whenever system restarts
* (MEDLEYDIR xxx) entries in MEDLEY-INIT-VARS removed in favor of {MEDLEY}xxx
* Add cdm command to connect to {MEDLEY} and its subdirectories
mostly propagating a cleanup of the PIECE datatype. It had several fields that were simple combinations of other fields but required extra code to maintain consistency.
Includes minor fixes for #2588#2585 and also the change to TEDIT.TO.IMAGEFILE mentioned in #2286, for HCFILES, and the fix for line overflow mentioned there.
also has some initial code changes to manage what happens when the mouse leaves the window while a secondary selection is up #2434 and then possibly returns. The behavior here is still suboptimal, but in a
different way than before
* man [filename] just opens the corresponding documentation file
* When a particular ENTRY is provided and found in the file, scroll its first occurrence to the top
* Add reporting of filtering "Why?"
Add reporting of the actual error Condition on files that FAIL.
Change extraction of the "hcfiles-fails.txt" to a perl program since the Condition reporting sometimes is multiple lines.
* Change running of the getFails.pl that extracts FAIL information.
Also check if perl is installed, and report it if not into the fails file.
* Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename
* Remove PRINT debugging code from ShellOpen
* Fix bug introduced into SLASHIT whereby which it would go into an infinite loop if a filename had two or more spaces in it.
* Add preliminary files with mappings from XCCS to Unihan set of Unicode.
These were generated with scripting from the data in the unihan folder of the Unicode Data Base.
That info claims to know the mapping from Unicode(unihan) to "Xerox" coding (2 bytes in octal).
These were not validated at all for correctness/completeness.
* Added char set number line comment to top of each file
* Remove stale files, add README, correct XCCS-164 JIS
* Remake UNICODE-FORMATS to be sure it reflects current files
---------
Co-authored-by: Matt Heffron <heffron@alumni.caltech.edu>
* Updates \ETHEREVENTFN to remove early exit when the ethernet is unvailable.
In the case that the ethernet is unavailable the \ETHEREVENTFN should
still call \SETETHERFLAGS, \SETLOCALNSNUMBERS, and \FLUSHNDBS, or
a newly started image will retain information from the system on which
it was built (such as ethernet MAC address in the NS address). This
will also ensure that the NS address is not set to 0, instead initializing
with a fake address based on the system serial number (calls \SERIALNUMBER).
* When no ethernet \FIND.LOCALPUPHOSTNUMBER should immediately return NIL
If there is NO ethernet it is better to avoid a delay waiting for a
PUP lookup response that will never come, and there is no value in
asking for the user to enter a PUP host number that will not be used.
* Updates \SETETHERFLAGS to avoid setting \10MBFLG when no ethernet
* Avoids making copy of \10MBLOCALNDB as \MAIKO.10MB.NDB for \MAIKO.ETHER-INTERRUPT
* RESTART.ETHER at end of loadup-lisp to ensure network structures are set up.
* Removes OCTALSTRING from PUP - now in APRINT
* Prevents \LOOKUPPORT waiting for an ethernet timeout if PUP has already been detected as unavailable
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.
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
* 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
* 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
* 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
* 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
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).
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".
* 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
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
* 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).
* 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
* 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
This should complete the changes for the MEDLEYDISPLAYFONTFORMAT.
The building a composite font from BDF files implemented.
Resolves#2313Resolves#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.)
**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!
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.
* 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
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.
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).
* 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
* 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
* 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 ...)
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 ...)
* 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.
* 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.
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
* 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
* 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
* A revision to the font, Unicode, Tedit, and other modules to implement the MCCS character coding as the standard for internal text strings. MCCS is a variant of XCCS with arrows switched with circumflex/underscore and $ switched with currency, and allows for additional code assignments over time. :MCCS replaces :XCCS as the default external format, especially for source files. The file XCCS is removed in favor of the file MCCS, which includes the XCCS external format for backward compatibility.
* This includes a single Medley-font formatted font file for each of the family/size/face display fonts. The glyph assignments correspond to the MCCS character encoding (except for fonts with idiosyncratic encodings--Hippo, Symbol). All charsets from legacy font files are included in each file, and the character sets and glyphs in each file have also been extended by offline coercion from related families (e.g. Glyphs not in legacy Terminal are taken from legacy Modern). There should be fewer black boxes, and character-display shouldn't change when you switch fonts.
* The Unicode mapping tables have been redefined to set up correspondences between Unicode and MCCS, not XCCS. Separate XCCS to/from MCCS mapping functions are provided in the file MCCS; they are no longer included in INTERPRESS.
* TEDIT converts characters in legacy fonts to their new MCCS codes as it reads formatted files, marks the file as MCCS compatible and preserves the new codes on writing.
* Default keyboard assignments produce the MCCS uparrow and leftarrow for shift-6 and shift-hyphen, use Function-6 for circumflex and Function-10 for underscore.
See documentation in FONTCODECHANGES.TEDIT MCCS.TEDIT MEDLEYFONTFORMAT.TEDIT in docs/internal, and library/UNICODE.TEDIT.
* EDITINTERFACE--ED searches for symbols, no error when declining a loadfns
* Symbol by type menu pops up when the symbol with different package qualifiers have different types
* CLIPBOARD passes file to xclip (windows)
* More careful to specify {UNIX} as the host on the Medley side
* Make sure the process stream is closed in the xclip case
* This time using ShellCommand
* Use DSK and UNIX-FILE-NAME
* Added .txt to the tmp file
This repository is for the Lisp environment of [Medley](https://interlisp.org).
The [Medley Interlisp Project](https://interlisp.org) aims to preserve, revive, and modernize the [Interlisp](https://interlisp.org) software development environment for rapid prototyping, research and Artificial Intelligence created at Xerox PARC since the 1970s.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, and Windows (with or without WSL).
This repository is for the Lisp environment of the [Medley](https://interlisp.org) release of Interlisp. Other repositories hold additional subsystems and applications such as [Maiko](https://github.com/Interlisp/maiko), the implementation (in C) of the Medley virtual machine, the [LOOPS](https://github.com/Interlisp/loops) object-oriented extension of Interlisp, and the [NoteCards](https://github.com/Interlisp/notecards) hypermedia system.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, Windows (with or without WSL), and in a web browser.
[Using Medley](https://interlisp.org/software/using-medley/) has an overview and pointers to documentation.
[Interlisp/maiko](https://github.com/Interlisp/maiko), is the repo for the implementation (in C) of the Medley virtual machine.
The [Glossary](https://interlisp.org/history/glossary) defines system-specific terms such as "loadup" and "sysout".
## Releases
@@ -67,25 +69,9 @@ If you have a high-resolution display, note that much of the graphics was design
Medley presumes you have a 3-button mouse; the scroll-wheel on some mice acts as one, with some difficulty. Go into XQuartz Preferences/Input and check "Emulate three button mouse" option.
### Running Medley Interlisp (obsolete)
### Running Medley Interlisp
The `run-medley` script in this repo sets up some convenient defaults. Running Medley can be done by typing:
```
$ cd medley
$ ./run-medley
```
Or, if you wish to start Medley up with a different SYSOUT:
```
$ cd medley
$ ./run-medley <SYSOUT-file-name>
```
The first time the system is run it loads the system image that comes
with the system. When you exit the system (or "do a `SaveVM`" menu
option) the state of your machine is saved in a file named
`~/lisp.virtualmem`. Subsequent system startups load the
`~/lisp.virtualmem` image by default.
The primer [Medley Interlisp for the Newcomer](https://primer.interlisp.org) eases new users into the Interlisp environment. It assumes no prior knowledge of Lisp and covers the user interface, programming and debugging, windows and graphics, and more. We recommend consulting this document to learn how to run and use the system.
### Exiting The System
@@ -123,7 +109,7 @@ Each directory should have a README.md, but briefly
* BUILDING.md -- instructions on how to make your own loadups
* clos -- early implementation of Common Lisp Object System
* CLTL2 -- files submitted to bring Medley up to the conformance to "Common Lisp, the Language" 2nd edition. Not enough to conform to the ANSI standard lisp.
* docs -- Documentation files (in TEdit format, PDFs, or online help; look [here](https://github.com/Interlisp/medley/Documentation))
* docs -- Documentation files (in TEdit format, PDFs, or online help
* fonts -- raster fonts (or font widths) in various resolutions for display, postscript, interpress, press formats
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.