1
0
mirror of synced 2026-03-15 14:47:09 +00:00

Compare commits

...

136 Commits

Author SHA1 Message Date
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
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
370 changed files with 389535 additions and 14854 deletions

View File

@@ -1,82 +0,0 @@
# based on https://blog.oddbit.com/post/2020-09-25-building-multi-architecture-im/
---
# Interlisp workflow to build Docker Image that support multiple architectures
name: 'Build Medley Docker image'
# Run this workflow on push to master
on:
push:
branches:
- master
# Jobs that compose this workflow
jobs:
# Job to build the docker image
docker:
runs-on: ubuntu-latest
steps:
# Checkout the branch
- name: Checkout
uses: actions/checkout@v2
# Setup needed environment variables
- name: Prepare
id: prep
run: |
DOCKER_IMAGE=interlisp/${GITHUB_REPOSITORY#*/}
VERSION=latest
SHORTREF=${GITHUB_SHA::8}
# If this is git tag, use the tag name as a docker tag
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
fi
TAGS="${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${SHORTREF}"
# If the VERSION looks like a version number, assume that
# this is the most recent version of the image and also
# tag it 'latest'.
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS,${DOCKER_IMAGE}:latest"
fi
# Set output parameters.
echo ::set-output name=tags::${TAGS}
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
# Setup Docker Machine Emulation environment
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
# Setup Docker Buildx function
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
# Login to DockerHub - required to store the image
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Start the Docker Build using the Dockerfilein the repository
- name: Build
uses: docker/build-push-action@v2
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
# Platforms
# linux/amd64 -- Standard x86_64
# linux/arm64 -- Apple M1
# linux/arm/v7 -- Raspberry pi
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Push the created image
push: true
# tags to assign to the Docker image
tags: ${{ steps.prep.outputs.tags }}

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

@@ -0,0 +1,245 @@
#*******************************************************************************
# 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:
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:
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:
######################################################################################
# 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-latest
outputs:
force: ${{ steps.force.outputs.force }}
steps:
- id: force
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then echo ::set-output name=force::'${{ github.event.inputs.force }}'; echo "workflow_dispatch";
else echo ::set-output name=force::'${{ inputs.force }}'; echo "workflow_call";
fi
######################################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
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-latest
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v2
# Set repo env variables
- name: Set repo/docker env variables
id: repo_env
run: |
REPO_NAME=${GITHUB_REPOSITORY#*/}
echo "REPO_NAME=${REPO_NAME}" >> ${GITHUB_ENV}
echo ::set-output name=repo_name::${REPO_NAME}
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
echo "DOCKER_NAMESPACE=${DOCKER_NAMESPACE}" >> ${GITHUB_ENV}
echo ::set-output name=docker_namespace::${DOCKER_NAMESPACE}
# Get tag of latest Medley release.
- name: Get Medley Release Information
id: release_info
uses: abatilo/release-info-action@v1.3.0
with:
owner: ${{ github.repository_owner }}
repo: medley
# Get asset tars from latest Medley release
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: ${{ github.repository_owner }}/medley
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "*"
out-file-path: "release_tars"
# Get Maiko release information about latest Maiko Docker Image
- name: Get info from latest Maiko image
id: maiko_setup
run: |
docker pull ${DOCKER_NAMESPACE}/maiko:latest
MAIKO_RELEASE=$(docker run --entrypoint /bin/bash ${DOCKER_NAMESPACE}/maiko:latest -c "echo \${MAIKO_RELEASE}")
echo "MAIKO_RELEASE=${MAIKO_RELEASE}" >> ${GITHUB_ENV}
echo ::set-output name=maiko_release::${MAIKO_RELEASE}
# Setup environment variables
- name: Setup Environment Variables
id: setup_env
run: |
RELEASE_TAG=${{ steps.release_info.outputs.latest_tag }}
DOCKER_IMAGE=${DOCKER_NAMESPACE}/${REPO_NAME}
DOCKER_TAGS="${DOCKER_IMAGE}:latest,${DOCKER_IMAGE}:${RELEASE_TAG#*-}_${MAIKO_RELEASE#*-}"
echo ::set-output name=docker_tags::${DOCKER_TAGS}
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo ::set-output name=release_tag::${RELEASE_TAG}
echo "release_tag=${RELEASE_TAG}" >> ${GITHUB_ENV}
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@master
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@master
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
uses: docker/login-action@v1
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@v2
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
BUILD_DATE=${{ steps.setup_env.outputs.build_time }}
RELEASE_TAG=${{ steps.setup_env.outputs.release_tag }}
MAIKO_RELEASE=${{ steps.setup_env.outputs.maiko_release }}
DOCKER_NAMESPACE=${{ steps.repo_env.outputs.docker_namespace }}
REPO_OWNER=${{ github.repository_owner }}
context: ./release_tars
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Push the result to DockerHub
push: true
tags: ${{ steps.setup_env.outputs.docker_tags }}
######################################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [inputs, sentry, build_and-push]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
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 ::set-output name=build_successful::'true'
######################################################################################

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

@@ -0,0 +1,253 @@
#*******************************************************************************
# 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 by Interlisp.org
#
# ******************************************************************************
name: Build/Push Medley Release
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
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:
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: string
default: 'false'
defaults:
run:
shell: bash
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-latest
outputs:
force: ${{ steps.force.outputs.force }}
steps:
- id: force
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then echo ::set-output name=force::'${{ github.event.inputs.force }}'; echo "workflow_dispatch";
else echo ::set-output name=force::'${{ inputs.force }}'; echo "workflow_call";
fi
######################################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
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"
######################################################################################
# Do the loadup
#
loadup:
runs-on: ubuntu-latest
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
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@v2
# Setup release tag
- name: Setup Release Tag
id: tag
uses: ./../actions/release-tag-action
# Setup environment variables
- name: Setup Environment Variables
id: setup_env
run: |
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
# Get Maiko release information, retrieves the name of the latest
# release. Used to download the correct Maiko release
- name: Get Maiko Release Information
id: latest_version
uses: abatilo/release-info-action@v1.3.0
with:
owner: ${{ github.repository_owner }}
repo: maiko
# Download Maiko Release Assets
- name: Download Release Assets
uses: robinraju/release-downloader@v1.2
with:
repository: ${{ github.repository_owner }}/maiko
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
fileName: "${{ steps.latest_version.outputs.latest_tag }}-linux.x86_64.tgz"
- name: Untar Maiko Release
run: |
tar -xvzf "${{ steps.latest_version.outputs.latest_tag }}-linux.x86_64.tgz"
- name: Install vnc
run: sudo apt-get update && sudo apt-get install -y tightvncserver
- name: Build Loadout
run: |
Xvnc -geometry 1280x720 :0 &
export DISPLAY=":0"
PATH="$PWD/maiko:$PATH"
scripts/loadup-all.sh
- name: Build loadups release tar
run: |
cp -p tmp/full.sysout tmp/lisp.sysout tmp/*.dribble tmp/whereis.hash loadups/
cp -p tmp/exports.all tmp/RDSYS tmp/RDSYS.LCOM library/
cd ..
tar cfz medley/tmp/${release_tag}-loadups.tgz \
medley/loadups/lisp.sysout \
medley/loadups/full.sysout \
medley/loadups/whereis.hash \
medley/library/exports.all \
medley/library/RDSYS/ \
medley/library/RDSYS.LCOM
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
- name: Build runtime release tar
run: |
cd ..
tar cfz medley/tmp/${release_tag}-runtime.tgz \
--exclude "*~" --exclude "*#*" \
medley/docs/dinfo \
medley/docs/Documentation\ Tools \
medley/greetfiles \
medley/run-medley \
medley/scripts \
medley/fonts/displayfonts \
medley/fonts/altofonts \
medley/fonts/postscriptfonts \
medley/library/ \
medley/lispusers/ \
medley/fonts/big \
medley/fonts/other \
medley/sources/ \
medley/internal/library
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
- name: Release notes
run: |
sed s/'$tag'/${{ steps.tag.outputs.release_tag }}/g < release-notes.md > tmp/release-notes.md
- name: Push the release
uses: ncipollo/release-action@v1.8.10
with:
artifacts: tmp/${{ env.release_tag }}-loadups.tgz,tmp/${{ env.release_tag }}-runtime.tgz
tag: ${{ env.release_tag }}
draft: true
bodyfile: tmp/release-notes.md
token: ${{ secrets.GITHUB_TOKEN }}
env:
release_tag: ${{ steps.tag.outputs.release_tag }}
######################################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
complete:
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [inputs, sentry, loadup]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v2
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 ::set-output name=build_successful::'true'
######################################################################################

View File

@@ -0,0 +1,36 @@
#*******************************************************************************
# 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.
#
# 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"
# Run this workflow on ...
on:
workflow_dispatch:
# Jobs that compose this workflow
jobs:
# Build Loadup
do_release:
uses: ./.github/workflows/buildLoadup.yml
# Build Docker Image
do_docker:
needs: do_release
uses: ./.github/workflows/buildDocker.yml
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

23
.github/workflows/testLogin.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: 'Test Docker Login'
# Run this workflow on ...
on:
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
login_test:
runs-on: ubuntu-latest
steps:
- id: only_step
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

34
BUILDING.md Normal file
View File

@@ -0,0 +1,34 @@
# How to build a medley release
Originally done only with shell scripts:
```
./scripts/loadup-all.sh
```
to make the loadups
```
./scripts/loadup-and-release.sh
```
to go on to make the tgz files and release them
# Using github actions
In the github medley repository (Interlisp/medley) go to the Actions tab.
It will list the available github actions, select: **Build Medley Release**.
In the middle of the screen there's 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.
# How to create a Docker image for the latest Medley release
In the github medley repository (Interlisp/medley) go to the Actions tab.
It will list the available github actions, select: **Build Medley Docker image**.
A table is presented which lists the previous runs of the workflow. If the workflow has never been run, it will be empty. A the top of the list is a row labeled, 'This workflow has a workflow_dispatch event trigger.' with a drop down menu labeled 'Run workflow'. Select it.
A box will be presented asking, 'Use workflow from' with a drop down menu of all available branches. The default branch is **master**. Leave it selected and push the green 'Run workflow' button.
The workflow will be queued to run and start running.
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.

View File

@@ -1,19 +1,54 @@
FROM interlisp/maiko:latest
ARG BUILD_DATE
LABEL name="Medley"
LABEL description="The Medley Interlisp environment"
LABEL url="https://github.com/Interlisp/medley"
LABEL build-time=$BUILD_DATE
#*******************************************************************************
#
# Dockerfile to build Medley image from latest Maiko image
# plus latest release tars from github
#
# Copyright 2022 by Interlisp.org
#
# ******************************************************************************
ARG DOCKER_NAMESPACE=interlisp
FROM ${DOCKER_NAMESPACE}/maiko:latest
# Add tightvnc server to the image
RUN apt-get update && apt-get install -y tightvncserver
# Handle ARGs, ENV variables, and LABELs
ARG BUILD_DATE=unknown
ARG RELEASE_TAG=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-time=$BUILD_DATE
LABEL release_tag=$RELEASE_TAG
LABEL maiko_release=$MAIKO_RELEASE
ENV MEDLEY_BUILD_DATE=$BUILD_DATE
ENV MEDLEY_RELEASE=$RELEASE_TAG
ARG INSTALL_LOCATION=/usr/local/interlisp
ENV INSTALL_LOCATION=${INSTALL_LOCATION}
ARG DOCKER_NAMESPACE=interlisp
ENV DOCKER_NAMESPACE=${DOCKER_NAMESPACE}
# Copy over the release tars
RUN mkdir -p ${INSTALL_LOCATION}
ADD ./*.tgz ${INSTALL_LOCATION}
# Create a run_medley script in /usr/local/bin
RUN mkdir -p /usr/local/bin && \
echo "#!/bin/bash" > /usr/local/bin/run-medley && \
echo "cd ${INSTALL_LOCATION}" >> /usr/local/bin/run-medley && \
echo './run-medley "$@"' >> /usr/local/bin/run-medley && \
chmod ugo+x /usr/local/bin/run-medley
# "Finalize" image
EXPOSE 5900
# Need to refine this down to only needed directories.
COPY . /app/medley
WORKDIR /app/medley
RUN adduser --disabled-password --gecos "" medley
USER medley
ENTRYPOINT USER=medley Xvnc -geometry 1280x720 :0 & DISPLAY=:0 PATH="/app/maiko:$PATH" ./run-medley -full -g 1280x720 -sc 1280x720
WORKDIR /home/medley
ENTRYPOINT USER=medley Xvnc -geometry 1280x720 :0 & DISPLAY=:0 ${INSTALL_LOCATION}/medley/run-medley -full -g 1280x720 -sc 1280x720

106
README.md
View File

@@ -1,26 +1,72 @@
# Medley
This repository is for the Lisp environment of [Medley Interlisp](https://Interlisp.org).
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!
See the [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview and pointers to available documentation.
See [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview, and other pointers.
A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine.
A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine.
## Using releases
There currently are separate releases of medley and maiko; get the latest version of each.
There (soon) will also be Docker containers with the latest, and a way to try out Medley in the cloud (without installing).
## Instructions for Building and Running
### Getting releases
Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). You'll need the one 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 M1.)
Or, build your own maiko (the binaries `lde` `ldex` and `ldeinit`.) We can build for other OS arch pairs depending on what is available for GitHub actions.
The medley release comes in two parts, found [here](https://github.com/Interlisp/medley/releases)
1. The "loadups" (download `medley-`YYMMDD`-loadups.tgz`)
2. The "runtime" (download `medley-`YYMMDD`-runtime.tgz`)
You don't need the "runtime" if you've cloned this (medley) repo.
If you happen to have the 'gh' GitHub command line installed you can download both using
```
gh release download -R Interlisp/medley -p "*"
```
but otherwise just click on the link(s) to the parts you need.
### Unpacking releases
From a shell/terminal window:
1. Choose where you want to install medley and maiko.
Unpack the medley loadups file
* `cd ` ~parent~
* `tar -xvfz medley-`YYMMDD`-loadups.tgz`
2. Unpack the medley runtime OR clone the Medley repo
(the "medley runtime" is just a subset of the whole repo)
* `tar -xvfz medley-`YYMMDD`-runtime.tgz`
OR
```
git clone https://github.com/Interlisp/medley
```
3. Unpack the maiko file for your operating system and CPU type, e.g.,
```
tar -xvfz maiko-210823.linux.x86_64.tgz
```
3. 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.
Medley Interlisp currently needs 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.
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 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.
### Running Medley Interlisp
The `run-medley` script in this repo sets up some convenient defaults. Running Medley can be done by typing:
@@ -35,9 +81,6 @@ 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
@@ -56,7 +99,7 @@ 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
@@ -73,23 +116,34 @@ files. A .TEDIT or .TXT file is probably documentation
for the package of same name, at least in the library,
internal/library, lispusers.
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
* 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 ANSII standard lisp.
* Dockerfile -- used when building Docker containers with Medley
* docs -- Documentation files (either PDFs or online help; see medley/wiki)
* 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 -- 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
* 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
tmp directory for use during build processes

11
docs/README.md Normal file
View File

@@ -0,0 +1,11 @@
This directory has:
* dinfo -- files for HelpSys man command Interlisp Reference Manual
* Documentation Tools -- should be moved into Library
* Various conversions of Medley legacy documentation
Needs to be cleaned up. Putting PDF files in the repo doesn't seem right;
we can make PS and PDF files as part of building a loadup

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

1822
docs/medley-irm/003-TOC.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

1676
docs/medley-irm/01-INTRO.pdf Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

10439
docs/medley-irm/03-lists.pdf Normal file

File diff suppressed because it is too large Load Diff

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.

1222
docs/medley-irm/05-ARRAY.pdf Normal file

File diff suppressed because it is too large Load Diff

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 one or more lines are too long

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

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 one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

8726
docs/medley-irm/12-MISC.pdf Normal file

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.

11885
docs/medley-irm/14-ERRORS.pdf Normal file

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.

28838
docs/medley-irm/16-SEDIT.pdf Normal file

File diff suppressed because one or more lines are too long

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 one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

11689
docs/medley-irm/19-DWIM.pdf Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

13584
docs/medley-irm/20-CLISP.pdf Normal file

File diff suppressed because it is too large Load Diff

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 one or more lines are too long

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.

14529
docs/medley-irm/23-STREAMS.pdf Normal file

File diff suppressed because it is too large Load Diff

141
docs/medley-irm/24-IO.TEDIT Normal file

File diff suppressed because one or more lines are too long

19565
docs/medley-irm/24-IO.pdf Normal file

File diff suppressed because it is too large Load Diff

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

File diff suppressed because one or more lines are too long

Binary file not shown.

27263
docs/medley-irm/27-WINDOWS.pdf Normal file

File diff suppressed because one or more lines are too long

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.

File diff suppressed because it is too large Load Diff

16
fonts/README.md Normal file
View File

@@ -0,0 +1,16 @@
# Fonts
These are a not-very-well curated directories of fonts.
"adobe" -- display versions of Postscript's fonts
palatino 8 9 10 12 14 18
"altofonts" -- random remnants of fonts used with Alto
"big" -- supposedly bigger fonts but turned out not (see #482)
"displayfonts" -- separated into directories by charset
"ipfonts" -- fonts (or font width information for Xeorx Interpress file format.
"other" -- random fonts associated with lispusers packages and not available elsewhere.
"postscriptfonts" -- fonts for postscript
"press" -- fonts for the older-than-interpress "press" format.
"xeroxprivate" -- ?? Seems like junk

64
greetfiles/MEDLEYDIR-INIT Normal file
View File

@@ -0,0 +1,64 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 2-Dec-2021 21:13:55" {DSK}<home>larry>medley>greetfiles>MEDLEYDIR-INIT.;3 2392
changes to%: (VARS MEDLEYDIR-INITCOMS)
(FNS INTERLISPMODE)
previous date%: "14-Nov-2021 22:34:49" {DSK}<home>larry>medley>greetfiles>MEDLEYDIR-INIT.;1)
(PRETTYCOMPRINT MEDLEYDIR-INITCOMS)
(RPAQQ MEDLEYDIR-INITCOMS
([P (LOAD? (CONCAT (OR (UNIX-GETENV "MEDLEYDIR")
"")
"/sources/MEDLEYDIR.LCOM"))
(MEDLEY-INIT-VARS)
(KEYACTION 'LOCK '(LOCKTOGGLE . IGNORE]
(FILES BACKGROUND-YIELD)
(VARS (FILING.ENUMERATION.DEPTH 1)
[LOGINDIR (DIRECTORYNAME (OR (UNIX-GETENV "LOGINDIR")
(UNIX-GETENV "HOME"]
[USERGREETFILES `((,LOGINDIR "INIT" COM)
(,LOGINDIR "INIT"]
(COPYRIGHTSRESERVED NIL))
(FNS INTERLISPMODE)))
(LOAD? (CONCAT (OR (UNIX-GETENV "MEDLEYDIR")
"")
"/sources/MEDLEYDIR.LCOM"))
(MEDLEY-INIT-VARS)
(KEYACTION 'LOCK '(LOCKTOGGLE . IGNORE))
(FILESLOAD BACKGROUND-YIELD)
(RPAQQ FILING.ENUMERATION.DEPTH 1)
(RPAQ LOGINDIR (DIRECTORYNAME (OR (UNIX-GETENV "LOGINDIR")
(UNIX-GETENV "HOME"))))
(RPAQ USERGREETFILES `((,LOGINDIR "INIT" COM)
(,LOGINDIR "INIT")))
(RPAQQ COPYRIGHTSRESERVED NIL)
(DEFINEQ
(INTERLISPMODE
[LAMBDA (OLD?) (* N.H.Briggs " 2-Feb-88 14:26")
(PROCESSPROP 'EXEC 'PROFILE (XCL:COPY-PROFILE (if OLD?
then "OLD-INTERLISP-T"
else "INTERLISP")))
(XCL:SET-DEFAULT-EXEC-TYPE (if OLD?
then "OLD-INTERLISP-T"
else "INTERLISP"))
(SETQ *DEFAULT-MAKEFILE-ENVIRONMENT* (LIST :READTABLE (if OLD?
then "OLD-INTERLISP-FILE"
else "INTERLISP")
:PACKAGE "INTERLISP"])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1544 2369 (INTERLISPMODE 1554 . 2367)))))
STOP

Binary file not shown.

10
greetfiles/README.md Normal file
View File

@@ -0,0 +1,10 @@
# medley/greetfiles
This directory is somewhat vestigal -- it originally was used to hold 'initialization' files for everyone. Medley repo has only two:
NOGREET -- file to set as "system init" when doing loadups that don't want any personalization.
SIMPLE-INIT -- system init for git-directory relative directory structure.
Contains INTERLISPMODE.

View File

@@ -1,4 +0,0 @@
lldb ../../maiko/darwin.386/ldeinit
break set -n error
run ./INIT.DLINIT -INIT -NF

View File

@@ -1,10 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 1-Sep-2021 21:13:57" {DSK}<home>larry>medley>internal>library>MAKE-PS.;6 5503
changes to%: (VARS MAKE-PSCOMS)
(FNS MAKE-PS-INIT)
(FILECREATED "17-Oct-2021 16:06:41" {DSK}<home>larry>medley>internal>library>MAKE-PS.;2 5515
previous date%: "31-Aug-2021 22:30:13" {DSK}<home>larry>medley>internal>library>MAKE-PS.;4)
changes to%: (FILES DOC-OBJECTS)
(VARS MAKE-PSCOMS)
previous date%: " 1-Sep-2021 21:13:57" {DSK}<home>larry>medley>internal>library>MAKE-PS.;1)
(PRETTYCOMPRINT MAKE-PSCOMS)
@@ -14,7 +15,7 @@
(* ;; " Load known used image object types")
(FILES DOC-OBJECTS EQUATIONS IMINDEX IMNAME IMTEDIT IMTOOLS IMTRAN MATHTONS SKETCH)
(FILES DOC-OBJECTS EQUATIONS IMINDEX IMNAME IMTEDIT IMTOOLS IMTRAN MATHTONS SKETCH TMAX)
(ADVISE TEDIT.PROMPTPRINT)
(INITVARS (BADFILESFILE)
(BADFS)
@@ -113,7 +114,7 @@
(* ;; " Load known used image object types")
(FILESLOAD DOC-OBJECTS EQUATIONS IMINDEX IMNAME IMTEDIT IMTOOLS IMTRAN MATHTONS SKETCH)
(FILESLOAD DOC-OBJECTS EQUATIONS IMINDEX IMNAME IMTEDIT IMTOOLS IMTRAN MATHTONS SKETCH TMAX)
[XCL:REINSTALL-ADVICE 'TEDIT.PROMPTPRINT :BEFORE '((:LAST (PRIN1 MSG T]
@@ -129,5 +130,5 @@
(MAKE-PS-INIT)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (786 5110 (MAKE-PS 796 . 4293) (MAKE-PS-INIT 4295 . 4731) (BADFILE 4733 . 5108)))))
(FILEMAP (NIL (793 5117 (MAKE-PS 803 . 4300) (MAKE-PS-INIT 4302 . 4738) (BADFILE 4740 . 5115)))))
STOP

Binary file not shown.

View File

@@ -1,38 +1,128 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP")
(FILECREATED "28-Mar-2021 10:17:29" 
|{DSK}<home>larry>ilisp>medley>internal>library>MEDLEY-UTILS.;4| 3190
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|changes| |to:| (VARS MEDLEY-UTILSCOMS)
(FILECREATED "26-Dec-2021 18:58:43" |{DSK}<home>larry>medley>internal>library>MEDLEY-UTILS.;2| 9049
|previous| |date:| "24-Mar-2021 15:45:15"
|{DSK}<home>larry>ilisp>medley>internal>library>MEDLEY-UTILS.;3|)
:CHANGES-TO (FNS GATHER-INFO)
:PREVIOUS-DATE "25-Oct-2021 14:54:43" |{DSK}<home>larry>medley>internal>library>MEDLEY-UTILS.;1|
)
(PRETTYCOMPRINT MEDLEY-UTILSCOMS)
(RPAQQ MEDLEY-UTILSCOMS ((FNS MEDLEY-FIX-LINKS MEDLEY-FIX-DATES)
(VARS MEDLEY-FIX-DIRS)
(FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)))
(RPAQQ MEDLEY-UTILSCOMS ((FNS GATHER-INFO MEDLEY-FIX-LINKS MEDLEY-FIX-DATES)
(VARS MEDLEY-FIX-DIRS)
(FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)))
(DEFINEQ
(GATHER-INFO
(LAMBDA (PHASE) (* \;
 "Edited 26-Dec-2021 18:56 by larry")
(* \;
 "Edited 24-Oct-2021 09:43 by larry")
(SELECTQ PHASE
(ALL (|for| I |from| 0 |to| 4 |do| (GATHER-INFO I)))
(0 (SETQ SYSFILES (UNION SYSFILES FILELST))
(SETQ FILELST NIL)
(FILESLOAD (SOURCE)
SYSEDIT))
(1 (SETQ LOADEDFILES (|for| X |in| LOADEDFILELST |collect| (FILENAMEFIELD X 'NAME)))
(FILESLOAD FILESETS)
(SETQ ALLFILESETSFILES (|for| X |in| FILESETS |join| (APPEND (EVAL X))))
(SETQ SOURCES (|for| X |in| (DIRECTORY (MEDLEYDIR "sources" "*.*;" T))
|when| (NOT (MEMB (FILENAMEFIELD X 'EXTENSION)
'(LCOM DFASL TEDIT TXT)))
|collect| (FILENAMEFIELD X 'NAME))))
(-1 (PRINTOUT T " loaded files not in SYSFILES or FILELST: "
(|for| X |in| LOADEDFILES |when| (NOT (OR (FMEMB X SYSFILES)
(FMEMB X FILELST))) |collect| X)
T)
(PRINTOUT T "Sources not loaded: " (CL:SET-DIFFERENCE SOURCES (APPEND ALLFILESETSFILES
LOADEDFILES))
T)
(PRINTOUT T "Files in FILESETS not loaded " (CL:SET-DIFFERENCE ALLFILESETSFILES
LOADEDFILES)
T))
(2 (SETQ DEFINEDFNS (LET ((DEFD NIL))
(MAPATOMS (FUNCTION (CL:LAMBDA (X)
(CL:WHEN (GETD X)
(CL:SETQ DEFD (CONS X DEFD))))))
DEFD))
(|for| X |in| DEFINEDFNS |when| (CCODEP X)
|do| (LET ((Y (PUTPROP X 'CCC (CALLSCCODE X))))
(|for| REV |in| '(BLOCK-CALLED-BY CALLED-BY SPECIAL-BY GLOBAL-BY)
|as| VAL |in| Y |do| (|for| S |in| VAL
|do| (PUTPROP S REV (CONS X (GETPROP S REV)))))))
(SETQ CALLEDFNS NIL)
(MAPATOMS (FUNCTION (LAMBDA (X)
(|if| (AND (NOT (GETD X))
(GETPROP X 'CALLED-BY))
|then| (CL:PUSH X CALLEDFNS))))))
(-2 (PRINTOUT T "Functions called and not defined" CALLEDFNS T))
(3 (|for| X |in| SYSFILES
|do| (LOAD X 'PROP)
(PUTPROP X 'CONTENT (READFILE X))
(|for| EXR |in| (GETPROP X 'CONTENT)
|do| (SELECTQ (CAR EXR)
(DEFINEQ (|for| DFN |in| (CDR EXR)
|do| (|if| (EQUAL (CADR DFN)
(GETPROP (CAR DFN)
'EXPR))
|then| (PRINTOUT T (CAR DFN)
" ")
(PUTPROP (CAR DFN)
'EXPR
(CADR DFN))
|else| (PRINTOUT T (CAR DFN)
"* "))))
NIL)))
(SETQ ALLCONTENT (|for| X |in| SYSFILES |collect| (CONS X (GETPROP X 'CONTENT))))
(* \; " don't edit with SEDIT")
(LET (DUPS)
(|for| X |in| SYSFILES
|do| (|for| FN |in| (FILEFNSLST X)
|do| (|if| (GETPROP FN 'WHEREIS)
|then| (NCONC1 (GETPROP FN 'WHEREIS)
X)
(OR (FMEMB FN DUPS)
(SETQ DUPS (CONS FN DUPS)))
|else| (PUTPROP FN 'WHEREIS (LIST X)))))
(SETQ DUPFNS DUPS))
(SETQ NO-SOURCE (|for| X |in| DEFINEDFNS |when| (NOT (GETPROP X 'EXPR)) |collect| X)))
(-3 (PRINTOUT T "Functions compiled but no expr" NO-SOURCE T)
(PRINTOUT T "Functions on more than one file: " DUPFNS T))
(4 (PRINTOUT T T "STARTING MASTERSCOPE PHASE ON " (DATE)
T)
(FILESLOAD (SOURCE)
SYSEDIT)
(|for| X |in| SYSFILES |do| (MSNOTICEFILE X))
(|for| X |in| SYSFILES |do| (PRINTOUT T T "Analyzing " X T)
(MASTERSCOPE `(ANALYZE ON ,(KWOTE X)))))
(-4 "No queries yet")
(HELP))))
(MEDLEY-FIX-LINKS
(LAMBDA (UNIXPATH) (* \; "Edited 18-Jan-2021 12:01 by larry")
(LAMBDA (UNIXPATH) (* \;
 "Edited 18-Jan-2021 12:01 by larry")
(OR UNIXPATH (SETQ UNIXPATH (UNIX-GETENV "MEDLEYDIR"))
(ERROR "No Directory")) (* \; "Edited 18-Jan-2021 11:45 by larry")
(ERROR "No Directory")) (* \;
 "Edited 18-Jan-2021 11:45 by larry")
(|ShellCommand| (CONCAT "cd " UNIXPATH " && /bin/sh scripts/fixlinks && /bin/sh /tmp/doit"))))
(MEDLEY-FIX-DATES
(LAMBDA (DIRS) (* \; "Edited 28-Jan-2021 12:15 by larry")
(LAMBDA (DIRS) (* \;
 "Edited 28-Jan-2021 12:15 by larry")
(|for| X |in| (OR DIRS MEDLEY-FIX-DIRS) |join| (FIX-DIRECTORY-DATES
(MEDLEYDIR (PRINT X T))))))
)
(RPAQQ MEDLEY-FIX-DIRS ("sources" "library" "lispusers" "internal/library" "greetfiles"
"docs>Documentation Tools"))
"docs>Documentation Tools"))
(DEFINEQ
(MAKE-EXPORTS-ALL
(LAMBDA NIL (* \; "Edited 9-Mar-2021 16:11 by larry")
(LAMBDA NIL (* \;
 "Edited 9-Mar-2021 16:11 by larry")
(* "Edited May 3, 2018 by Ron Kaplan--relative to MEDLEYDIR/lispcore/. Don't know why it does the CORE/RENAME")
(*
 "Edited Aug 17 94 by Sybalsky -- point it to /king/export/lispcore as the truth directory.")
@@ -45,7 +135,8 @@
(GATHEREXPORTS EXPORTFILES (MEDLEYDIR "tmp" "exports.all" T))))
(MAKE-WHEREIS-HASH
(LAMBDA NIL (* \; "Edited 24-Mar-2021 13:26 by larry")
(LAMBDA NIL (* \;
 "Edited 24-Mar-2021 13:26 by larry")
(LET ((FILING.ENUMERATION.DEPTH 1)
HASHFILE)
(DRIBBLE (MEDLEYDIR "tmp" "whereis.dribble" T))
@@ -59,6 +150,6 @@
(DRIBBLE))))
)
(DECLARE\: DONTCOPY
(FILEMAP (NIL (567 1272 (MEDLEY-FIX-LINKS 577 . 966) (MEDLEY-FIX-DATES 968 . 1270)) (1430 3167 (
MAKE-EXPORTS-ALL 1440 . 2389) (MAKE-WHEREIS-HASH 2391 . 3165)))))
(FILEMAP (NIL (553 7001 (GATHER-INFO 563 . 6103) (MEDLEY-FIX-LINKS 6105 . 6628) (MEDLEY-FIX-DATES 6630
. 6999)) (7155 9026 (MAKE-EXPORTS-ALL 7165 . 8181) (MAKE-WHEREIS-HASH 8183 . 9024)))))
STOP

Binary file not shown.

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "16-Nov-94 16:28:04" |{DSK}<lispcore>internal>library>MULTI-COMPILE.;4| 37236
(FILECREATED "25-Sep-2021 21:28:08" 
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>internal>library>MULTI-COMPILE.;2| 37172
|changes| |to:| (VARS MULTI-COMPILECOMS)
(FNS FIND-UNCOMPILED-FILES)
|previous| |date:| " 9-Sep-94 13:03:19" |{DSK}<lispcore>internal>library>MULTI-COMPILE.;3|)
|previous| |date:| "16-Nov-94 16:28:04"
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>internal>library>MULTI-COMPILE.;1|)
; Copyright (c) 1988, 1990, 1991, 1992, 1993, 1994 by Venue & Xerox Corporation. All rights reserved.
; Copyright (c) 1988, 1990-1994, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT MULTI-COMPILECOMS)
@@ -601,12 +600,12 @@
(ADDTOVAR LAMA FIX-FILES)
)
(PUTPROPS MULTI-COMPILE COPYRIGHT ("Venue & Xerox Corporation" 1988 1990 1991 1992 1993 1994))
(PUTPROPS MULTI-COMPILE COPYRIGHT ("Venue & Xerox Corporation" 1988 1990 1991 1992 1993 1994 2021))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (7131 8389 (FIND-UNCOMPILED-FILES 7141 . 8387)) (8461 19787 (NEWERDCOMS? 8471 . 12445) (
NEWERSOURCES? 12447 . 16359) (SETUP-FOR-RECOMPILE 16361 . 18749) (SMASH-OPCODES 18751 . 19269) (
GET-DIRECTORY-LISTING 19271 . 19568) (GET-OPEN-FILES 19570 . 19785)) (31690 36610 (FIX-FILES 31700 .
34497) (FIX-FILE 34499 . 35090) (FIX-COPYRIGHT 35092 . 35319) (FIX-FILE-COPYRIGHT 35321 . 35481) (
QUALIFY-FIELDS 35483 . 36022) (FIX-TEDIT 36024 . 36330) (FIX-DOCS 36332 . 36608)) (36735 36917 (CLFIX
36745 . 36915)))))
(FILEMAP (NIL (2676 6156 (BIGCOMP 2676 . 6156)) (6289 7061 (FIND-ALL-SOURCE-FILES 6289 . 7061)) (7062
8320 (FIND-UNCOMPILED-FILES 7072 . 8318)) (8392 19718 (NEWERDCOMS? 8402 . 12376) (NEWERSOURCES? 12378
. 16290) (SETUP-FOR-RECOMPILE 16292 . 18680) (SMASH-OPCODES 18682 . 19200) (GET-DIRECTORY-LISTING
19202 . 19499) (GET-OPEN-FILES 19501 . 19716)) (31621 36541 (FIX-FILES 31631 . 34428) (FIX-FILE 34430
. 35021) (FIX-COPYRIGHT 35023 . 35250) (FIX-FILE-COPYRIGHT 35252 . 35412) (QUALIFY-FIELDS 35414 .
35953) (FIX-TEDIT 35955 . 36261) (FIX-DOCS 36263 . 36539)) (36666 36848 (CLFIX 36676 . 36846)))))
STOP

View File

@@ -1,91 +0,0 @@
;; Function To Be Tested: LIST*
;;
;; Source: Guy L Steele's CLTL
;; Section: 15.2 Lists
;; Page: 267
;;
;; Created By: Kelly Roach
;;
;; Creation Date: June 27,1986
;;
;; Last Update: June 27,1986
;; July 15, 1986 Sye/ create test cases
;;
;; Filed As: {ERIS}<LISPCORE>CML>TEST>15-2-LIST*.TEST
;;
;;
;; Syntax: (LIST* ARG &REST OTHERS)
;;
;; Function Description:
;; LIST* is like LIST except that the last CONS
;; of the constructed list is ``dotted.'' The last argument to LIST*
;; is used as the CDR of the last cons constructed;
;; this need not be an atom. If it is not an atom,
;; then the effect is to add several new elements to the front of a list.
;; For example:
;;
;; (LIST* 'A 'B 'C 'D) => (A B C . D)
;; This is like
;; (CONS 'A (CONS 'B (CONS 'C 'D)))
;; Also:
;; (LIST* 'A 'B 'C '(D E F)) => (A B C D E F)
;; (LIST* X) = X
;;
;;
;; Argument(s): ARG - anything
;; OTHERS - anything
;;
;; Returns: a dotted list
;;
(do-test "test list*0 - test case copied from page 267 of CLtL"
(and (EQUAL (LIST* 'A 'B 'C 'D) '(A B C . D))
(EQUAL (LIST* 'A 'B 'C '(D E F)) '(A B C D E F))
(EQUAL (LIST* 'X) 'X)
)
)
(do-test "test list*1"
(and (equal (list* 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999
999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999)
(append (make-list 48 :initial-element 999) '(999 . 999)))
(equal (list* "evening" 'sun 'reflected "in Lake" 'Shanti) '("evening" sun reflected "in Lake" . Shanti))
)
)
(do-test "test list*2"
(equal (list* 1.009 'a (cons 3 4) (funcall #'list* 2.009 #\g "string") (every #'evenp '(2 4 6 8)) (not (or 1 100 1000 0))
(apply #'list* 'm 'n 'b '(88)) (list* (+ 2 3) (caddr '(w x y z))) )
'(1.009 a (3 . 4) (2.009 #\g . "string") t nil (m n b . 88) 5 . y)))
(do-test "test list*3"
(progn
(setq aa '(a b c d e f g h))
(equal (list* (last aa) (nth 3 aa) (nthcdr 5 aa) (list* (car aa) (endp aa))
(progn 1 2 3 (setq x 1 y 2 z 3))
(prog2 (defun fun () "fun1") (fun))
(prog1 (setq a 100) (setq a (1+ a)))
(progn (defmacro mac () `(list* ,(* 2 2) ,(list-length ()))) (mac)))
'( (h) d (f g h) (a . nil) 3 "fun1" 100 4 . 0)) ))
(do-test "test list*4 - nested list* functions"
(and
(equal (setq aa (list* (list* (list* (list* (list* (list* (list* (list* (list* (list* 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k)))))))))))
'(a b c d e f g h i j . k) )
(equal (list* aa aa aa aa aa)
'((a b c d e f g h i j . k) (a b c d e f g h i j . k) (a b c d e f g h i j . k) (a b c d e f g h i j . k)
a b c d e f g h i j . k) )
)
)
(do-test "test list*5 - (list* x) is equivalent to x [page 268]"
(and (eq (list* ()) ())
(eq (list* 10) 10)
(equal (list* '(1)) '(1))
(equal (list* (list* (list 2))) '(2))
(prog2 (setq a (list* #'-)) (= (funcall a 4 3 2 1) -2))
(equal (list* (list (list* 1 2 3) '(4) ) '(5 . "a")) '(((1 2 . 3) (4)) 5 . "a"))
)
)
STOP

View File

@@ -1,15 +1,15 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "13-Jun-2021 14:02:38" 
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>BIGBITMAPS.;5| 113115
|changes| |to:| (FNS \\DRAWLINE.BIGBM.DASH \\DRAWLINE.BIGBM.NODASH BIGBITMAPP)
(FILECREATED "26-Oct-2021 14:51:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;7| 110451
|changes| |to:| (FNS UNCOLORIZEBITMAP COLORIZEBITMAP \\BWTOCOLORBLT)
(VARS BIGBITMAPSCOMS)
(MACROS |\\SFInvert|)
|previous| |date:| "10-May-2021 15:37:51"
|{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>BIGBITMAPS.;1|)
|previous| |date:| "13-Jun-2021 14:02:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;5|)
; Copyright (c) 1991, 1993-1994, 2021 by Venue.
; Copyright (c) 1991, 1993-1994 by Venue.
(PRETTYCOMPRINT BIGBITMAPSCOMS)
@@ -69,11 +69,7 @@
(PUTPROPS |\\SFInvert| MACRO ((|BitMap| \y)
(* |corrects| |for| |the| |fact| |that| |alto| |bitmaps| |are| |stored| |with|
 0\,0 |as| |upper| |left| |while| |lisp| |bitmaps| |have| 0\,0 |as| |lower|
 |left.| |The| |correction| |is| |actually| |off| |by| |one|
 (|greater|) |because| \a |majority| |of| |the| |places| |that| |it| |is|
 |called| |actually| |need| |one| |more| |than| |corrected| Y |value.|)
(* |;;| "corrects for the fact that alto bitmaps are stored with 0,0 as upper left while lisp bitmaps have 0,0 as lower left. The correction is actually off by one (greater) because a majority of the places that it is called actually need one more than corrected Y value.")
(IDIFFERENCE (|fetch| (BITMAP BITMAPHEIGHT) |of|
|BitMap|)
@@ -1478,11 +1474,12 @@
(DEFINEQ
(COLORIZEBITMAP
(LAMBDA (BITMAP 0COLOR 1COLOR BITSPERPIXEL) (* \; "Edited 13-Jul-90 14:42 by matsuda")
(LAMBDA (BITMAP 0COLOR 1COLOR BITSPERPIXEL) (* \;
 "Edited 26-Oct-2021 14:23 by larry")
(* \;
 "Edited 13-Jul-90 14:42 by matsuda")
(* |creates| \a |copy| |of| BITMAP |that| |is| |in| |color| |form| |allowing|
 BITSPERPIXEL |per| |pixel.| 0COLOR |and| 1COLOR |are| |the| |color| |numbers|
 |that| |get| |translated| |from| 0 |and| 1 |respectively.|)
(* |;;| "creates a copy of BITMAP that is in color form allowing BITSPERPIXEL per pixel. 0COLOR and 1COLOR are the color numbers that get translated from 0 and 1 respectively.")
(PROG (COLORBITMAP)
(SETQ COLORBITMAP (BITMAPCREATE (|fetch| (BITMAP BITMAPWIDTH) |of| BITMAP)
@@ -1516,14 +1513,20 @@
(RETURN COLORBITMAP))))
(\\BWTOCOLORBLT
(LAMBDA (SOURCEBWBM SLEFT SBOTTOM DESTCOLORBM DLEFT DBOTTOM WIDTH HEIGHT 0COLOR 1COLOR DESTNBITS)
(* \; "Edited 8-May-2021 22:31 by rmk:")
(LAMBDA (SOURCEBWBM SLEFT SBOTTOM DESTCOLORBM DLEFT DBOTTOM WIDTH HEIGHT 0COLOR 1COLOR DESTNBITS)
(* \;
 "Edited 26-Oct-2021 14:36 by larry")
(* \;
 "Edited 26-Oct-2021 14:32 by larry")
(* \;
 "Edited 26-Oct-2021 14:26 by larry")
(* \;
 "Edited 8-May-2021 22:31 by rmk:")
(* |;;| "blits from a black and white bitmap into a color bitmap which has DESTNBITS bits per pixel. DESTCOLORBM is a pointer to the color bitmap.")
(* |;;| "assumes all datatypes and bounds have been checked")
(* |blits| |from| \a |black| |and| |white| |bitmap| |into| \a |color| |bitmap|
 |which| |has| DESTNBITS |bits| |per| |pixel.|
 DESTCOLORBM |is| \a |pointer| |to| |the| |color| |bitmap.|)
(* |assumes| |all| |datatypes| |and|
 |bounds| |have| |been| |checked|)
(SELECTQ DESTNBITS
(4 (PROG (MAP SRCBASE SRCHEIGHT SRCRW SRCWRD SRCOFFSET DESBASE DESHEIGHT DESRW DESWRD DESOFF
NBITS DESALIGNLEFT SCR)
@@ -1538,24 +1541,24 @@
(SETQ DESRW (|fetch| (BITMAP BITMAPRASTERWIDTH) |of| DESTCOLORBM))
(SETQ DESWRD (FOLDLO DLEFT 4))
(SETQ DESOFF (MOD DLEFT 4))
(SETQ NBITS 4) (* DESTCOLORBM |is| |used| |to|
 |allow| |one| |bit| |per| |pixel|
 |bitblt| |operations| |on| |the|
 |bitmap.|)
(SETQ NBITS 4)
(* |;;|
 "DESTCOLORBM is used to allow one bit per pixel bitblt operations on the bitmap.")
(COND
((NOT (EQ 0 DESOFF)) (* |save| |the| |left| |bits| |of|
 |the| |destination| |bitmap| |so|
 |it| |can| |be| |word| |aligned.|)
((NOT (EQ 0 DESOFF))
(* |;;|
 "save the left bits of the destination bitmap so it can be word aligned.")
(SETQ SCR (BITMAPCREATE 4 HEIGHT 4))
(BITBLT DESTCOLORBM (SETQ DESALIGNLEFT (LLSH DESWRD 2))
DBOTTOM SCR 0 0 DESOFF HEIGHT 'INPUT 'REPLACE)))
(|for| LINECOUNTER |from| 1 |to| HEIGHT
|do|
(* |linecounter| |goes| |from| 1 |to| |height| |because| |bitmaps| |are|
 |stored| |internally| |with| |top| |first| |so| |subtracting| |height| |is|
 |necessary| |to| |get| |offset| |of| |line| |and| |the| 1 |corrects| |for|
 |height| |difference.|)
(* |;;| "linecounter goes from 1 to height because bitmaps are stored internally with top first so subtracting height is necessary to get offset of line and the 1 corrects for height difference.")
(\\4BITLINEBLT (\\ADDBASE SRCBASE (IPLUS (ITIMES (IDIFFERENCE SRCHEIGHT
(IPLUS LINECOUNTER
@@ -1570,9 +1573,11 @@
DESWRD))
WIDTH MAP 0COLOR 1COLOR))
(COND
(DESALIGNLEFT (* |move| |the| |color| |bits| |to|
 |the| |right| |and| |restore| |the|
 |saved| |color| |bits.|)
(DESALIGNLEFT
(* |;;|
 "move the color bits to the right and restore the saved color bits.")
(BITBLT DESTCOLORBM DESALIGNLEFT DBOTTOM DESTCOLORBM (IPLUS
DESALIGNLEFT
DESOFF)
@@ -1580,32 +1585,8 @@
(BITBLT SCR 0 0 DESTCOLORBM DESALIGNLEFT DBOTTOM DESOFF HEIGHT
'INPUT
'REPLACE)))))
(8
(* PROG (MAP SRCBASE SRCHEIGHT SRCRW SRCWRD SRCOFFSET DESBASE DESHEIGHT DESRW
 DESWRD DESOFF) (SETQ MAP (|fetch| (ARRAYP BASE) |of|
 (\\MAP8 0COLOR 1COLOR))) (SETQ SRCBASE (|fetch|
 (BITMAP BITMAPBASE) |of| SOURCEBWBM)) (SETQ SRCHEIGHT
 (|fetch| (BITMAP BITMAPHEIGHT) |of| SOURCEBWBM))
 (SETQ SRCRW (|fetch| (BITMAP BITMAPRASTERWIDTH) |of| SOURCEBWBM))
 (SETQ SRCWRD (FOLDLO SLEFT BITSPERWORD))
 (SETQ SRCOFFSET (MOD SLEFT BITSPERWORD))
 (SETQ DESBASE (|fetch| (BITMAP BITMAPBASE) |of| DESTCOLORBM))
 (SETQ DESHEIGHT (|fetch| (BITMAP BITMAPHEIGHT) |of| DESTCOLORBM))
 (SETQ DESRW (|fetch| (BITMAP BITMAPRASTERWIDTH) |of| DESTCOLORBM))
 (SETQ DESWRD (FOLDLO DLEFT 2)) (SETQ DESOFF
 (MOD DLEFT 2)) (|for| LINECOUNTER |from| 1 |to| HEIGHT |do|
 (* |linecounter| |goes| |from| 1 |to| |height| |because| |bitmaps| |are|
 |stored| |internally| |with| |top| |first| |so| |subtracting| |height| |is|
 |necessary| |to| |get| |offset| |of| |line| |and| |the| 1 |corrects| |for|
 |height| |difference.|) (\\8BITLINEBLT (\\ADDBASE SRCBASE
 (IPLUS (ITIMES (IDIFFERENCE SRCHEIGHT (IPLUS LINECOUNTER SBOTTOM)) SRCRW)
 SRCWRD)) SRCOFFSET (\\ADDBASE DESBASE (IPLUS
 (ITIMES (IDIFFERENCE DESHEIGHT (IPLUS LINECOUNTER DBOTTOM)) DESRW) DESWRD))
 DESOFF WIDTH MAP 0COLOR 1COLOR)) *)
((OPCODES SUBRCALL 142 11)
SOURCEBWBM SLEFT SBOTTOM DESTCOLORBM DLEFT DBOTTOM WIDTH HEIGHT 0COLOR 1COLOR DESTNBITS))
(8 (SUBRCALL COLORIZE-BITMAP SOURCEBWBM SLEFT SBOTTOM DESTCOLORBM DLEFT DBOTTOM WIDTH HEIGHT
0COLOR 1COLOR DESTNBITS))
(24 (PROG (SRCBASE SRCHEIGHT SRCRW DESBASE DESHEIGHT DESRW)
(SETQ SRCBASE (|fetch| (BITMAP BITMAPBASE) |of| SOURCEBWBM))
(SETQ SRCHEIGHT (|fetch| (BITMAP BITMAPHEIGHT) |of| SOURCEBWBM))
@@ -1616,10 +1597,7 @@
(|for| LINECOUNTER |from| 1 |to| HEIGHT
|do|
(* |linecounter| |goes| |from| 1 |to| |height| |because| |bitmaps| |are|
 |stored| |internally| |with| |top| |first| |so| |subtracting| |height| |is|
 |necessary| |to| |get| |offset| |of| |line| |and| |the| 1 |corrects| |for|
 |height| |difference.|)
(* |;;| "linecounter goes from 1 to height because bitmaps are stored internally with top first so subtracting height is necessary to get offset of line and the 1 corrects for height difference.")
(\\24BITLINEBLT (\\ADDBASE SRCBASE (ITIMES (IDIFFERENCE SRCHEIGHT
(IPLUS LINECOUNTER
@@ -1634,7 +1612,14 @@
(SHOULDNT))))
(UNCOLORIZEBITMAP
(LAMBDA (BITMAP COLORMAP) (* \; "Edited 13-Jul-90 16:54 by matsuda")
(LAMBDA (BITMAP COLORMAP) (* \;
 "Edited 26-Oct-2021 14:51 by larry")
(* \;
 "Edited 26-Oct-2021 14:44 by larry")
(* \;
 "Edited 26-Oct-2021 14:44 by larry")
(* \;
 "Edited 13-Jul-90 16:54 by matsuda")
(PROG (BITSPERPIXEL MAXCOLOR MAXX MAXY BWBITMAP TABLE RGB R G B BIT BASE BWBASE RASTERWIDTH
BWRASTERWIDTH WORD)
(SETQ MAXX (SUB1 (BITMAPWIDTH BITMAP)))
@@ -1685,8 +1670,7 @@
(SETQ BWBASE (\\ADDBASE BWBASE BWRASTERWIDTH))))))
(8 (COND
((NOT (|type?| BIGBM BITMAP))
((OPCODES SUBRCALL 141 3)
BITMAP BWBITMAP TABLE))
(SUBRCALL UNCOLORIZE-BITMAP BITMAP BWBITMAP TABLE))
(T (PROG ((SRCBIGBMLIST (|fetch| (BIGBM BIGBMLIST) |of| BITMAP))
SRCBITMAP
(WIDTH (ADD1 MAXX))
@@ -1705,8 +1689,8 @@
|of|
SRCBITMAP)
)))
((OPCODES SUBRCALL 141 3)
SRCBITMAP TEMPBM TABLE)
(SUBRCALL UNCOLORIZE-BITMAP SRCBITMAP
TEMPBM TABLE)
(BITBLT TEMPBM 0 (IDIFFERENCE
(ADD1 MAXY)
HEIGHT)
@@ -1714,25 +1698,7 @@
'INPUT
'REPLACE)
(SETQ SRCBITMAP (|GetNewFragment|
SRCBIGBMLIST))))))
(* |for| Y |from| 0 |to| MAXY |do|
 (SETQ WORD 0) (|for| X |from| 0 |to|
 MAXX |do| (SETQ WORD
 (LOGOR (LLSH WORD 1)
 (\\GETBASE TABLE (\\GETBASEBYTE BASE
 X)))) (COND ((EQ (LOGAND X 15) 15)
 (\\PUTBASE BWBASE (FOLDLO X 16) WORD)
 (SETQ WORD 0)))) (COND
 ((NOT (EQ (LOGAND MAXX 15) 15))
 (SETQ WORD (LLSH WORD
 (IDIFFERENCE 15 (LOGAND MAXX 15))))
 (\\PUTBASE BWBASE (FOLDLO MAXX 16)
 WORD))) (COND ((NOT
 (EQ Y MAXY)) (SETQ BASE
 (\\ADDBASE BASE RASTERWIDTH))
 (SETQ BWBASE (\\ADDBASE BWBASE
 BWRASTERWIDTH)))) *)
)
SRCBIGBMLIST)))))))
NIL)
(RETURN BWBITMAP))))
)
@@ -1746,17 +1712,17 @@
(MOVD 'BITBLT 'BKBITBLT)
)
(PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994 2021))
(PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (3337 48035 (BIGBITMAPP 3347 . 3493) (BITBLT.BIGBM 3495 . 14318) (BITMAPCREATE.BIGBM
14320 . 15662) (BITMAPCREATE 15664 . 17266) (BITMAPCOPY 17268 . 17803) (BLTSHADE.BIGBM 17805 . 20941)
(BITBLT 20943 . 22591) (\\ORG.BITBLT 22593 . 34162) (\\BLTSHADE.DISPLAY 34164 . 43402) (
\\RESHOWBORDER1 43404 . 48033)) (48036 71314 (\\DRAWCIRCLE.BIGBM 48046 . 51409) (\\FILLCIRCLE.BIGBM
51411 . 55457) (\\DRAWELLIPSE.BIGBM 55459 . 59979) (\\DRAWCURVE.BIGBM 59981 . 63831) (
\\DRAWLINE.BIGBM.DASH 63833 . 68192) (\\DRAWLINE.BIGBM.NODASH 68194 . 71312)) (71315 86890 (DSPCREATE
71325 . 73755) (DSPDESTINATION 73757 . 77655) (|\\SFFixY| 77657 . 83379) (|\\SFFixDestination| 83381
. 84564) (|\\SFFixClippingRegion| 84566 . 86888)) (86891 94977 (\\SW2BM 86901 . 91925) (BITMAPHEIGHT
91927 . 92425) (BITMAPWIDTH 92427 . 92919) (|\\SFFixFont| 92921 . 93893) (BITSPERPIXEL 93895 . 94975))
(94978 112868 (COLORIZEBITMAP 94988 . 97625) (\\BWTOCOLORBLT 97627 . 105909) (UNCOLORIZEBITMAP 105911
. 112866)))))
(FILEMAP (NIL (3215 47913 (BIGBITMAPP 3225 . 3371) (BITBLT.BIGBM 3373 . 14196) (BITMAPCREATE.BIGBM
14198 . 15540) (BITMAPCREATE 15542 . 17144) (BITMAPCOPY 17146 . 17681) (BLTSHADE.BIGBM 17683 . 20819)
(BITBLT 20821 . 22469) (\\ORG.BITBLT 22471 . 34040) (\\BLTSHADE.DISPLAY 34042 . 43280) (
\\RESHOWBORDER1 43282 . 47911)) (47914 71192 (\\DRAWCIRCLE.BIGBM 47924 . 51287) (\\FILLCIRCLE.BIGBM
51289 . 55335) (\\DRAWELLIPSE.BIGBM 55337 . 59857) (\\DRAWCURVE.BIGBM 59859 . 63709) (
\\DRAWLINE.BIGBM.DASH 63711 . 68070) (\\DRAWLINE.BIGBM.NODASH 68072 . 71190)) (71193 86768 (DSPCREATE
71203 . 73633) (DSPDESTINATION 73635 . 77533) (|\\SFFixY| 77535 . 83257) (|\\SFFixDestination| 83259
. 84442) (|\\SFFixClippingRegion| 84444 . 86766)) (86769 94855 (\\SW2BM 86779 . 91803) (BITMAPHEIGHT
91805 . 92303) (BITMAPWIDTH 92305 . 92797) (|\\SFFixFont| 92799 . 93771) (BITSPERPIXEL 93773 . 94853))
(94856 110209 (COLORIZEBITMAP 94866 . 97676) (\\BWTOCOLORBLT 97678 . 104271) (UNCOLORIZEBITMAP 104273
. 110207)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,19 +1,22 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED " 3-May-93 18:44:36" "{DSK}<project>lfg>parser>DATABASEFNS.;4" 17283
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "27-Oct-2021 10:55:18" {DSK}<home>larry>medley>library>DATABASEFNS.;7 16051
changes to%: (FNS DUMPDB)
previous date%: " 7-Jul-92 09:57:14" "{DSK}<project>lfg>parser>DATABASEFNS.;3")
previous date%: "24-Oct-2021 20:18:51" {DSK}<home>larry>medley>library>DATABASEFNS.;6)
(* ; "
Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights reserved.
Copyright (c) 1986, 1990-1993 by Xerox Corporation.
")
(PRETTYCOMPRINT DATABASEFNSCOMS)
(RPAQQ DATABASEFNSCOMS
[(* Does automatic Masterscope database maintenance)
[
(* ;; "Does automatic Masterscope database maintenance")
[DECLARE%: FIRST (P (VIRGINFN 'LOAD T)
(MOVD? 'LOAD 'OLDLOAD)
(VIRGINFN 'LOADFROM T)
@@ -28,16 +31,15 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
(INITVARS (LOADDBFLG 'ASK)
(SAVEDBFLG 'ASK))
(ADDVARS (MAKEFILEFORMS (MAKEDB FILE)))
(* To permit MSHASH interface)
(INITVARS (MSHASHFILENAME)
(MSFILETABLE))
(INITVARS (MSFILETABLE))
(* ; "To permit MSHASH interface")
(LOCALVARS . T)
(BLOCKS (LOADDB LOADDB DBFILE DBFILE1 DBFILE2 (NOLINKFNS . T)))
(DECLARE%: EVAL@COMPILE DONTCOPY (P (RESETSAVE DWIMIFYCOMPFLG T])
(* Does automatic Masterscope database maintenance)
(* ;; "Does automatic Masterscope database maintenance")
(DECLARE%: FIRST
@@ -56,78 +58,81 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
(DEFINEQ
(DBFILE
[LAMBDA (FILE ASKFLAG) (* lmm "29-APR-81 20:27")
(* Finds a database file that corresponds to the contents of FILE.
 Looks in directory of FILE, and also in the directory that file originally came
 from, if it was copied. Returns NIL if no database file is found, else
 (fulldbfilename . filedates)%, where filedates identifies the name under which
 the file that the database corresponds to is currently known.
 -
 If FILE doesn't have a version, tries to get database for version in core, or
 most recent version if it hasn't been loaded)
[LAMBDA (FILE ASKFLAG) (* ; "Edited 24-Oct-2021 16:50 by rmk:")
(* lmm "29-APR-81 20:27")
(* ;; "Finds a database file that corresponds to the contents of FILE. Looks in directory of FILE, and also in the directory that file originally came from, if it was copied. Returns NIL if no database file is found, else (fulldbfilename . filedates), where filedates identifies the name under which the file that the database corresponds to is currently known.")
(* ;; "If FILE doesn't have a version, tries to get database for version in core, or most recent version if it hasn't been loaded")
(DECLARE (GLOBALVARS COMPILE.EXT FILERDTBL))
[COND
((NULL FILE)
(SETQ FILE (INPUT)))
((EQ (FILENAMEFIELD FILE 'EXTENSION)
COMPILE.EXT) (* Map compiled file into symbolic
 name)
((MEMB (FILENAMEFIELD FILE 'EXTENSION)
*COMPILED-EXTENSIONS*) (* ;
 "Map compiled file into symbolic name")
(SETQ FILE (PACKFILENAME 'EXTENSION NIL 'VERSION NIL 'BODY FILE]
(PROG [(FILEDATES (COND
[(AND (NULL (FILENAMEFIELD FILE 'VERSION))
(CAR (GETPROP (NAMEFIELD FILE)
'FILEDATES]
([SETQ FILE (COND
(ASKFLAG (INFILEP FILE))
(T (FINDFILE FILE]
(CONS (FILEDATE FILE)
FILE]
(AND FILEDATES (RETURN (DBFILE1 FILE FILEDATES])
(LET [(FILEDATES (COND
[(AND (NULL (FILENAMEFIELD FILE 'VERSION))
(CAR (GETPROP (NAMEFIELD FILE)
'FILEDATES]
([SETQ FILE (COND
(ASKFLAG (INFILEP FILE))
(T (FINDFILE FILE]
(CONS (FILEDATE FILE)
FILE]
(AND FILEDATES (DBFILE1 FILE FILEDATES])
(DBFILE1
[LAMBDA (F FILEDATES) (* jds "25-Sep-86 20:04")
(* Searches databases based on F to find one that matches FILEDATES.
 Returns (dbfilename . filedates) if successful.
 For efficiency, checks the most likely highest version first, before doing the
 directory enumeration)
[LAMBDA (F FILEDATES) (* ; "Edited 24-Oct-2021 15:43 by rmk:")
(* jds "25-Sep-86 20:04")
(PROG ((HIGHEST (INFILEP (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION 'NIL 'BODY F)))
DBF)
(RETURN (COND
((NULL HIGHEST) (* ;
 "No file matches the name we gave, so punt.")
NIL)
((SETQ DBF (DBFILE2 HIGHEST FILEDATES)) (* ; "The most recent one matches.")
(CONS DBF FILEDATES))
(T (* ;
 "Hunt back thru back versions looking for a matching one.")
(for DBF in (REMOVE HIGHEST (FILDIR (PACKFILENAME 'EXTENSION 'DATABASE
'VERSION
'*
'BODY F)))
when (SETQ DBF (DBFILE2 DBF FILEDATES))
do (RETURN (CONS DBF FILEDATES])
(* ;; "Searches databases based on F to find one that matches FILEDATES. Returns (dbfilename . filedates) if successful. For efficiency, checks the most likely highest version first, before doing the directory enumeration")
(LET ((HIGHEST (INFILEP (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION 'NIL 'BODY F)))
DBF)
(COND
((NULL HIGHEST) (* ;
 "No file matches the name we gave, so punt.")
NIL)
((SETQ DBF (DBFILE2 HIGHEST FILEDATES)) (* ; "The most recent one matches.")
(CONS DBF FILEDATES))
(T (* ;
 "Hunt back thru back versions looking for a matching one.")
(for DBF in (REMOVE HIGHEST (FILDIR (PACKFILENAME 'EXTENSION 'DATABASE
'VERSION
'*
'BODY F)))
when (SETQ DBF (DBFILE2 DBF FILEDATES))
do (RETURN (CONS DBF FILEDATES])
(DBFILE2
[LAMBDA (DBF FILEDATES) (* ; "Edited 28-Nov-90 12:42 by rmk:")
(* T if DBF is the name of the
 database file matching FILEDATES)
[LAMBDA (DBF FILEDATES) (* ;
 "Edited 24-Oct-2021 20:18 by rmk:")
(* ; "Edited 28-Nov-90 12:42 by rmk:")
(* ;; "Returns an open stream for DBF if it's the name of the database file matching FILEDATES. DBF is positioned after all the header material, and the reader environment is set up for it.")
[RESETSAVE (SETQ DBF (OPENSTREAM DBF 'INPUT))
'(PROGN (CLOSEF? OLDVALUE]
(SET-READER-ENVIRONMENT (READ-READER-ENVIRONMENT DBF (MAKE-READER-ENVIRONMENT
*NEW-INTERLISP-MAKEFILE-ENVIRONMENT*)
)
DBF)
(* The close is done in the LOADDB RESETLST, except when a candidate file isn't
 correct)
(* ;; "Skip the header stuff")
(SKREAD DBF) (* Skip LOAD error message)
(COND
([STREQUAL (CAR FILEDATES)
(CAR (READ DBF (FIND-READTABLE "INTERLISP"]
DBF)
(T (CLOSEF DBF)
NIL])
(CL:WHEN [OR (EQ 0 (GETFILEPTR DBF))
(AND [EQ 'FILECREATED (CAR (LISTP (READ DBF]
(EQ 'PRETTYCOMPRINT (CAR (LISTP (READ DBF]
[EQ 'PROGN (CAR (LISTP (READ DBF]
(COND
((STREQUAL (CAR FILEDATES)
(CAR (READ DBF)))
DBF)
(T (CLOSEF DBF)
NIL)))])
(LOAD
[LAMBDA (FILE LDFLG PRINTFLG) (* lmm "29-APR-81 20:27")
@@ -156,88 +161,62 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
(DEFINEQ
(DUMPDB
[LAMBDA (FILE PROPFLG) (* ; "Edited 3-May-93 18:44 by rmk:")
[LAMBDA (FILE PROPFLG) (* ;
 "Edited 27-Oct-2021 10:51 by larry")
(* ;
 "Edited 24-Oct-2021 16:24 by rmk:")
(* Dumps a Masterscope database for functions in FILE.
 Checks the DATABASE property if PROPFLG=T which is how the MAKEFILE advice
 calls it. A user-level call would default PROPFLG to NIL.)
(* ;; "Dumps a Masterscope database for functions in FILE. Checks the DATABASE property if PROPFLG=T which is how the MAKEFILE advice calls it. A user-level call would default PROPFLG to NIL.")
(* The FILE check is because MAKEFILE returns a list when it doesn't understand
 the options)
(* ;;
 "The FILE check is because MAKEFILE returns a list when it doesn't understand the options")
(DECLARE (GLOBALVARS MSHASHFILENAME MSFILETABLE SAVEDBFLG))
(AND FILE (OR (LITATOM FILE)
(STRINGP FILE))
(PROG (DBFILE (FL (NAMEFIELD FILE))
FNS
(FFNS (FILEFNSLST FILE)))
(COND
(FFNS)
((AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE)))
(* Always dump if this is a known
 file)
(SETQ PROPFLG NIL))
(T (COND
(PROPFLG (/REMPROP FL 'DATABASE))
(T (printout T T FILE " has no functions." T)))
(RETURN)))
(SETQ FNS FFNS)
(COND
([OR (NULL PROPFLG)
(EQ (GETPROP FL 'DATABASE)
'YES)
(EQ SAVEDBFLG 'YES)
(AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE]
(* If MSHASH is loaded, only dump
 functions in the local database)
[COND
(MSHASHFILENAME (SETQ FNS (for FN in FNS
when (PROGN (UPDATEFN FN)
(LOCALFNP FN)) collect FN]
(RESETLST
[RESETSAVE (SETQ DBFILE (OPENSTREAM (PACKFILENAME 'EXTENSION 'DATABASE
'VERSION NIL 'BODY FILE)
'OUTPUT
'NEW))
'(PROGN (CLOSEF? OLDVALUE)
(AND RESETSTATE (DELFILE OLDVALUE]
(RESETSAVE (OUTPUT DBFILE))
(RESETSAVE (SETREADTABLE (FIND-READTABLE "INTERLISP")))
(RESETSAVE (CL:IN-PACKAGE "INTERLISP")
(LIST 'CL:IN-PACKAGE (CL:PACKAGE-NAME *PACKAGE*)))
(PRIN1 "(PROGN (PRIN1 %"Use LOADDB to load database files!%
%" T) (ERROR!))%
"
)
[AND MSFILETABLE (STORETABLE FL MSFILETABLE (PRINT (CAR (GETPROP FL
'FILEDATES]
(COND
(MSHASHFILENAME (UPDATECONTAINS FL FFNS T)))
(* T flag means that the function
 won't be erased--it might still be
 interesting)
(printout NIL "FNS " .P2 FFNS T) (* So the database file knows which
 functions are on the file)
(COND
(FNS (DUMPDATABASE FNS))
(T (printout NIL "STOP" T))))
[COND
(PROPFLG (PRINT (FULLNAME DBFILE)
T))
(T (/PUT FL 'DATABASEFILENAME DBFILE) (* Remember that we have this file
 valid already.)
(/PUT FL 'DATABASE 'YES] (* Take future note of the databae
 on a user call)
(RETURN (FULLNAME DBFILE])
(DECLARE (GLOBALVARS MSFILETABLE SAVEDBFLG))
(CL:WHEN (AND FILE (OR (LITATOM FILE)
(STRINGP FILE)))
(PROG (DBFILE (FL (NAMEFIELD FILE))
(FNS (FILEFNSLST FILE)))
(COND
(FNS)
((AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE)))
(* ;
 "Always dump if this is a known file")
(SETQ PROPFLG NIL))
(T (COND
(PROPFLG (/REMPROP FL 'DATABASE))
(T (printout T T FILE " has no functions." T)))
(RETURN)))
(CL:WHEN [OR (NULL PROPFLG)
(EQ (GETPROP FL 'DATABASE)
'YES)
(EQ SAVEDBFLG 'YES)
(AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE]
(CL:WHEN MSFILETABLE
[STORETABLE FL MSFILETABLE (CAR (GETPROP FL 'FILEDATES])
[SETQ DBFILE (PRETTYDEF NIL (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION NIL
'BODY FILE)
`((P (PROGN (PRIN1 "Use LOADDB to load database files!" T)
(ERROR!)))
(E [PRINT (CAR (GETPROP ',FILE 'FILEDATES]
(DUMPDATABASE ',FNS]
[COND
(PROPFLG (PRINT (FULLNAME DBFILE)
T))
(T (/PUT FL 'DATABASEFILENAME DBFILE) (* ;
 "Remember that we have this file valid already.")
(/PUT FL 'DATABASE 'YES] (* ;
 "Take future note of the databae on a user call")
(RETURN DBFILE))))])
(LOADDB
[LAMBDA (FILE ASKFLAG) (* ; "Edited 7-Jul-92 09:57 by rmk:")
[LAMBDA (FILE ASKFLAG) (* ; "Edited 24-Oct-2021 17:44 by rmk:")
(* ; "Edited 7-Jul-92 09:57 by rmk:")
(* ;; "Loads the database file corresponding to FILE, asking for confirmation only if ASKFLAG is T, which is the case from the advice on LOAD but not from usual user-level calls. Before asking, it looks around first to see whether a database file of the appropriate name really exists.")
(* ;; "Loads the database file corresponding to FILE, asking for confirmation only if ASKFLAG is T, which is the case from the advice on LOAD but not from usual user-level calls. Before asking, it looks around first to see whether a database file of the appropriate name really exists.")
(DECLARE (GLOBALVARS MSHASHFILENAME MSFILETABLE MSARGTABLE DWIMWAIT LOADDBFLG))
(DECLARE (GLOBALVARS MSFILETABLE MSARGTABLE DWIMWAIT LOADDBFLG))
(RESETLST
[PROG* [TEM NEWFNS FORFILE (*READTABLE* (FIND-READTABLE "INTERLISP"))
[PROG* [TEM FORFILE (*READTABLE* (FIND-READTABLE "INTERLISP"))
(*PACKAGE* (CL:FIND-PACKAGE "INTERLISP"))
(NF (NAMEFIELD FILE))
(DBSTREAM (DBFILE FILE ASKFLAG))
@@ -253,8 +232,8 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
([COND
[ASKFLAG (COND
((EQ (GETPROP NF 'DATABASEFILENAME)
DBFILE) (* ;
 "If the database for this very file has already been loaded, don't bother doing it again.")
DBFILE) (* ;
 "If the database for this very file has already been loaded, don't bother doing it again.")
(PRINTOUT T "Database " DBFILE " already loaded." T)
NIL)
(T (SELECTQ (GETPROP NF 'DATABASE)
@@ -275,42 +254,37 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
NIL]
(T (/PUT NF 'DATABASE 'YES]
(LISPXPRINT (FULLNAME DBFILE)
T) (* ; "DBSTREAM was opened in DBFILE")
T) (* ; "DBSTREAM was opened in DBFILE")
(RESETSAVE (INPUT DBSTREAM))
[COND
((EQ (SETQ TEM (READ))
'FNS)
(SETQ NEWFNS (READ))
(READ) (* ; "Old format: thrown away")
(COND
((EQ (SETQ TEM (READ))
'ARGS)
[COND
[MSHASHFILENAME (BIND F WHILE (SETQ F (READ))
DO (STORETABLE F MSARGTABLE (READ]
(T (WHILE (READ]
(WHILE (READ))
(SETQ TEM (READ]
(COND
((OR (EQ (CAR (LISTP TEM))
'READATABASE)
(EQ TEM 'STOP))
(COND
((NEQ TEM 'STOP) (* ; "It must be (READATABASE)")
((NEQ TEM 'STOP) (* ; "It must be (READATABASE)")
(READATABASE)))
(COND
(MSHASHFILENAME (UPDATECONTAINS NF NEWFNS)))
(AND MSFILETABLE (STORETABLE NF MSFILETABLE FORFILE))
(* ;
 "This is done whether or not there is a hashfile.")
(UPDATEFILES) (* ;
 "Mark any edited fns as needing to be reanalyzed.")
(* ;
 "This is done whether or not there is a hashfile.")
(UPDATEFILES) (* ;
 "Mark any edited fns as needing to be reanalyzed.")
(FOR FN IN (CDR (GETP NF 'FILE))
WHEN (OR (EXPRP FN)
(GETP FN 'EXPR)) DO (MSMARKCHANGED FN)))
(T (PRINTOUT T T DBFILE " is not a database file!" T)
(* ; "So that value of LOADDB is NIL")
(* ; "So that value of LOADDB is NIL")
(SETQ DBFILE NIL)))
(/PUT NF 'DATABASEFILENAME DBFILE) (* ;
 "Remember the name of the database we just loaded.")
(/PUT NF 'DATABASEFILENAME DBFILE) (* ;
 "Remember the name of the database we just loaded.")
(RETURN (FULLNAME DBFILE])])
(MAKEDB
@@ -345,14 +319,12 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
(ADDTOVAR MAKEFILEFORMS (MAKEDB FILE))
(* To permit MSHASH interface)
(RPAQ? MSHASHFILENAME )
(RPAQ? MSFILETABLE )
(* ; "To permit MSHASH interface")
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(LOCALVARS . T)
@@ -367,7 +339,7 @@ Copyright (c) 1986, 1990, 1991, 1992, 1993 by Xerox Corporation. All rights res
)
(PUTPROPS DATABASEFNS COPYRIGHT ("Xerox Corporation" 1986 1990 1991 1992 1993))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1637 6218 (DBFILE 1647 . 3295) (DBFILE1 3297 . 4820) (DBFILE2 4822 . 5584) (LOAD 5586
. 5816) (LOADFROM 5818 . 6006) (MAKEFILE 6008 . 6216)) (6274 16706 (DUMPDB 6284 . 10572) (LOADDB
10574 . 15618) (MAKEDB 15620 . 16704)))))
(FILEMAP (NIL (1679 6704 (DBFILE 1689 . 3334) (DBFILE1 3336 . 4846) (DBFILE2 4848 . 6070) (LOAD 6072
. 6302) (LOADFROM 6304 . 6492) (MAKEFILE 6494 . 6702)) (6760 15499 (DUMPDB 6770 . 9534) (LOADDB 9536
. 14411) (MAKEDB 14413 . 15497)))))
STOP

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,15 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "10-Jul-92 14:57:14" |{PELE:MV:ENVOS}<LISPCORE>LIBRARY>LLCOLOR.;6| 137483
changes to%: (VARS LLCOLORCOMS)
(MACROS .DRAW4BPPLINEX. .DRAW8BPPLINEX .DRAW24BPPLINEX .DRAW4BPPLINEY.
.DRAW8BPPLINEY .DRAW24BPPLINEY)
(FILECREATED "26-Oct-2021 10:53:47" {DSK}<home>larry>medley>library>LLCOLOR.;2 137753
previous date%: "21-Aug-91 12:27:17" |{PELE:MV:ENVOS}<LISPCORE>LIBRARY>LLCOLOR.;5|)
changes to%: (FNS \COLORDISPLAYBITS \DRAW8BPPCOLORLINE)
previous date%: "10-Jul-92 14:57:14" {DSK}<home>larry>medley>library>LLCOLOR.;1)
(* ; "
Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 by Xerox Corporation. All rights reserved.
Copyright (c) 1982-1992 by Xerox Corporation.
")
(PRETTYCOMPRINT LLCOLORCOMS)
@@ -51,7 +50,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(FNS PSEUDOCOLOR \PSEUDOCOLOR.BITMAP \PSEUDOCOLOR.UFN)
(GLOBALVARS \COLORDISPLAYFDEV \COLORDISPLAYBITS ColorScreenBitMap \4COLORMAP \8COLORMAP)
(P
(* ;; "NOTE: This is very bad. I shouldn't have to and don't really want to do the following, but since about March 86, someone did something really nonstandard wrt Helvetica fonts so that the in core versions are not equal to what is stored on file. The SETFONTDESCRIPTOR and friends undoes this kludge which has never been explained to LISPCORE^ by the person who brain damaged Helvetica this way. If I don't undo this kludge by someone else, then color menus come out wrong. *")
(* ;; "NOTE: This is very bad. I shouldn't have to and don't really want to do the following, but since about March 86, someone did something really nonstandard wrt Helvetica fonts so that the in core versions are not equal to what is stored on file. The SETFONTDESCRIPTOR and friends undoes this kludge which has never been explained to LISPCORE^ by the person who brain damaged Helvetica this way. If I don't undo this kludge by someone else, then color menus come out wrong. *")
(SETFONTDESCRIPTOR 'HELVETICA 10 'MRR 0 'DISPLAY NIL)
(SETQ MENUFONT (FONTCREATE 'HELVETICA 10)))
@@ -290,7 +289,10 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
ColorScreenBitMap])
(\COLORDISPLAYBITS
[LAMBDA (WIDTH HEIGHT BITSPERPIXEL) (* ; "Edited 31-Oct-89 10:25 by takeshi")
[LAMBDA (WIDTH HEIGHT BITSPERPIXEL) (* ;
 "Edited 26-Oct-2021 10:24 by larry")
(* ;
 "Edited 31-Oct-89 10:25 by takeshi")
(* returns a pointer to the bits
 that the color board needs.)
(DECLARE (GLOBALVARS \COLORDISPLAYBITS))
@@ -300,8 +302,8 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(OR (\MAIKO.CGSIXP)
(\MAIKO.CGTHREEP)
(\MAIKO.CGFOURP)))
(PROG [(DUMMY (\ALLOCPAGEBLOCK 1))
(ADDROFFSET ((OPCODES SUBRCALL 139 0]
(PROG ((DUMMY (\ALLOCPAGEBLOCK 1))
(ADDROFFSET (SUBRCALL COLOR-BASE)))
(WHILE (NEQ (LOGAND \MAIKO.COLORBUF.ALIGN (IPLUS (\LOLOC DUMMY)
ADDROFFSET))
0) DO (SETQ DUMMY (\ALLOCPAGEBLOCK 1)))
@@ -663,10 +665,13 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(.DRAW4BPPLINEY. MODE])
(\DRAW8BPPCOLORLINE
[LAMBDA (X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE BITMAPBASE RASTERWIDTH COLOR)
(* ; "Edited 19-Mar-91 12:46 by matsuda")
((OPCODES SUBRCALL 143 12)
X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE BITMAPBASE RASTERWIDTH COLOR])
[LAMBDA (X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE BITMAPBASE RASTERWIDTH COLOR)
(* ;
 "Edited 26-Oct-2021 10:25 by larry")
(* ;
 "Edited 19-Mar-91 12:46 by matsuda")
(SUBRCALL COLOR-8BPPDRAWLINE X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE BITMAPBASE RASTERWIDTH COLOR
])
(\DRAW24BPPCOLORLINE
[LAMBDA (X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE BITMAPBASE RASTERWIDTH COLOR)
@@ -705,7 +710,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
[(MODE)
(PROG (INSIDEBITS OUTSIDEBITS)
(until (IGREATERP X0 XLIMIT)
do (* main loop)
do (* main loop)
(SETQ INSIDEBITS (LOGAND MASK (fetch (BITMAPWORD BITS) of MAPPTR)))
(SETQ OUTSIDEBITS (LOGAND (LOGNOT MASK)
(fetch (BITMAPWORD BITS) of MAPPTR)))
@@ -717,9 +722,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
OUTSIDEBITS))
(PAINT (LOGOR (LOGOR COLORMASK INSIDEBITS)
OUTSIDEBITS))
(PROGN (* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(PROGN (* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(LOGOR COLORMASK OUTSIDEBITS]
[COND
([NOT (IGREATERP DX (SETQ CDL (IPLUS CDL DY]
@@ -732,7 +737,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
YINC]
[COND
[(ZEROP (SETQ MASK (LRSH MASK 4)))
(* crossed word boundary)
(* crossed word boundary)
[SETQ MAPPTR (\ADDBASE BITMAPBASE (SETQ WORDOFFSET (ADD1 WORDOFFSET]
(SETQ COLORMASK COLORMASKORG)
(SETQ MASK (CONSTANT (\4BITMASK 0]
@@ -744,7 +749,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(COND
((EQ STARTBYTE 1)
(GO 1LP)))
0LP (* main loop)
0LP (* main loop)
(\PUTBASEBYTE MAPPTR 0
(SELECTQ MODE
(ERASE (LOGAND COLOR (\GETBASEBYTE MAPPTR 0)
@@ -753,9 +758,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
)))
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 0)))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
[COND
([NOT (IGREATERP DX (SETQ CDL (IPLUS CDL DY]
@@ -779,9 +784,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
)))
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 1)))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
[COND
([NOT (IGREATERP DX (SETQ CDL (IPLUS CDL DY]
@@ -802,7 +807,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(GO 0LP))))
(PUTPROPS .DRAW24BPPLINEX MACRO ((MODE)
(PROG NIL (* main loop)
(PROG NIL (* main loop)
LP (\PUTBASE24 MAPPTR 0
(SELECTQ MODE
(ERASE (LOGAND COLOR (\GETBASE24 MAPPTR
@@ -812,9 +817,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(PAINT (LOGOR COLOR (\GETBASE24 MAPPTR
0)))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
[COND
([NOT (IGREATERP DX (SETQ CDL (IPLUS CDL DY]
@@ -838,7 +843,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
[(MODE)
(PROG (INSIDEBITS OUTSIDEBITS)
(until (IGREATERP Y0 YLIMIT)
do (* main loop)
do (* main loop)
(SETQ INSIDEBITS (LOGAND MASK (fetch (BITMAPWORD BITS) of MAPPTR)))
(SETQ OUTSIDEBITS (LOGAND (LOGNOT MASK)
(fetch (BITMAPWORD BITS) of MAPPTR)))
@@ -850,9 +855,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
OUTSIDEBITS))
(PAINT (LOGOR (LOGOR COLORMASK INSIDEBITS)
OUTSIDEBITS))
(PROGN (* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(PROGN (* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(LOGOR COLORMASK OUTSIDEBITS]
[COND
([NOT (IGREATERP DY (SETQ CDL (IPLUS CDL DX]
@@ -863,7 +868,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(SETQ CDL (IDIFFERENCE CDL DY))
(COND
[(ZEROP (SETQ MASK (LRSH MASK 4)))
(* crossed word boundary)
(* crossed word boundary)
[SETQ MAPPTR (\ADDBASE BITMAPBASE (SETQ WORDOFFSET (ADD1 WORDOFFSET
]
(SETQ COLORMASK COLORMASKORG)
@@ -877,7 +882,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(COND
((EQ STARTBYTE 1)
(GO 1LP)))
0LP (* main loop)
0LP (* main loop)
(\PUTBASEBYTE MAPPTR 0
(SELECTQ MODE
(ERASE (LOGAND COLOR (\GETBASEBYTE MAPPTR 0)
@@ -886,9 +891,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
)))
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 0)))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
(COND
((IGREATERP (SETQ Y0 (ADD1 Y0))
@@ -899,8 +904,8 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
YINC]
(COND
([NOT (IGREATERP DY (SETQ CDL (IPLUS CDL DX]
(* moved enough in Y to move a point
 in X)
(* moved enough in Y to move a point
 in X)
(COND
((IGREATERP (SETQ X0 (ADD1 X0))
XLIMIT)
@@ -916,9 +921,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
)))
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 1)))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
(COND
((IGREATERP (SETQ Y0 (ADD1 Y0))
@@ -929,8 +934,8 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
YINC]
(COND
([NOT (IGREATERP DY (SETQ CDL (IPLUS CDL DX]
(* moved enough in Y to move a point
 in X)
(* moved enough in Y to move a point
 in X)
(COND
((IGREATERP (SETQ X0 (ADD1 X0))
XLIMIT)
@@ -947,7 +952,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(COND
((EQ STARTBYTE 1)
(GO 1LP)))
0LP (* main loop)
0LP (* main loop)
(\PUTBASEBYTE MAPPTR 0
(SELECTQ MODE
(ERASE (LOGAND COLOR (\GETBASEBYTE MAPPTR 0
@@ -957,9 +962,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 0)
))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
(COND
((IGREATERP (SETQ Y0 (ADD1 Y0))
@@ -970,8 +975,8 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
YINC]
(COND
([NOT (IGREATERP DY (SETQ CDL (IPLUS CDL DX]
(* moved enough in Y to move a point
 in X)
(* moved enough in Y to move a point
 in X)
(COND
((IGREATERP (SETQ X0 (ADD1 X0))
XLIMIT)
@@ -988,9 +993,9 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(PAINT (LOGOR COLOR (\GETBASEBYTE MAPPTR 1)
))
(PROGN
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
(* case is REPLACE.
 Legality of OPERATION has been
 checked by \CLIPANDDRAWLINE1)
COLOR)))
(COND
((IGREATERP (SETQ Y0 (ADD1 Y0))
@@ -1001,8 +1006,8 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
YINC]
(COND
([NOT (IGREATERP DY (SETQ CDL (IPLUS CDL DX]
(* moved enough in Y to move a point
 in X)
(* moved enough in Y to move a point
 in X)
(COND
((IGREATERP (SETQ X0 (ADD1 X0))
XLIMIT)
@@ -2211,7 +2216,7 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
)
(* ;; "NOTE: This is very bad. I shouldn't have to and don't really want to do the following, but since about March 86, someone did something really nonstandard wrt Helvetica fonts so that the in core versions are not equal to what is stored on file. The SETFONTDESCRIPTOR and friends undoes this kludge which has never been explained to LISPCORE^ by the person who brain damaged Helvetica this way. If I don't undo this kludge by someone else, then color menus come out wrong. *")
(* ;; "NOTE: This is very bad. I shouldn't have to and don't really want to do the following, but since about March 86, someone did something really nonstandard wrt Helvetica fonts so that the in core versions are not equal to what is stored on file. The SETFONTDESCRIPTOR and friends undoes this kludge which has never been explained to LISPCORE^ by the person who brain damaged Helvetica this way. If I don't undo this kludge by someone else, then color menus come out wrong. *")
(SETFONTDESCRIPTOR 'HELVETICA 10 'MRR 0 'DISPLAY NIL)
@@ -2228,22 +2233,22 @@ Copyright (c) 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992 b
(PUTPROPS LLCOLOR COPYRIGHT ("Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991
1992))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3539 21062 (COLORDISPLAY 3549 . 6952) (COLORMAPBITS 6954 . 7111) (
\CreateColorScreenBitMap 7113 . 8484) (\CREATECOLORDISPLAYFDEV 8486 . 9444) (COLORMAP 9446 . 10860) (
COLORMAPCOPY 10862 . 11382) (SCREENCOLORMAP 11384 . 11578) (SCREENCOLORMAPENTRY 11580 . 11807) (
ROTATECOLORMAP 11809 . 12701) (RGBCOLORMAP 12703 . 14841) (CMYCOLORMAP 14843 . 15333) (GRAYCOLORMAP
15335 . 16293) (COLORSCREENBITMAP 16295 . 16533) (\COLORDISPLAYBITS 16535 . 19180) (COLORSCREEN 19182
. 19310) (SHOWCOLORTESTPATTERN 19312 . 21060)) (21101 21732 (\STARTCOLOR 21111 . 21249) (\STOPCOLOR
21251 . 21387) (\SENDCOLORMAPENTRY 21389 . 21730)) (21733 27692 (COLORMAPCREATE 21743 . 22729) (
COLORLEVEL 22731 . 23712) (COLORNUMBERP 23714 . 25298) (COLORFROMRGB 25300 . 26482) (
INTENSITIESFROMCOLORMAP 26484 . 26869) (SETCOLORINTENSITY 26871 . 27690)) (27693 33530 (\FAST8BIT
27703 . 31402) (\MAP4 31404 . 32283) (\MAP8 32285 . 33528)) (33531 34438 (\GETCOLORBRUSH 33541 . 34436
)) (34439 38686 (\DRAWCOLORLINE1 34449 . 35191) (\DRAW4BPPCOLORLINE 35193 . 36838) (\DRAW8BPPCOLORLINE
36840 . 37160) (\DRAW24BPPCOLORLINE 37162 . 38684)) (62183 120797 (\BWTOCOLORBLT 62193 . 70344) (
\4BITLINEBLT 70346 . 104918) (\8BITLINEBLT 104920 . 113861) (\24BITLINEBLT 113863 . 114646) (
\GETBASE24 114648 . 116106) (\PUTBASE24 116108 . 117716) (COLORTEXTUREFROMCOLOR# 117718 . 120341) (
\BITMAPWORD 120343 . 120795)) (120798 126101 (COLORIZEBITMAP 120808 . 121783) (UNCOLORIZEBITMAP 121785
. 126099)) (126189 129506 (COLORMENU 126199 . 129118) (CURSORCOLOR 129120 . 129504)) (132029 136501 (
PSEUDOCOLOR 132039 . 134952) (\PSEUDOCOLOR.BITMAP 134954 . 135183) (\PSEUDOCOLOR.UFN 135185 . 136499))
(FILEMAP (NIL (3332 21090 (COLORDISPLAY 3342 . 6745) (COLORMAPBITS 6747 . 6904) (
\CreateColorScreenBitMap 6906 . 8277) (\CREATECOLORDISPLAYFDEV 8279 . 9237) (COLORMAP 9239 . 10653) (
COLORMAPCOPY 10655 . 11175) (SCREENCOLORMAP 11177 . 11371) (SCREENCOLORMAPENTRY 11373 . 11600) (
ROTATECOLORMAP 11602 . 12494) (RGBCOLORMAP 12496 . 14634) (CMYCOLORMAP 14636 . 15126) (GRAYCOLORMAP
15128 . 16086) (COLORSCREENBITMAP 16088 . 16326) (\COLORDISPLAYBITS 16328 . 19208) (COLORSCREEN 19210
. 19338) (SHOWCOLORTESTPATTERN 19340 . 21088)) (21129 21760 (\STARTCOLOR 21139 . 21277) (\STOPCOLOR
21279 . 21415) (\SENDCOLORMAPENTRY 21417 . 21758)) (21761 27720 (COLORMAPCREATE 21771 . 22757) (
COLORLEVEL 22759 . 23740) (COLORNUMBERP 23742 . 25326) (COLORFROMRGB 25328 . 26510) (
INTENSITIESFROMCOLORMAP 26512 . 26897) (SETCOLORINTENSITY 26899 . 27718)) (27721 33558 (\FAST8BIT
27731 . 31430) (\MAP4 31432 . 32311) (\MAP8 32313 . 33556)) (33559 34466 (\GETCOLORBRUSH 33569 . 34464
)) (34467 38956 (\DRAWCOLORLINE1 34477 . 35219) (\DRAW4BPPCOLORLINE 35221 . 36866) (\DRAW8BPPCOLORLINE
36868 . 37430) (\DRAW24BPPCOLORLINE 37432 . 38954)) (62453 121067 (\BWTOCOLORBLT 62463 . 70614) (
\4BITLINEBLT 70616 . 105188) (\8BITLINEBLT 105190 . 114131) (\24BITLINEBLT 114133 . 114916) (
\GETBASE24 114918 . 116376) (\PUTBASE24 116378 . 117986) (COLORTEXTUREFROMCOLOR# 117988 . 120611) (
\BITMAPWORD 120613 . 121065)) (121068 126371 (COLORIZEBITMAP 121078 . 122053) (UNCOLORIZEBITMAP 122055
. 126369)) (126459 129776 (COLORMENU 126469 . 129388) (CURSORCOLOR 129390 . 129774)) (132299 136771 (
PSEUDOCOLOR 132309 . 135222) (\PSEUDOCOLOR.BITMAP 135224 . 135453) (\PSEUDOCOLOR.UFN 135455 . 136769))
)))
STOP

View File

@@ -1,14 +1,20 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED "23-Oct-91 14:43:35" |{PELE:MV:ENVOS}<LISPCORE>LIBRARY>MAIKOCOLOR.;6| 57582
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "26-Oct-2021 10:53:57" {DSK}<home>larry>medley>library>MAIKOCOLOR.;2 60141
changes to%: (VARS MAIKOCOLORCOMS)
(FNS \MAIKOCOLOR.EVENTFN)
(MACROS \MAIKO.CGTHREEP \MAIKO.CGFOURP \MAIKO.CGSIXP \MAIKO.CGTWOP)
(FNS \MAIKO.COLORINIT \MAIKO.STARTCOLOR \MAIKO.STOPCOLOR \MAIKOCOLOR.EVENTFN
\MAIKO.SENDCOLORMAPENTRY \MAIKO.CHANGESCREEN CURSOREXIT CURSORSCREEN
WARPCURSOR \SLOWBLTCHAR \SOFTCURSORUP \BITBLT.DISPLAY \PUNT.SLOWBLTCHAR
\PUNT.BLTSHADE.BITMAP \PUNT.BITBLT.BITMAP BITMAPOBJ.SNAPW \MAIKO.PUNTBLTCHAR
\MAIKO.BLTCHAR)
previous date%: "22-Aug-91 17:11:25" |{PELE:MV:ENVOS}<LISPCORE>LIBRARY>MAIKOCOLOR.;3|)
previous date%: "23-Oct-91 14:43:35" {DSK}<home>larry>medley>library>MAIKOCOLOR.;1)
(* ; "
Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserved.
Copyright (c) 1988-1991 by Fuji Xerox Co., Ltd..
")
(PRETTYCOMPRINT MAIKOCOLORCOMS)
@@ -63,8 +69,9 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(\MAIKO.COLORINIT
[LAMBDA NIL
(DECLARE (GLOBALVARS \MAIKOCOLORWSOPS \MAIKOCOLORINFO))
(* ; "Edited 28-Apr-89 16:51 by tshimizu.fx")
(DECLARE (GLOBALVARS \MAIKOCOLORWSOPS \MAIKOCOLORINFO))
(* ;
 "Edited 28-Apr-89 16:51 by tshimizu.fx")
(SETQ \MAIKOCOLORWSOPS (create WSOPS
STARTBOARD _ (FUNCTION NILL)
STARTCOLOR _ (FUNCTION \MAIKO.STARTCOLOR)
@@ -82,7 +89,10 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(\DEFINEDISPLAYINFO \MAIKOCOLORINFO])
(\MAIKO.STARTCOLOR
[LAMBDA (FDEV) (* ; "Edited 2-Nov-88 11:13 by shimizu")
[LAMBDA (FDEV) (* ;
 "Edited 26-Oct-2021 10:17 by larry")
(* ;
 "Edited 2-Nov-88 11:13 by shimizu")
(PROG (DISPLAYSTATE)
(SETQ DISPLAYSTATE (fetch (FDEV DEVICEINFO) of FDEV))
(replace (DISPLAYSTATE ONOFF) of DISPLAYSTATE with 'STARTCOLOR)
@@ -90,19 +100,19 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(* ;; " MMAP colorbuffer")
((OPCODES SUBRCALL 136 1)
(FETCH (BITMAP BITMAPBASE) OF ColorScreenBitMap))
(SUBRCALL COLOR-INIT (FETCH (BITMAP BITMAPBASE) OF ColorScreenBitMap))
(replace (DISPLAYSTATE ONOFF) of DISPLAYSTATE with 'ON])
(\MAIKO.STOPCOLOR
[LAMBDA (FDEV) (* ; "Edited 28-Apr-89 16:51 by tshimizu.fx")
[LAMBDA (FDEV) (* ;
 "Edited 28-Apr-89 16:51 by tshimizu.fx")
(* ; "By Take")
(PROG (DISPLAYSTATE)
(SETQ DISPLAYSTATE (fetch (FDEV DEVICEINFO) of FDEV))
(replace (DISPLAYSTATE ONOFF) of DISPLAYSTATE with 'OFF])
(\MAIKOCOLOR.EVENTFN
[LAMBDA (FDEV EVENT) (* ; "Edited 23-Oct-91 14:18 by jds")
[LAMBDA (FDEV EVENT) (* ; "Edited 23-Oct-91 14:18 by jds")
(COND
((EQ (fetch (DISPLAYSTATE ONOFF) of (fetch (FDEV DEVICEINFO) of FDEV))
'ON)
@@ -117,22 +127,26 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
NIL])
(\MAIKO.SENDCOLORMAPENTRY
[LAMBDA (FDEV COLOR# RGB) (* ; "Edited 1-Dec-88 18:16 by shimizu")
((OPCODES SUBRCALL 138 4)
COLOR#
(CAR RGB)
(CADR RGB)
(CADDR RGB])
[LAMBDA (FDEV COLOR# RGB) (* ;
 "Edited 26-Oct-2021 10:17 by larry")
(* ;
 "Edited 1-Dec-88 18:16 by shimizu")
(SUBRCALL COLOR-MAP COLOR# (CAR RGB)
(CADR RGB)
(CADDR RGB])
(\MAIKO.CHANGESCREEN
[LAMBDA (TOSCREEN) (* ; "Edited 1-Dec-88 18:32 by shimizu")
((OPCODES SUBRCALL 137 1)
TOSCREEN])
[LAMBDA (TOSCREEN) (* ;
 "Edited 26-Oct-2021 10:18 by larry")
(* ;
 "Edited 1-Dec-88 18:32 by shimizu")
(SUBRCALL COLOR-SCREENMODE TOSCREEN])
)
(DEFINEQ
(CURSOREXIT
[LAMBDA NIL (* ; "Edited 11-Aug-89 13:16 by takeshi")
[LAMBDA NIL (* ;
 "Edited 11-Aug-89 13:16 by takeshi")
(* * called when cursor moves off the screen edge)
@@ -160,7 +174,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(CURSORSCREEN SCREEN2 XCOORD2 YCOORD2])
(CURSORSCREEN
[LAMBDA (SCREEN XCOORD YCOORD) (* ; "Edited 19-Jun-90 16:33 by matsuda")
[LAMBDA (SCREEN XCOORD YCOORD) (* ;
 "Edited 19-Jun-90 16:33 by matsuda")
(* * sets up SCREEN to be the current screen, XCOORD %, YCOORD is initial pos
 of cursor on SCREEN)
@@ -201,7 +216,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(CLEARW W))])
(WARPCURSOR
[LAMBDA (ENABLE) (* ; "Edited 20-Jul-90 19:02 by matsuda")
[LAMBDA (ENABLE) (* ;
 "Edited 20-Jul-90 19:02 by matsuda")
(COND
(ENABLE (MOVD 'SAVE.CURSOREXIT 'CURSOREXIT)
T)
@@ -209,12 +225,15 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
NIL])
(\SLOWBLTCHAR
[LAMBDA (CHARCODE DISPLAYSTREAM) (* ; "Edited 7-Jun-90 14:06 by matsuda")
((OPCODES SUBRCALL 140 2)
CHARCODE DISPLAYSTREAM])
[LAMBDA (CHARCODE DISPLAYSTREAM) (* ;
 "Edited 26-Oct-2021 10:19 by larry")
(* ;
 "Edited 7-Jun-90 14:06 by matsuda")
(SUBRCALL C-SlowBltChar CHARCODE DISPLAYSTREAM])
(\SOFTCURSORUP
[LAMBDA (NEWCURSOR) (* ; "Edited 16-Jan-89 15:44 by shimizu")
[LAMBDA (NEWCURSOR) (* ;
 "Edited 16-Jan-89 15:44 by shimizu")
(* Put soft NEWCURSOR up, assuming
 soft cursor is down.
 *)
@@ -290,7 +309,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(\BITBLT.DISPLAY
[LAMBDA (SOURCEBITMAP SOURCELEFT SOURCEBOTTOM DESTSTRM DESTINATIONLEFT DESTINATIONBOTTOM WIDTH
HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION CLIPPEDSOURCELEFT
CLIPPEDSOURCEBOTTOM) (* ; "Edited 24-Jan-91 11:57 by matsuda")
CLIPPEDSOURCEBOTTOM) (* ;
 "Edited 24-Jan-91 11:57 by matsuda")
(DECLARE (LOCALVARS . T))
(DECLARE (GLOBALVARS \SYSPILOTBBT \SCREENBITMAPS \BBSCRATCHTEXTURE \SOFTCURSORP
\SOFTCURSORUPP \CURSORDESTINATION))
@@ -454,7 +474,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(DEFINEQ
(\PUNT.SLOWBLTCHAR
[LAMBDA (CHARCODE DISPLAYSTREAM) (* ; "Edited 2-Jul-90 14:23 by matsuda")
[LAMBDA (CHARCODE DISPLAYSTREAM) (* ;
 "Edited 2-Jul-90 14:23 by matsuda")
(* ;; "case of BLTCHAR where either font is rotated or destination is a color bitmap. DISPLAYSTREAM is known to be a display stream, and its cache fields have been updated for CHARCODE's charset")
@@ -535,7 +556,10 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(T (ERROR "Not implemented to rotate by other than 0, 90 or 270"])
(\MAIKO.PUNTBLTCHAR
[LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) (* ; "Edited 1-Nov-89 15:26 by takeshi")
[LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) (* ;
 "Edited 26-Oct-2021 10:21 by larry")
(* ;
 "Edited 1-Nov-89 15:26 by takeshi")
(* ;; "puts a character on a display stream. This function will be called when \maiko.bltchar failed. Punt from subr call")
@@ -598,20 +622,23 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
DDPILOTBBT)
of DISPLAYDATA)))
0)))
(.WHILE.TOP.DS. DISPLAYSTREAM ((OPCODES SUBRCALL 70 6)
LOCAL1 DISPLAYDATA CHAR8CODE CURX LEFT RIGHT))
(.WHILE.TOP.DS. DISPLAYSTREAM (SUBRCALL BLTCHAR LOCAL1 DISPLAYDATA CHAR8CODE
CURX LEFT RIGHT))
T])
(\MAIKO.BLTCHAR
[LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) (* ; "Edited 6-Jul-90 10:14 by matsuda")
((OPCODES SUBRCALL 135 3)
CHARCODE DISPLAYSTREAM DISPLAYDATA])
[LAMBDA (CHARCODE DISPLAYSTREAM DISPLAYDATA) (* ;
 "Edited 26-Oct-2021 10:22 by larry")
(* ;
 "Edited 6-Jul-90 10:14 by matsuda")
(SUBRCALL NEW-BLTCHAR CHARCODE DISPLAYSTREAM DISPLAYDATA])
)
(DEFINEQ
(\PUNT.BLTSHADE.BITMAP
[LAMBDA (TEXTURE DESTINATIONBITMAP DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT OPERATION
CLIPPINGREGION) (* ; "Edited 5-Jun-90 12:12 by Takeshi")
CLIPPINGREGION) (* ;
 "Edited 5-Jun-90 12:12 by Takeshi")
(* ;; "This FNS is for a punt case of \BLTSHADE.BITMAP which is implemeted in C ")
(* ;
@@ -718,7 +745,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(\PUNT.BITBLT.BITMAP
[LAMBDA (SOURCEBITMAP SOURCELEFT SOURCEBOTTOM DESTBITMAP DESTINATIONLEFT DESTINATIONBOTTOM WIDTH
HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION CLIPPEDSOURCELEFT
CLIPPEDSOURCEBOTTOM) (* ; "Edited 5-Jun-90 11:59 by Takeshi")
CLIPPEDSOURCEBOTTOM) (* ;
 "Edited 5-Jun-90 11:59 by Takeshi")
(* ;; " This FNS is for a punt case of \BITBLT.BITMAP which is implemeted in C")
@@ -858,7 +886,8 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
(DEFINEQ
(BITMAPOBJ.SNAPW
[LAMBDA NIL (* ; "Edited 12-Apr-90 09:09 by matsuda")
[LAMBDA NIL (* ;
 "Edited 12-Apr-90 09:09 by matsuda")
(* * makes an image object of a prompted for region of the screen.)
@@ -962,11 +991,11 @@ Copyright (c) 1988, 1989, 1990, 1991 by Fuji Xerox Co., Ltd.. All rights reserv
)
(PUTPROPS MAIKOCOLOR COPYRIGHT ("Fuji Xerox Co., Ltd." 1988 1989 1990 1991))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (2782 5984 (\MAIKO.COLORINIT 2792 . 3962) (\MAIKO.STARTCOLOR 3964 . 4559) (
\MAIKO.STOPCOLOR 4561 . 4945) (\MAIKOCOLOR.EVENTFN 4947 . 5578) (\MAIKO.SENDCOLORMAPENTRY 5580 . 5805)
(\MAIKO.CHANGESCREEN 5807 . 5982)) (5985 26414 (CURSOREXIT 5995 . 7433) (CURSORSCREEN 7435 . 9475) (
WARPCURSOR 9477 . 9726) (\SLOWBLTCHAR 9728 . 9910) (\SOFTCURSORUP 9912 . 15707) (\BITBLT.DISPLAY 15709
. 26412)) (26485 37922 (\PUNT.SLOWBLTCHAR 26495 . 33267) (\MAIKO.PUNTBLTCHAR 33269 . 37722) (
\MAIKO.BLTCHAR 37724 . 37920)) (37923 54124 (\PUNT.BLTSHADE.BITMAP 37933 . 44959) (\PUNT.BITBLT.BITMAP
44961 . 54122)) (54125 54867 (BITMAPOBJ.SNAPW 54135 . 54865)))))
(FILEMAP (NIL (3229 7254 (\MAIKO.COLORINIT 3239 . 4475) (\MAIKO.STARTCOLOR 4477 . 5293) (
\MAIKO.STOPCOLOR 5295 . 5749) (\MAIKOCOLOR.EVENTFN 5751 . 6382) (\MAIKO.SENDCOLORMAPENTRY 6384 . 6842)
(\MAIKO.CHANGESCREEN 6844 . 7252)) (7255 28244 (CURSOREXIT 7265 . 8769) (CURSORSCREEN 8771 . 10877) (
WARPCURSOR 10879 . 11194) (\SLOWBLTCHAR 11196 . 11608) (\SOFTCURSORUP 11610 . 17471) (\BITBLT.DISPLAY
17473 . 28242)) (28315 40283 (\PUNT.SLOWBLTCHAR 28325 . 35163) (\MAIKO.PUNTBLTCHAR 35165 . 39855) (
\MAIKO.BLTCHAR 39857 . 40281)) (40284 56617 (\PUNT.BLTSHADE.BITMAP 40294 . 47386) (\PUNT.BITBLT.BITMAP
47388 . 56615)) (56618 57426 (BITMAPOBJ.SNAPW 56628 . 57424)))))
STOP

Binary file not shown.

View File

@@ -1,10 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT XCCS)
(FILECREATED "18-Aug-2021 12:13:11" {DSK}<home>larry>medley>library>MSANALYZE.;5 62745
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
changes to%: (FNS MSPRGMACRO MSFINDP)
(VARS MSMACROPROPS)
(FILECREATED "26-Dec-2021 10:10:02" {DSK}<home>larry>medley>library>MSANALYZE.;6 62468
previous date%: "18-Aug-2021 10:56:25" {DSK}<home>larry>medley>library>MSANALYZE.;4)
:CHANGES-TO (FNS MSPRGTEMPLATE)
:PREVIOUS-DATE "18-Aug-2021 12:13:11" {DSK}<home>larry>medley>library>MSANALYZE.;5)
(* ; "
@@ -269,7 +269,7 @@ DONTCOPY
(DECLARE%: EVAL@COMPILE
(PUTPROPS MSVBNOTICED MACRO [OPENLAMBDA (VERB MOD)
(CDR (ASSOC MOD (CDR (ASSOC VERB MS.VERB.TO.NOTICED])
(CDR (ASSOC MOD (CDR (ASSOC VERB MS.VERB.TO.NOTICED])
)
)
(DEFINEQ
@@ -752,19 +752,18 @@ DONTCOPY
(CDR TEMPLATE])
(MSPRGTEMPLATE
(LAMBDA (PARENT TEMPLATE PARENTCONTEXT) (* lmm "23-Jul-86 00:15")
(BLOCK) (*
 "Masterscope should block every once and a while. This is one place to do it.")
[LAMBDA (PARENT TEMPLATE PARENTCONTEXT) (* ; "Edited 26-Dec-2021 10:09 by larry")
(* lmm "23-Jul-86 00:15")
(PROG ((VARS VARS)
TEM)
(COND
((EQ TEMPLATE 'MACRO)
[(EQ TEMPLATE 'MACRO)
(COND
((SETQ TEM (GETMACROPROP (CAR PARENT)
MSMACROPROPS))
(MSPRGMACRO PARENT TEM))
(T (MSPRGTEMPLATE1 PARENT '(CALL .. EVAL)))))
(T (MSPRGTEMPLATE1 PARENT TEMPLATE))))))
(T (MSPRGTEMPLATE1 PARENT '(CALL |..| EVAL]
(T (MSPRGTEMPLATE1 PARENT TEMPLATE])
(MSPRGLAMBDA
[LAMBDA (EXPR FLG TYPE) (* ; "Edited 3-Jun-88 10:23 by jrb:")
@@ -1036,22 +1035,21 @@ DONTCOPY
(RPAQQ MSRECORDTRANFLG NIL)
(ADDTOVAR INVISIBLEVARS $$1 $$2 $$3 $$4 $$5 $$6 $$7 $$8 $$9 $$10 $$11 $$12 $$13 $$14 $$15 $$16
$$17)
(ADDTOVAR INVISIBLEVARS $$1 $$2 $$3 $$4 $$5 $$6 $$7 $$8 $$9 $$10 $$11 $$12 $$13 $$14 $$15 $$16 $$17)
(DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE
(PUTPROPS INCLISP MACRO ((.X.)
(COND
((AND INCLISP EACHTIME (NOT (MSFINDP INCLISP .X.)))
INCLISP)
(T .X.))))
(COND
((AND INCLISP EACHTIME (NOT (MSFINDP INCLISP .X.)))
INCLISP)
(T .X.))))
(PUTPROPS LTEMPLATE MACRO [LAMBDA (Y)
(DECLARE (LOCALVARS Y))
(AND [NEQ T (SETQ Y (OR (GETHASH Y USERTEMPLATES)
(GETHASH Y MSTEMPLATES]
Y])
(DECLARE (LOCALVARS Y))
(AND [NEQ T (SETQ Y (OR (GETHASH Y USERTEMPLATES)
(GETHASH Y MSTEMPLATES]
Y])
)
)
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY
@@ -1265,10 +1263,10 @@ DONTCOPY
(DECLARE%: EVAL@COMPILE DONTCOPY
(PUTPROPS LTEMPLATE MACRO [LAMBDA (Y)
(DECLARE (LOCALVARS Y))
(AND [NEQ T (SETQ Y (OR (GETHASH Y USERTEMPLATES)
(GETHASH Y MSTEMPLATES]
Y])
(DECLARE (LOCALVARS Y))
(AND [NEQ T (SETQ Y (OR (GETHASH Y USERTEMPLATES)
(GETHASH Y MSTEMPLATES]
Y])
)
(DEFINEQ
@@ -1288,11 +1286,11 @@ DONTCOPY
)
(PUTPROPS MSANALYZE COPYRIGHT ("Venue & Xerox Corporation" T 1982 1983 1984 1985 1986 1988 1990 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3820 11339 (VARS 3830 . 3971) (FREEVARS 3973 . 4126) (CALLS 4128 . 10469) (
COLLECTFNDATA 10471 . 10850) (CALLS3 10852 . 11337)) (13596 52783 (ALLCALLS 13606 . 14285) (
MSINITFNDATA 14287 . 14531) (MSPRGE 14533 . 21607) (MSPRGMACRO 21609 . 22205) (MSPRGCALL 22207 . 22531
) (MSBINDVAR 22533 . 23052) (MSPRGRECORD 23054 . 29967) (MSPRGERR 29969 . 30137) (MSPRGTEMPLATE1 30139
. 39300) (MSPRGTEMPLATE 39302 . 39982) (MSPRGLAMBDA 39984 . 49579) (MSPRGLST 49581 . 49749) (ADDTO
49751 . 50542) (NLAMBDAFNP 50544 . 51296) (MSPRGDWIM 51298 . 52117) (MSDWIMTRAN 52119 . 52781)) (62109
62541 (MSFINDP 62119 . 62539)))))
(FILEMAP (NIL (3759 11278 (VARS 3769 . 3910) (FREEVARS 3912 . 4065) (CALLS 4067 . 10408) (
COLLECTFNDATA 10410 . 10789) (CALLS3 10791 . 11276)) (13527 52635 (ALLCALLS 13537 . 14216) (
MSINITFNDATA 14218 . 14462) (MSPRGE 14464 . 21538) (MSPRGMACRO 21540 . 22136) (MSPRGCALL 22138 . 22462
) (MSBINDVAR 22464 . 22983) (MSPRGRECORD 22985 . 29898) (MSPRGERR 29900 . 30068) (MSPRGTEMPLATE1 30070
. 39231) (MSPRGTEMPLATE 39233 . 39834) (MSPRGLAMBDA 39836 . 49431) (MSPRGLST 49433 . 49601) (ADDTO
49603 . 50394) (NLAMBDAFNP 50396 . 51148) (MSPRGDWIM 51150 . 51969) (MSDWIMTRAN 51971 . 52633)) (61832
62264 (MSFINDP 61842 . 62262)))))
STOP

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