1
0
mirror of synced 2026-03-26 02:25:53 +00:00

Compare commits

...

105 Commits

Author SHA1 Message Date
Matt Heffron
e2d8c9e5ad Merge pull request #1331 from Interlisp/Remake-CMLARITH-filemap
CMLARAITH:  Makefile new to get fns/functions in filemap
2023-10-29 22:51:41 -07:00
Matt Heffron
2ea1321d81 Merge branch 'master' into Remake-CMLARITH-filemap
Signed-off-by: Matt Heffron <mattheffron475@gmail.com>
2023-10-29 22:38:03 -07:00
Frank Halasz
9054814ef7 Add dribble file to app-from-full loadup (#1371) 2023-10-29 10:00:59 -07:00
rmkaplan
84dead86af Patch TEDIT.DEACTIVATE.WINDOW in old Tedit (#1361) 2023-10-28 14:34:25 -07:00
rmkaplan
5e83d63567 VIRTUALKEYBOARD: fix loadup (#1262)
* VIRTUALKEYBOARD:  fix loadup

* Reorganizing VIRTUALKEYBOARDS as described in #1267

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

* Move KEYBOARDCONFIGS KEYBOARDEDIT to library/virtualkeyboards

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

* Oops, off by one

---------

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

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

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

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

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

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

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

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

---------

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

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

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

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

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

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

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

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

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

* HARDCOPY:  fixes printer menu

* PDFSTREAM: define PDF fonts as POSTSCRIPT fonts

* PDFSTREAM: fix convert template

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

* PDF Stream:  slight generalization

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

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

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

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

The other PR will be cleaned out

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

* PDFSTREAM:  wrapped FULLNAME around TRUEFILENAME

* Restore POSTSCRIPTSTREAM

* UNIXUTILS:  Added UNIX-FILE-NAME

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

* PDF-STREAM:  added SEE-PDF

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

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

* Pick up master changes

---------

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

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

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

* Fix call to gh release list for maiko

* Debugging call to gh release list for maiko

* Debugging call to gh release list for maiko #2

* Debugging call to gh release list for maiko #3

* Debugging call to gh release list for maiko #4

* Debugging call to gh release list for maiko #5

* Debugging call to gh release list for maiko #6

* Change maiko downloads to accoiunt for draft releases

* Change maiko downloads to account for draft releases #2

* Specify shell (powershell) for Download cygwin installler

* Few cleanup items on cygwin-install

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

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

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

* Add xdg-utils to cygwin install to support ShellBrowser

* Odds and ends on cygwin build

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

* Remove junk lines from buildLoadup.yml

* Restore accidently deleted line to buildLoadup.yml

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

* Change name of job from windows_installer to cygwin_installer

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

* Fiddling with getting cygwin-installer name right

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

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

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

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

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

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

* In Dockerfile_medley do an apt update before tzdata

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

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

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

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

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

Add Lafite and Rooms Manuals

* Only rooms-manual, Lafite has .tedit files

---------

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

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

* no change to SKETCHOPS needed

* still need one \IPC 'constant' from INTERPRESS

* changes to WINDOW GLOBALVARS another time

* recompile XXFILL

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

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

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

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

* GATHEREXPORTS again:  PRETTYDEF likes only litatom filenames

(which probably should be fixed)
2023-07-19 12:01:38 -07:00
Larry Masinter
c797d919f1 Merge pull request #1274 from Interlisp/fgh_loadups
Move exports.all to the loadups directory; add a LOADUPSDIRECTORIES to MEDLEY-INIT-VARS
2023-07-19 05:37:48 -07:00
Frank Halasz
03e59d15c8 Adding (FROM LOADUPS) whereever EXPORTS.ALL is loaded - changing from LOAD to FILESLOAD where necessary. 2023-07-18 13:39:49 -07:00
rmkaplan
ebff4f7268 PDFSTREAM: Fix logic around closing the postscript sub-stream 2023-07-17 23:04:38 -07:00
Frank Halasz
08880d550e Move exports.all to the loadups directory; add a LOADUPSDIRECTORIES to MEDLEY-INIT-VARS 2023-07-17 16:38:10 -07:00
rmkaplan
c281728c65 PDFSTREAM: fix convert template 2023-07-02 18:25:41 -07:00
rmkaplan
c4554894b3 PDFSTREAM: define PDF fonts as POSTSCRIPT fonts 2023-06-25 17:16:27 -07:00
rmkaplan
58196b4011 HARDCOPY: fixes printer menu 2023-06-24 15:49:31 -07:00
rmkaplan
f6a9b88b34 POSTSCRIPTSTREAM: Adds extra field to postscript data for PDFSTREAM filename 2023-06-24 15:49:18 -07:00
rmkaplan
bad19ab45f PDFSTREAM: first implementation
Makes PS file, then applies separate utility (if available) to convert PS to PDF
2023-06-24 15:48:21 -07:00
217 changed files with 14112 additions and 7889 deletions

View File

@@ -7,7 +7,7 @@
#
# ******************************************************************************
FROM ubuntu:22.10
FROM ubuntu:22.04
ARG TARGETPLATFORM
# Handle ARGs, ENV variables, and LABELs
@@ -31,6 +31,12 @@ ENV LANG=C.UTF-8
# Copy over the release deb files
ADD ./*.deb /tmp
# Get tzdata setup ahead of time
RUN apt-get update; \
ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime; \
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata; \
dpkg-reconfigure --frontend noninteractive tzdata
# Install Medley/Maiko and add tightvnc server and xclip to the image
RUN apt-get update \
&& apt-get install -y apt-utils \
@@ -51,8 +57,8 @@ RUN apt-get update \
echo "x86_64"; \
fi \
) \
&& deb="medley-full-${MEDLEY_RELEASE#medley-}" \
&& deb=${deb}_${MAIKO_RELEASE#maiko-}-linux-${p}.deb \
&& deb="medley-full-linux-${p}-${MEDLEY_RELEASE#medley-}" \
&& deb=${deb}_${MAIKO_RELEASE#maiko-}.deb \
&& apt-get install -y /tmp/${deb} \
&& chown --recursive root:root /usr/local/interlisp \
&& (if [ -n "$(which unminimize)" ]; then (yes | unminimize); fi)

View File

@@ -20,7 +20,7 @@ name: 'Build/Push Docker Image'
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
@@ -33,7 +33,7 @@ on:
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
@@ -59,7 +59,7 @@ on:
defaults:
run:
shell: bash
jobs:
@@ -86,7 +86,7 @@ jobs:
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
fi
######################################################################################
@@ -100,7 +100,7 @@ jobs:
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v3
@@ -110,7 +110,7 @@ jobs:
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
# Check if build already run for this commit
- name: Build already completed?
- name: Build already completed?
id: check
continue-on-error: true
uses: ./../actions/check-sentry-action
@@ -131,12 +131,12 @@ jobs:
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v3
# Find latest release (draft or normal)
# and download its assets
- name: Download linux debs from latest (draft) release
@@ -160,7 +160,7 @@ jobs:
- name: Get info about Miako and Medley releases
id: release_info
run: |
regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
regex="^medley-full-[^-]*-[^-]*-\([^_]*\)_\(.*\).deb\$"
ls -1 release_debs | head -n 1 > debname.tmp
medley_release="medley-$(sed -e "s/${regex}/\1/" debname.tmp)"
maiko_release="maiko-$(sed -e "s/${regex}/\2/" debname.tmp)"
@@ -168,6 +168,8 @@ jobs:
echo "MEDLEY_RELEASE=${medley_release}" >> ${GITHUB_ENV}
echo "MAIKO_RELEASE=${maiko_release}" >> ${GITHUB_ENV}
# regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# Set repo env variables
- name: Set repo/docker env variables
id: repo_env
@@ -176,10 +178,10 @@ jobs:
docker_namespace="$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')"
docker_image="${docker_namespace}/${repo_name}"
if [ "${{ needs.inputs.outputs.draft }}" = "false" ];
then
then
docker_tags="${docker_image}:latest,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
platforms="linux/amd64,linux/arm64"
else
else
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
fi
@@ -242,7 +244,7 @@ jobs:
needs: [inputs, sentry, build_and-push]
steps:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v3
@@ -257,10 +259,10 @@ jobs:
uses: ./../actions/set-sentry-action
with:
tag: "docker"
- name: Output
id: output
run: |
echo "build_successful='true'" >> ${GITHUB_OUTPUT}
######################################################################################

View File

@@ -60,7 +60,7 @@ defaults:
jobs:
######################################################################################
# JOB: inputs #######################################################################
# Regularize the inputs so they can be referenced the same way whether they are
# the result of a workflow_dispatch or a workflow_call
@@ -85,8 +85,7 @@ jobs:
fi
######################################################################################
# JOB: sentry #######################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
@@ -114,11 +113,11 @@ jobs:
with:
tag: "loadup"
######################################################################################
# JOB: loadup #######################################################################
#
# Do the loadup
# Do the loadup and push to release on github
#
loadup:
@@ -130,6 +129,9 @@ jobs:
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
maiko_release_tag: ${{ steps.job_outputs.outputs.MAIKO_RELEASE_TAG }}
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
release_url: ${{ steps.push.outputs.html_url }}
needs: [inputs, sentry]
if: |
@@ -154,24 +156,36 @@ jobs:
id: tag
uses: ./../actions/release-tag-action
# Get Maiko release information, retrieves the name of the latest
# Get Maiko release information, retrieves the name of the latest (draft)
# release. Used to download the correct Maiko release
- name: Get Maiko Release Information
# Find latest release (draft or normal)
- name: Get maiko release information
id: maiko
uses: abatilo/release-info-action@v1.3.2
with:
owner: ${{ github.repository_owner }}
repo: maiko
run: |
tag=""
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
then
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
if [ $? -eq 0 ];
then
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
fi
fi
if [ -z "${tag}" ];
then
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
fi
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Setup environment variables & establish job outputs
- name: Setup Environment Variables
run: |
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
echo "TARBALL_DIR=/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${RELEASE_TAG}" >>${GITHUB_ENV}
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.latest_tag }}" >>${GITHUB_ENV}
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.maiko_tag }}" >>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@" >>${GITHUB_ENV}
- name: More Environment Variables
run: |
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_RELEASE_TAG#medley-}" >>${GITHUB_ENV}
@@ -182,27 +196,26 @@ jobs:
- name: Establish job outputs
id: job_outputs
run: |
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> $GITHUB_OUTPUT;
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> $GITHUB_OUTPUT;
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> $GITHUB_OUTPUT;
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
echo "ARTIFACTS_FILENAME_TEMPLATE=${ARTIFACTS_FILENAME_TEMPLATE}" >> ${GITHUB_OUTPUT}
# Setup some needed dirs in workspace
- name: Create work dirs
run: mkdir -p ${TARBALL_DIR}
# Download Maiko Release Assets
# Download Maiko Release Assets and untar it
- name: Download Release Assets
uses: robinraju/release-downloader@v1.6
with:
repository: ${{ github.repository_owner }}/maiko
token: ${{ secrets.GITHUB_TOKEN }}
latest: true
out-file-path: ${{ env.TARBALL_DIR }}
fileName: "${{ env.MAIKO_RELEASE_TAG }}-linux.*.tgz"
- name: Untar Maiko Release for use in loadup
run: |
tar -xzf "${TARBALL_DIR}/${{ env.MAIKO_RELEASE_TAG }}-linux.x86_64.tgz"
gh release download ${MAIKO_RELEASE_TAG} \
-D ${TARBALL_DIR} \
--repo ${{ github.repository_owner }}/maiko \
-p '*.tgz'
tar -xzf "${TARBALL_DIR}/${MAIKO_RELEASE_TAG}-linux.x86_64.tgz"
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Checkout Notecards and tar it in the tarballsdir
- name: Checkout Notecards
@@ -210,11 +223,11 @@ jobs:
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- run: mv ./notecards ../notecards
- name: Tar notecards into tarball dir
run: |
cd ..
tar cfz medley/${TARBALL_DIR}/notecards.tgz notecards
mv ./notecards ../notecards
cd ../notecards
git archive --format=tgz --output="${TARBALL_DIR}/notecards.tgz" --prefix=notecards/ main
# Install vnc
- name: Install vnc
@@ -224,55 +237,13 @@ jobs:
run: |
Xvnc -geometry 1280x720 :0 &
export DISPLAY=":0"
PATH="$PWD/maiko:$PATH"
scripts/loadup-all.sh -apps
scripts/loadup-db.sh
- name: Build loadups release tar
- name: Build release tars
run: |
cd ..
mkdir -p medley/${TARBALL_DIR}
tar cfz medley/${TARBALL_DIR}/${MEDLEY_RELEASE_TAG}-loadups.tgz \
medley/loadups/lisp.sysout \
medley/loadups/full.sysout \
medley/loadups/apps.sysout \
medley/loadups/whereis.hash \
medley/library/exports.all
- name: Build runtime release tar
run: |
cd ..
mkdir -p medley/${TARBALL_DIR}
tar cfz medley/${TARBALL_DIR}/${MEDLEY_RELEASE_TAG}-runtime.tgz \
--exclude "*~" --exclude "*#*" \
--exclude exports.all \
medley/clos \
medley/docs/dinfo \
medley/docs/man-page/medley.1.gz \
medley/doctools \
medley/greetfiles \
medley/rooms \
medley/medley \
medley/run-medley \
medley/scripts \
medley/fonts/displayfonts \
medley/fonts/altofonts \
medley/fonts/adobe \
medley/fonts/postscriptfonts \
medley/fonts/ipfonts \
medley/library \
medley/lispusers \
medley/sources \
medley/internal
# Build the deb files as well as the tgz files
- name: Build .deb files for 3 architectures
id: debs
run: |
cd installers/deb
debs_filename_base=$(./build_deb.sh)
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_ENV;
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_OUTPUT;
scripts/release-make-tars.sh "${MEDLEY_RELEASE_TAG}"
mv releases/"${MEDLEY_SHORT_RELEASE_TAG}"/*.tgz "${TARBALL_DIR}"
# Push the release up to github releases
- name: Delete existing release with same tag (if any)
@@ -282,29 +253,37 @@ jobs:
continue-on-error: true
- name: Push the release
id: push_release
id: push
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# ${{ env.TARBALL_DIR }}/notecards.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz,
${{ env.DEBS_DIR }}/*.deb,
${{ env.TARS_DIR }}/*.tgz
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
tag: ${{ env.MEDLEY_RELEASE_TAG }}
draft: ${{ needs.inputs.outputs.draft }}
prerelease: false
generateReleaseNotes: true
token: ${{ secrets.GITHUB_TOKEN }}
# Save the tarball directory for subsequent jobs
- name: Save tarballs
uses: actions/upload-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
if-no-files-found: error
# JOB: linux_installer ##############################################################
#
# Create the Windows installer, push it up to the release on github and
# update the downloads page on OIO
# Create the linux installers (.deb and .tgz) and push to release on github
#
windows_installer:
linux_installer:
runs-on: windows-latest
runs-on: ubuntu-latest
needs: [inputs, sentry, loadup]
if: |
@@ -312,6 +291,157 @@ jobs:
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v3
# Environment variables
- name: Environment variables
run: |
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
>>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
# Create taball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
# Build the deb files as well as the tgz files
- name: Build .deb files for 3 architectures
id: debs
run: |
cd installers/deb
./build_deb.sh
# Push the debs and tgz up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
${{ env.DEBS_DIR }}/*.deb,
${{ env.TARS_DIR }}/*.tgz
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
- name: Rename medley tar for the x86_64 platform
run: |
cd ${{ env.TARS_DIR }}
mv medley-full-linux-x86_64-*.tgz medley.tgz
- name: Save medley tar for use in cygwin installers
uses: actions/upload-artifact@v3
with:
name: medley-tar
path: |
${{ env.TARS_DIR }}/medley.tgz
# JOB: macos_installer ##############################################################
#
# Create the macos installers (.dmg and .zip) and push to release on github
#
macos_installer:
runs-on: macos-12
needs: [inputs, sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
# if: false
defaults:
run:
shell: bash
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v3
# Environment variables
- name: Environment variables
run: |
MACOS_DIR=installers/macos
echo "MACOS_DIR=${MACOS_DIR}" >>${GITHUB_ENV}
echo "ARTIFACTS_DIR=${MACOS_DIR}/artifacts" >>${GITHUB_ENV}
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" >>${GITHUB_ENV}
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
# Create tarball dir
- run: mkdir -p ${TARBALL_DIR}
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
# Build the .dmg and .zip files
- name: Build .dmg & .zip files
id: dmg-zip
run: |
cd ${MACOS_DIR}
./build_artifacts.sh
# Push the .dmg and .zip up to github releases
- name: Push the release
id: push_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts:
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
${{ env.ARTIFACTS_DIR }}/*.zip
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# JOB: cygwin_installer #############################################################
#
# Create the Windows installer, push it up to the release on github and
# update the downloads page on OIO
#
cygwin_installer:
runs-on: windows-2022
needs: [inputs, sentry, loadup, linux_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
outputs:
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v3
@@ -326,24 +456,59 @@ jobs:
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$aft="${{ needs.loadup.outputs.artifacts_filename_template }}"
echo "ARTIFACTS_FILENAME_TEMPLATE=$aft" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$debs="${{ needs.loadup.outputs.debs_filename_base }}"
echo "DEBS_FILENAME_BASE=$debs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# Download vnc viewer
- name: Download vncviewer
# Retrieve medley tars from artifact store
- name: Retrieve medley tar
uses: actions/download-artifact@v3
with:
name: medley-tar
path: installers/cygwin/
# Download maiko cygwin build
- name: Retrieve maiko cygwin build
shell: powershell
env:
GH_TOKEN: ${{ secrets.MAIKO_TOKEN }}
run: |
gh release download ${{ needs.loadup.outputs.maiko_release_tag }} --repo interlisp/maiko --pattern ${{ needs.loadup.outputs.maiko_release_tag }}-cygwin.x86_64.tgz --output installers\cygwin\maiko-cygwin.x86_64.tgz
# Download cygwin installer to be included by medley.iss
- name: Download cygwin installer
id: cygwin
shell: powershell
run: |
$url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
$output = "installers\win\vncviewer64-1.12.0.exe"
(New-Object System.Net.WebClient).DownloadFile($url, $output)
wget https://cygwin.com/setup-x86_64.exe -OutFile installers\cygwin\setup-x86_64.exe
# Download vnc viewer
#- name: Download vncviewer
# shell: powershell
# run: |
# $url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
# $output = "installers\win\vncviewer64-1.12.0.exe"
# (New-Object System.Net.WebClient).DownloadFile($url, $output)
# Run iscc.exe to compile the installer
- name: Compile medley.iss
#- name: Compile medley.iss
# shell: powershell
# run: |
# iscc installers\win\medley.iss
# $filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
# echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# Run iscc.exe to compile the installer
- name: Compile cygwin_medley.iss
id: compile_iss
shell: powershell
run: |
iscc installers\win\medley.iss
$filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$Env:CYGWIN_INSTALLER_BASE="medley-full-cygwin-x86_64-${env:COMBINED_RELEASE_TAG}"
$CYGWIN_INSTALLER="${Env:CYGWIN_INSTALLER_BASE}.exe"
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append
iscc installers\cygwin\medley.iss
# Upload windows installer to release
- name: Upload windows installer to release
@@ -351,7 +516,7 @@ jobs:
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: installers/win/${{ env.INSTALLER_FILENAME }}
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
@@ -359,18 +524,65 @@ jobs:
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# Install the OpenSSH Client
- name: Install the OpenSSH Client
shell: powershell
# JOB: downloads_page ################################################################
#
# Update the downloads page on OIO
#
downloads_page:
runs-on: ubuntu-latest
needs: [inputs, sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Environment variables
- name: Environment Varibales (from other jobs)
run: |
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
echo "MEDLEY_SHORT_RELEASE_TAG=${msrt}" >>${GITHUB_ENV}
cyginst="${{ needs.cygwin_installer.outputs.cygwin_installer }}"
echo "CYGWIN_INSTALLER=${cyginst}" >>${GITHUB_ENV}
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v3
# Upload a dummy file to release
# Needed since download url of the release changes on every update
# So this will be the final update before creating downloads page
# and we can use its url for the page
- run: echo "placeholder" >placeholder.txt
- name: Upload windows placeholder.txt to release
id: pushph
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: placeholder.txt
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
omitPrereleaseDuringUpdate: true
# Update the downloads page and the man page on OIO
- name: Update the downloads page and the man page to the OIO static page host
shell: bash
run: |
# Figure out filenames
download_url="${{ steps.push.outputs.html_url }}"
download_url="${{ steps.pushph.outputs.html_url }}"
download_url="${download_url/\/tag\//\/download\/}"
local_template="installers/downloads_page/medley_downloads.html"
local_filename="medley_downloads.html"
@@ -388,9 +600,9 @@ jobs:
# Fill in downloads page template
sed \
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
-e "s/@@@COMBINED.RELEASE.TAG@@@/${COMBINED_RELEASE_TAG}/g" \
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
-e "s/@@@DEBS.FILENAME.BASE@@@/${DEBS_FILENAME_BASE}/g" \
-e "s/@@@WINDOWS.INSTALLER.FILENAME@@@/${INSTALLER_FILENAME}/g" \
-e "s~@@@CYGWIN.INSTALLER@@@~${CYGWIN_INSTALLER}~g" \
< "${local_template}" > "${local_filename}"
# Create sftp instruction file
echo "-rm ${remote_filepath}.oldold" > batch
@@ -405,9 +617,15 @@ jobs:
env:
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
# Remove placeholder.txt
- name: Remove placeholder.txt
run: |
gh release delete-asset ${{ env.MEDLEY_RELEASE_TAG }} placeholder.txt --yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
######################################################################################
# JOB: complete #####################################################################
# Use set-sentry-action to determine set the sentry that says this release has
# been successfully built
@@ -419,9 +637,16 @@ jobs:
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [inputs, sentry, loadup, windows_installer]
needs: [inputs, sentry, loadup, downloads_page]
steps:
# Delete the tarballs artifact
- name: Delete tarballs artifact
uses: geekyeggo/delete-artifact@v2
with:
name: tarballs
failOnError: false
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v3
@@ -443,21 +668,4 @@ jobs:
echo "build_successful='true'" >> $GITHUB_OUTPUT
######################################################################################
# - name: Download the Windows installer created in windows job
# uses: actions/download-artifact@v3
# with:
# name: windows_installer
# path: installers/win
# - name: Rename the Windows installer w/ version tag
# run: |
# maiko_release_tag="${{ steps.maiko.outputs.latest_tag }}"
# combined_release_tag="${MEDLEY_RELEASE_TAG#medley-}_${maiko_release_tag#maiko-}"
# windows_installer_filename="medley_install_${combined_release_tag}_x64.exe"
# cd installers/win
# mv medley_install_vXXXVERSIONXXX_x64.exe "${windows_installer_filename}"
# echo "WINDOWS_INSTALLER_FILENAME=${windows_installer_filename}" >>${GITHUB_ENV}
######################################################################################

View File

@@ -84,6 +84,7 @@ jobs:
echo "force=false" >> $GITHUB_OUTPUT;
fi
######################################################################################
@@ -94,8 +95,7 @@ jobs:
with:
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets:
OIO_SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
secrets: inherit
######################################################################################
@@ -107,9 +107,7 @@ jobs:
with:
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
secrets: inherit
######################################################################################

7
.gitignore vendored
View File

@@ -2,15 +2,20 @@
tmp/*
# releases directory
releases/*
# all loadup files
library/exports.all
loadups/exports.all
library/RDSYS*
loadups/lisp.sysout
loadups/full.sysout
loadups/*.dribble
loadups/whereis.hash
loadups/apps.sysout
loadups/fuller.database
# manual cross-reference files

View File

@@ -1,12 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "19-Jan-2023 12:44:20" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;9 21022
(FILECREATED "16-Jun-2023 17:20:09" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;11 21130
:CHANGES-TO (VARS APPS-INITCOMS)
(FNS Apps.DoInit)
:CHANGES-TO (FNS Apps.DoInit)
:PREVIOUS-DATE "19-Jan-2023 11:57:40" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;8
)
:PREVIOUS-DATE "19-Jan-2023 12:44:20"
{DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;10)
(PRETTYCOMPRINT APPS-INITCOMS)
@@ -170,7 +169,11 @@
(* ;; " create the Documentation and ROOMS, Notecards Activation Buttons, if needed")
(Apps.CreateButtons T])
(Apps.CreateButtons T)
(* ;; " Make sure Notecards doesn't try to load its HASH file in NC.PostGreet")
(SETTOPVAL '\NC.SourceAccessFlg NIL])
(Apps.CreateButtons
[LAMBDA (DoDocsToo) (* ; "Edited 13-Dec-2022 12:51 by frank")
@@ -373,8 +376,8 @@
(BKSYSBUF " ")
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1146 20888 (Apps.InitNotecards 1156 . 5018) (Apps.DoInit 5020 . 8119) (
Apps.CreateButtons 8121 . 16945) (Apps.CreateLabel 16947 . 17757) (Apps.ActivateCLOS 17759 . 19108) (
Apps.ActivateRooms 19110 . 19961) (Apps.ShowDoc 19963 . 20112) (XCL-USER::EXEC_INTERLISP 20114 . 20886
(FILEMAP (NIL (1109 20996 (Apps.InitNotecards 1119 . 4981) (Apps.DoInit 4983 . 8227) (
Apps.CreateButtons 8229 . 17053) (Apps.CreateLabel 17055 . 17865) (Apps.ActivateCLOS 17867 . 19216) (
Apps.ActivateRooms 19218 . 20069) (Apps.ShowDoc 20071 . 20220) (XCL-USER::EXEC_INTERLISP 20222 . 20994
)))))
STOP

Binary file not shown.

6
installers/cygwin/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
medley*.exe
medley*.tgz
maiko*.tgz
setup-x86_64.exe
medley.bat

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

View File

@@ -0,0 +1,165 @@
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
;
; This program is free software; you can redistribute it and/or modify it under
; the terms of the GNU Lesser General Public License as published by the Free
; Software Foundation; either version 3 of the License, or (at your option) any
; later version.
;
; This program is distributed in the hope that it will be useful, but WITHOUT
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
; details.
;
; You should have received a copy of the GNU Lesser General Public License
; along with this program. If not, see https://www.gnu.org/licenses/.
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
; demonstrating use of PathMgr.dll.
;
; This script uses PathMgr.dll in the following ways:
; * Copies PathMgr.dll to the target machine (required for uninstall)
; * Defines a task in [Tasks] that should modify the Path
; * Imports the AddDirToPath() DLL function at setup time
; * Imports the RemoveDirFromPath() DLL function at uninstall time
; * Stores task state as custom setting using RegisterPreviousData()
; * Retrieves task state custom setting during setup and uninstall initialize
; * At post install, adds app dir to Path if task selected
; * At uninstall, removes dir from Path if custom setting present
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
#if Ver < EncodeVer(6,0,0,0)
#error This script requires Inno Setup 6 or later
#endif
[Setup]
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
AppName=EditPath
AppVersion=4.0.4.0
UsePreviousAppDir=false
DefaultDirName={autopf}\EditPath
Uninstallable=true
OutputDir=.
OutputBaseFilename=EditPath_Setup
ArchitecturesInstallIn64BitMode=x64
PrivilegesRequired=none
PrivilegesRequiredOverridesAllowed=dialog
[Files]
; Install PathMgr.dll for use with both setup and uninstall; use
; uninsneveruninstall flag because DeinitializeSetup() will delete after
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
; setup and uninstall executables are 32-bit
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
; Other files to install on target system
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
Source: "EditPath.md"; DestDir: "{app}"
[Tasks]
Name: modifypath; Description: "&Add to Path"
[Code]
const
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
var
PathIsModified: Boolean; // Cache task selection from previous installs
ApplicationUninstalled: Boolean; // Has application been uninstalled?
// Import AddDirToPath() at setup time ('files:' prefix)
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
// Wrapper for AddDirToPath() DLL function
function AddDirToPath(const DirName: string): DWORD;
var
PathType, AddType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
// AddType = 0 - add to end of Path
// AddType = 1 - add to beginning of Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
AddType := 0;
result := DLLAddDirToPath(DirName, PathType, AddType);
end;
// Wrapper for RemoveDirFromPath() DLL function
function RemoveDirFromPath(const DirName: string): DWORD;
var
PathType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
result := DLLRemoveDirFromPath(DirName, PathType);
end;
procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
// Store previous or current task selection as custom user setting
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
end;
function InitializeSetup(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
end;
function InitializeUninstall(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
ApplicationUninstalled := false;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
// Add app directory to Path at post-install step if task selected
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
AddDirToPath(ExpandConstant('{app}'));
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
begin
// Remove app directory from path during uninstall if task was selected;
// use variable because we can't use WizardIsTaskSelected() at uninstall
if PathIsModified then
RemoveDirFromPath(ExpandConstant('{app}'));
end
else if CurUninstallStep = usPostUninstall then
begin
ApplicationUninstalled := true;
end;
end;
procedure DeinitializeUninstall();
begin
if ApplicationUninstalled then
begin
// Unload and delete PathMgr.dll and remove app dir when uninstalling
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
RemoveDir(ExpandConstant('{app}'));
end;
end;

View File

@@ -0,0 +1,118 @@
# EditPath
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
# Author
Bill Stewart - bstewart at iname dot com
# License
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
# Download
https://github.com/Bill-Stewart/PathMgr/releases/
# Background
The system Path is found in the following location in the Windows registry:
Root: `HKEY_LOCAL_MACHINE`
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
Value name: `Path`
The current user Path is found in the following location in the registry:
Root: `HKEY_CURRENT_USER`
Subkey: `Environment`
Value name: `Path`
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
# Usage
The following describes the command-line usage for the program. Parameters are case-sensitive.
**EditPath** [_options_] _type_ _action_
You must specify only one of the following _type_ parameters:
| _type_ | Abbreviation | Description
| ------- | ------------ | -----------
| **--system** | **-s** | Specifies the system Path
| **--user** | **-u** | Specifies the user Path
You must specify only one of the following _action_ parameters:
| _action_ | Abbreviation | Description
| -------- | ------------ | -----------
| **--list** | **-l** | Lists directories in Path
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
The following parameters are optional:
| _options_ | Abbreviation | Description
| --------- | ------------ | -----------
| **--quiet** | **-q** | Suppresses result messages
| **--expand** | **-x** | Expands environment variables (**--list** only)
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
# Exit Codes
The following table lists typical exit codes when not using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 0 | No errors
| 2 | The Path value is not present in the registry
| 3 | The specified directory does not exist in the Path
| 5 | Access is denied
| 87 | Incorrect parameter(s)
| 183 | The specified directory already exists in the Path
The following table lists typical exit codes when using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 1 | The specified directory exists in the unexpanded Path
| 2 | The specified directory exists in the expanded Path
| 3 | The specified directory does not exist in the Path
# Remarks
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
# Examples
1. `EditPath --expand --system --list`
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
Adds the specified directory name to the user Path.
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
Removes the specified directory from the system Path.
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.

View File

@@ -0,0 +1,3 @@
Editpath installed here is extracted from Release 1.04 from https://github.com/Bill-Stewart/PathMgr.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,128 @@
; -- makeflix.iss --
; fgh 2016-08-19
#define x86_or_x64 "x86"
#define version "1.0.1"
#if x86_or_x64 == "x86"
#define exe_dir "Win32"
#else
#define exe_dir "x64"
#endif
[Setup]
ArchitecturesAllowed={#x86_or_x64}
AppName=Makeflix
AppVersion={#version}
AppPublisher=Lellan, Inc.
AppPublisherURL=http://www.lellan.com/
AppCopyright=Copyright (C) 2012-2017 Lellan, Inc.
DefaultDirName={pf}\Lellan\Makeflix
DefaultGroupName=Lellan
UninstallDisplayIcon={app}\makeflix.exe
Compression=lzma2
SolidCompression=yes
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
ArchitecturesInstallIn64BitMode=x64
; Source Dir is lellan/toolchain/makeflix/windows
SourceDir="..\"
OutputDir="deploy"
OutputBaseFilename="makeflix_v{#version}_{#x86_or_x64}"
SetupIconFile="..\images\Lellan_Logo_20130221.ico"
LicenseFile="..\deploy\EULA.rtf"
DisableWelcomePage=no
[Files]
Source: "makeflix\{#exe_dir}\Release\makeflix.exe"; DestDir: "{app}"; DestName: "makeflix.exe"; Flags: ignoreversion
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "deploy\DLLs\{#x86_or_x64}\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
Source: "deploy\gstreamer\{#x86_or_x64}\*"; DestDir: "{app}\gstreamer"; Flags: recursesubdirs ignoreversion
Source: "deploy\vc_redist\vc_redist.{#x86_or_x64}.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "deploy\bonjour\Bonjour.{#x86_or_x64}.msi"; DestDir: "{tmp}" ; Flags: deleteafterinstall
Source: "..\deploy\Makeflix_Open_Source_Libraries.pdf"; DestDir: "{app}"
[Icons]
Name: "{group}\Makeflix"; Filename: "{app}\makeflix.exe"
Name: "{group}\Uninstall Makeflix"; Filename: "{uninstallexe}"
[Run]
#define VCmsg "Installing Microsoft Visual C++ Redistributable ..."
Filename: "{tmp}\vc_redist{#x86_or_x64}.exe"; StatusMsg: "{#VCmsg}"; Check: not VCinstalled
#define BonjourMsg "Installing Apple Bonjour support ..."
Filename: "msiexec"; Parameters: "/i {tmp}\Bonjour.{#x86_or_x64}.msi"; StatusMsg: "{#BonjourMsg}"; Check: not BonjourInstalled
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\makeflix.exe"; ValueType: string; ValueName: "(Default)"; ValueData: "{app}\makeflix.exe"; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\makeflix.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app}\gstreamer\bin"; Flags: uninsdeletekey
[Code]
function VCinstalled: Boolean;
// By Michael Weiner <mailto:spam@cogit.net>
// Function for Inno Setup Compiler
// 13 November 2015
// Modified by Frank G Halasz to handle WOW case
// 23 August 2016
// Returns True if Microsoft Visual C++ Redistributable is installed, otherwise False.
// The programmer may set the year of redistributable to find; see below.
var
names: TArrayOfString;
i: Integer;
dName, key, year, platfm: String;
begin
// Year of redistributable to find; leave null to find installation for any year.
year := '2015';
Result := False;
if Is64BitInstallMode then
begin
platfm := 'x64';
key := 'Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall';
end
else if not IsWin64 then
begin
platfm := 'x86';
key := 'Software\Microsoft\Windows\CurrentVersion\Uninstall';
end
else
begin
platfm := 'x86';
key := 'Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall';
end;
// Get an array of all of the uninstall subkey names.
if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, key, names) then
// Uninstall subkey names were found.
begin
i := 0
while ((i < GetArrayLength(names)) and (Result = False)) do
// The loop will end as soon as one instance of a Visual C++ redistributable is found.
begin
// For each uninstall subkey, look for a DisplayName value.
// If not found, then the subkey name will be used instead.
if not RegQueryStringValue(HKEY_LOCAL_MACHINE, key + '\' + names[i], 'DisplayName', dName) then
dName := names[i];
// See if the value contains both of the strings below.
Result := (Pos(Trim('Visual C++ ' + year),dName) * Pos('Redistributable',dName) * Pos(platfm, dName) <> 0)
i := i + 1;
end;
end;
end;
function BonjourInstalled: Boolean;
// Returns True if Apple Bonjour is installed, otherwise False.
// Ignores date/version of Bonjour.
begin
Result := False;
// If this key exists, then
// bonjour services must already be installed
if RegKeyExists(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\Bonjour Service') then
// Uninstall subkey names were found.
begin
Result := True;
end;
end;

View File

@@ -0,0 +1,85 @@
;###############################################################################
;#
;# medley.iss - Inno Setup compiler script for creating a Windows
;# installer for cygwin and Medley on cygwin
;#
;# 2023-06-03 Frank Halasz
;#
;# Copyright 2023 Interlisp.org
;#
;###############################################################################
#define x86_or_x64 "x64"
#if GetEnv('COMBINED_RELEASE_TAG') != ""
#define VERSION=GetEnv('COMBINED_RELEASE_TAG')
#else
#define VERSION="local"
#endif
#if GetEnv('CYGWIN_INSTALLER_BASE') != ""
#define OUTFILE=GetEnv('CYGWIN_INSTALLER_BASE')
#else
#define OUTFILE="medley-full-cygwin-x86_64-local"
#endif
[Setup]
PrivilegesRequired=lowest
ArchitecturesAllowed={#x86_or_x64}
AppName=Medley
AppVersion={#version}
AppPublisher=Interlisp.org
AppPublisherURL=https://interlisp.org/
AppCopyright=Copyright (C) 2023 Interlisp.org
DefaultDirName={%USERPROFILE}\il
DefaultGroupName=Medley
Compression=lzma2
SolidCompression=yes
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
ArchitecturesInstallIn64BitMode=x64
OutputDir="."
OutputBaseFilename={#OUTFILE}
SetupIconFile="Medley.ico"
DisableWelcomePage=no
MissingRunOnceIdsWarning=no
DisableProgramGroupPage=yes
WizardImageFile=medley_logo.bmp
WizardSmallImageFile=medley_logo_small.bmp
WizardImageStretch=no
UninstallDisplayIcon="{app}\Medley.ico"
UninstallFilesDir={app}\uninstall
UsePreviousAppDir=no
[Dirs]
Name: "{app}\install"; Permissions: everyone-full
Name: "{app}\uninstall"; Permissions: everyone-full
Name: "{app}\cygwin"; Permissions: everyone-full
[Files]
Source: "setup-x86_64.exe"; DestDir: "{app}\cygwin"; DestName: "setup-x86_64.exe"; Flags: ignoreversion
Source: "maiko-cygwin.x86_64.tgz"; DestDir: "{app}\install"; DestName: "maiko-cygwin.x86_64.tgz"; Flags: ignoreversion
Source: "medley.tgz"; DestDir: "{app}\install"; DestName: "medley.tgz"; Flags: ignoreversion
Source: "..\win\editpath\x86_64\EditPath.exe"; DestDir: "{app}\uninstall"; DestName: "EditPath.exe"; Flags: ignoreversion
Source: "Medley.ico"; DestDir: "{app}"; DestName: "Medley.ico"; Flags: ignoreversion
[Icons]
Name: "{group}\Medley\Uninstall_Medley"; Filename: "{uninstallexe}"
; Name: "{group}\Medley\Medley"; Filename: "powershell"; Parameters: "-NoExit -File {app}\medley.ps1 --help"; IconFilename: "{app}\Medley.ico"
[Run]
Filename: "{app}\cygwin\setup-x86_64.exe"; Parameters: "--quiet-mode --no-admin --wait --no-shortcuts --no-write-registry --verbose --root {app} --site http://www.gtlib.gatech.edu/pub/cygwin/ --only-site --local-package-dir {app}\cygwin --packages nano,xdg-utils"; StatusMsg: "Installing Cygwin ..."
Filename: "{app}\bin\bash"; Parameters: "-login -c 'sed -i -e s/^none/#none/ /etc/fstab && echo none / cygdrive binary,posix=0,user 0 0 >>/etc/fstab'"; Flags: runhidden
Filename: "tar"; Parameters: "-x -z -C {app} -f {app}\install\medley.tgz"; Flags: runhidden; StatusMsg: "Installing Medley ..."
Filename: "powershell"; Parameters: "remove-item -force -recurse {app}\maiko"; Flags: runhidden; StatusMsg: "Installing Maiko ..."
Filename: "tar"; Parameters: "-x -z -C {app} -f {app}\install\maiko-cygwin.x86_64.tgz"; Flags: runhidden; StatusMsg: "Installing Maiko ..."
; Recreate medley symbolic links (lost in tars)
Filename: "{app}\bin\bash"; Parameters: "-login -c 'cd /medley/scripts/medley && ln -s medley.command medley.sh && cd ../.. && ln -s /medley/scripts/medley/medley.sh medley'"; Flags: runhidden
; Create medley.bat
Filename: "powershell"; Parameters: "write-output \""{app}\bin\bash -login -c '/medley/scripts/medley/medley.sh %*'\"" | out-file medley.bat -Encoding ascii"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Creating medley.bat ..."
Filename: "{app}\uninstall\EditPath.exe"; Parameters: "--user --add {app}"; Flags: runhidden; StatusMsg: "Adding to PATH ..."
Filename: "powershell"; Parameters: "remove-item -recurse -force {app}\install"; Flags: runhidden; StatusMsg: "Cleaning up ..."
[UninstallRun]
Filename: "{app}\uninstall\EditPath.exe"; Parameters: "--user --remove {app}"; Flags: runhidden

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -11,15 +11,6 @@
###############################################################################
# set -x
# mess with file desscriptors so we get only one line on stdout
# so we can communicate only what we want back to any githib runner
# stash fd 1 in fd 3
exec 3>&1
# make fd 1 (stdout) be the same as stdout
# so none of the std output from this file will be captured by
# $() but it will still be written out to the tty (via stderr)
exec 1>&2
tarball_dir=tmp/tarballs
# Make sure we are in the right directory
@@ -32,6 +23,13 @@ then
exit 1
fi
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
then
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
fi
# If running as a github action or -t arg, then skip downloading the tarballs
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
@@ -69,7 +67,6 @@ fi
pushd ${tarball_dir} >/dev/null 2>/dev/null
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
maiko_release=$(echo maiko-*-linux.x86_64.tgz | sed "s/maiko-\(.*\)-linux.x86_64.tgz/\1/")
debs_filename_base="medley-full-${medley_release}_${maiko_release}"
popd >/dev/null 2>/dev/null
@@ -136,7 +133,7 @@ do
#
# Create tar file for this arch
#
filename="${debs_filename_base}-${wslp}-${arch}"
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#${wslp}#" -e "s#@@ARCH@@#${arch}#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
mkdir -p tars
echo "Creating tar file tars/${filename}.tgz"
tar -C ${il_dir} -czf tars/${filename}.tgz .
@@ -151,8 +148,5 @@ do
done
done
# send just one line back to github $() construct
# do this by restoring fd 1 to what it was orginally
exec 1>&3
echo "${debs_filename_base}"
################################################################################################################
################################################################################################################

View File

@@ -10,36 +10,46 @@
<ul>
<li><h4>Standard Linux</h4>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
<li><h4>Windows System for Linux</h4>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
</ul></li>
<li><h3>Local Installations (for any Linux distro)</h3>
<ul>
<li><h4>Standard Linux</h4>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
<li><h4>Windows System for Linux</h4>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
</ul></li>
</ul></li>
<li><h2>WINDOWS 10/11 (Medley runs in a Docker container)</h2>
<li><h2>WINDOWS 10/11 (Single install based on cygwin - Docker install deprecated)</h2>
<p><a href="@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines</a></p></li>
<p><a href="@@@DOWNLOAD_URL@@@/@@@CYGWIN.INSTALLER@@@">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines</a></p></li>
<li><h2>macOS 11 (Big Sur) and later - for both Intel and Apple Silicon</h2>
<ul>
<li><h3>DMG Installer</h3>
<p>Not available</p></li>
<li><h3>ZIP Installer</h3>
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@</a></p></li>
</ul></li>
</ul></li>
</ul>

View File

@@ -6,40 +6,44 @@
* #### Standard Linux
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb)
* #### Windows System for Linux
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
* ### Local Installations (for any Linux distro)
* #### Standard Linux
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz)
* #### Windows System for Linux
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
* ## WINDOWS 10/11 (Medley runs in a Docker container)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines](@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@)
* ## WINDOWS 10/11 (Single install based on cygwin - Docker install deprecated)
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines](@@@DOWNLOAD_URL@@@/@@@CYGWIN.INSTALLER@@@)
* ## macOS 11 (Big Sur) and later - for both Intel and Apple Silicon
* ### DMG Installer
Not available
* ### ZIP Installer
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@](@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip)

7
installers/macos/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
tmp
devtmp
pkg/*.pkg
artifacts

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>medley/medley</string>
<key>CFBundleGetInfoString</key>
<string>Medley Interlisp, Copyright 2023 Interlisp.org</string>
<key>CFBundleIconFile</key>
<string>Medley.icns</string>
<key>CFBundleIdentifier</key>
<string>org.interlisp.Medley</string>
<key>CFBundleDocumentTypes</key>
<array>
</array>
<key>CFBundleInfoDictionaryVersion</key>
<string>3.51</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>--VERSION_TAG--</string>
<key>CFBundleSignature</key>
<string>Medley</string>
<key>CFBundleVersion</key>
<string>--VERSION_TAG--</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2023 Interlisp.org</string>
<key>LSMinimumSystemVersion</key>
<string>11.0</string>
</dict>
</plist>

View File

@@ -0,0 +1 @@
APPLMedley

170
installers/macos/build_app.sh Executable file
View File

@@ -0,0 +1,170 @@
#!/bin/bash
###############################################################################
#
# build_app.sh: build app bundle for installing Medley Interlisp on MacOS
#
# 2023-02-23 Frank Halasz
#
# Copyright 2023 by Interlisp.org
#
###############################################################################
APPNAME=Medley
# 2023-07-19 Temorary selector to allow us to create .zip asset before app/dmg work is finished
INCLUDE_APP="no" # "yes" or "no"
# Make sure we are in the right directory
if [ ! -f ./app/Info.plist ];
then
echo "Can't find ./app/Info.plist file."
echo "Incorrect cwd?"
echo "Should be in medley/installers/macos"
echo "Exiting"
exit 1
fi
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
then
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
fi
#
# Setup directories
#
CWD=$(pwd)
RESULTS_DIR=${CWD}/artifacts
APPBUNDLE=${RESULTS_DIR}/${APPNAME}.app
APPBUNDLECONTENTS=${APPBUNDLE}/Contents
APPBUNDLEEXE=${APPBUNDLECONTENTS}/MacOS
APPBUNDLERESOURCES=${APPBUNDLECONTENTS}/Resources
APPBUNDLEICON=${APPBUNDLECONTENTS}/Resources
tmp_dir=${CWD}/tmp
tarball_dir=${tmp_dir}/tarballs
# If running as a github action or -t arg, then skip downloading the tarballs
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
then
# First, make sure gh is available and we are logged in to github
if [ -z "$(which gh)" ];
then
echo "Can't find gh"
echo "Exiting."
exit 2
fi
gh auth status 2>&1 | grep --quiet --no-messages "Logged in to github.com"
if [ $? -ne 0 ];
then
echo "Not logged into github."
echo "Exiting."
exit 3
fi
# then clear out the ./tmp directory
rm -rf ${tmp_dir}
mkdir -p ${tmp_dir}
# then download the maiko and medley tarballs
mkdir -p ${tarball_dir}
echo "Fetching maiko and medley release tarballs"
TAG=$(gh release list --repo interlisp/maiko | head -n 1 | awk "{print \$1 }")
gh release download ${TAG} \
--repo interlisp/maiko \
--dir ${tarball_dir} \
--pattern "*darwin*.tgz"
TAG=$(gh release list --repo interlisp/medley | head -n 1 | awk "{print \$1 }")
gh release download ${TAG} \
--repo interlisp/medley \
--dir ${tarball_dir} \
--pattern "*-loadups.tgz" \
--pattern "*-runtime.tgz"
gh repo clone interlisp/notecards notecards -- --depth 1
(cd notecards; git archive --format=tgz --output=../notecards.tgz --prefix=notecards/ main)
mv notecards.tgz ${tarball_dir}
rm -rf notecards
fi
# Figure out release tags from tarball names
pushd ${tarball_dir} >/dev/null 2>/dev/null
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
maiko_release=$(echo maiko-*-darwin.x86_64.tgz | sed "s/maiko-\(.*\)-darwin.x86_64.tgz/\1/")
popd >/dev/null 2>/dev/null
if [ "${INCLUDE_APP}" = "yes" ]; then
#
# Create bundle dirs
#
rm -rf ${RESULTS_DIR}
mkdir -p ${RESULTS_DIR}
rm -rf ${APPBUNDLE}
mkdir -p ${APPBUNDLE}
mkdir ${APPBUNDLE}/Contents
mkdir ${APPBUNDLE}/Contents/MacOS
mkdir ${APPBUNDLE}/Contents/Resources
#
# Create icons and put in bundle
#
iconset_dir=${tmp_dir}/${APPNAME}.iconset
rm -rf ${iconset_dir}
mkdir -p ${iconset_dir}
image_dir=${CWD}/images
sips -z 16 16 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16.png >/dev/null 2>&1
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16@2x.png >/dev/null 2>&1
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32.png >/dev/null 2>&1
sips -z 64 64 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32@2x.png >/dev/null 2>&1
sips -z 128 128 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128.png >/dev/null 2>&1
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128@2x.png >/dev/null 2>&1
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256.png >/dev/null 2>&1
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256@2x.png >/dev/null 2>&1
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_512x512.png >/dev/null 2>&1
cp ${image_dir}/App_icon1024.png ${iconset_dir}/icon_512x512@2x.png
iconutil -c icns -o ${tmp_dir}/${APPNAME}.icns ${iconset_dir}
cp ${tmp_dir}/${APPNAME}.icns ${APPBUNDLEICON}/
rm -r ${iconset_dir}
rm ${tmp_dir}/${APPNAME}.icns
#
# Update and copy in "control" files
#
sed -e "s/--VERSION_TAG--/${medley_release}.${maiko_release}.0/g" \
< app/Info.plist \
> ${APPBUNDLECONTENTS}/Info.plist
cp app/PkgInfo ${APPBUNDLECONTENTS}/
fi #INCLUDE_APP
#
# Untar the maiko and medley releases into the bundle
#
il_dir=${APPBUNDLE}/Contents/MacOS
mkdir -p ${il_dir}
tar -x -z -C ${il_dir} \
-f "${tarball_dir}/maiko-${maiko_release}-darwin.universal.tgz"
tar -x -z -C ${il_dir} \
-f "${tarball_dir}/medley-${medley_release}-runtime.tgz"
tar -x -z -C ${il_dir} \
-f "${tarball_dir}/medley-${medley_release}-loadups.tgz"
tar -x -z -C ${il_dir} \
-f "${tarball_dir}/notecards.tgz"
#
# Handle run_medley needing separate directories for each arch
#
pushd ${il_dir}/maiko >/dev/null 2>&1
ln -s darwin.universal darwin.aarch64
ln -s darwin.universal darwin.x86_64
popd >/dev/null 2>&1
#
# Add file icon to medley.command
#
if [ -z "$(which fileicon)" ];
then
brew install fileicon
fi
fileicon set ${il_dir}/medley/scripts/medley/medley.command ${image_dir}/Command_icon128.png
#
# Also create the zip file of il_dir for distribution
#
pushd ${il_dir} >/dev/null 2>&1
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#macos#" -e "s#@@ARCH@@#universal#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
zip -r -6 -y -q ${RESULTS_DIR}/${filename}.zip .
popd >/dev/null 2>&1
######################################################################################################
######################################################################################################

View File

@@ -0,0 +1,66 @@
#!/bin/bash
###############################################################################
#
# build_artifacts.sh: build the artifacts for installing Medley Interlisp on
# MacOS. Basically just calls build_app.sh and build_dmg.sh.
# based on Medley.app built by build_app.sh
#
# 2023-03-03 Frank Halasz
#
# Copyright 2023 by Interlisp.org
#
###############################################################################
#
# Figure out what directory this script is being executed from
#
get_abs_filename() {
# $1 : relative filename
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
}
get_script_dir() {
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
# set -x
local SCRIPT_PATH="$( get_abs_filename "$1" )";
pushd . > '/dev/null';
while [ -h "$SCRIPT_PATH" ];
do
cd "$( dirname -- "$SCRIPT_PATH"; )";
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
done
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
SCRIPT_PATH="$( pwd; )";
popd > '/dev/null';
# set +x
echo "${SCRIPT_PATH}"
}
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
#
# cd to the dir we are executing from and call
# build_app.sh and the build_dmg.sh
#
cd ${SCRIPTDIR}
t=""
c=""
if [[ "$1" = "-t" || "$2" = "-t" ]]; then t="-t"; fi
if [[ "$1" = "-c" || "$2" = "-c" ]]; then c="-c"; fi
./build_app.sh "${t}" 2>&1
# 2023-07-20 Not building dmg as yet, just using this to build zip file
# while we finish work around dmg
# ./build_dmg.sh "${c}"
###############################################################################

185
installers/macos/build_dmg.sh Executable file
View File

@@ -0,0 +1,185 @@
#!/bin/bash
###############################################################################
#
# build_dmg.sh: build dmg for installing Medley Interlisp on MacOS
# based on Medley.app built by build_app.sh
#
# 2023-03-03 Frank Halasz
#
# Copyright 2023 by Interlisp.org
#
# Based on code found at:
# http://stackoverflow.com/questions/96882/how-do-i-create-a-nice-looking-dmg-for-mac-os-x-using-command-line-tools
#
###############################################################################
#set -o verbose #echo onset +o verbose #echo off
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
then
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
fi
#
# Set Parameters
#
APP_NAME="Medley.app"
VOL_NAME="Medley_Install"
BG_NAME=Install_Message.png
WIN_WIDTH=700
WIN_HEIGHT=850
#
# Set pathnames
#
CWD=$(pwd)
TMP_DIR=${CWD}/tmp
RESULTS_DIR=${CWD}/artifacts
APP_PATH=${RESULTS_DIR}/${APP_NAME}
DMG_PATH=${RESULTS_DIR}/${VOL_NAME}
SRC_DIR=${TMP_DIR}/dmg_src
IMAGES_DIR=${CWD}/images
SCRIPTS_DIR=${CWD}/scripts
#
# Make sure we are in the right directory
#
if [ ! -e ${APP_PATH} ];
then
echo "Can't find the app: ${APP_NAME}."
echo "Incorrect cwd? Should be in medley/installers/macos."
echo "Or build_app.sh not yet run?"
echo "Exiting"
exit 1
fi
#
# Copy over files from build app etc to dmg proto-directory
#
if [ ! "$1" = "-c" ]
then
#
# Cleanup anything leftover from last run
#
rm -rf ${SRC_DIR}
mkdir -p ${SRC_DIR}
#
# Assemble source directory for DMG
#
#ditto ${APP_PATH} ${SRC_DIR}/${APP_NAME}
mv ${APP_PATH} ${SRC_DIR}/${APP_NAME}
SetFile -a B ${SRC_DIR}/${APP_NAME}
ditto ${SCRIPTS_DIR}/medley_add2path ${SRC_DIR}/medley_add2path
ditto ${IMAGES_DIR}/${BG_NAME} ${SRC_DIR}/.background/${BG_NAME}
fi
#
# Create initial dmg image
#
if [ -e "/Volumes/${VOL_NAME}" ];
then
hdiutil detach /Volumes/${VOL_NAME}
fi
rm -f ${DMG_PATH}.temp.dmg
hdiutil create -srcfolder ${SRC_DIR} -volname ${VOL_NAME} -fs HFS+ \
-fsargs "-c c=64,a=16,e=16" -format UDRW ${DMG_PATH}.temp.dmg
device=$(\
hdiutil attach -readwrite -noverify -noautoopen "${DMG_PATH}".temp.dmg \
| egrep '^/dev/' | sed 1q | awk '{print $1}' \
)
#
# cd to the new dmg
#
pushd /Volumes/${VOL_NAME} >/dev/null 2>&1
#
# Add symbolic link for medley script and icon for addpath
#
ln -s Medley.app/Contents/MacOS/medley/scripts/medley/medley.command medley
if [ -z "$(which fileicon)" ];
then
brew install fileicon
fi
fileicon set medley_add2path ${IMAGES_DIR}/A2P_icon128.png
#
# Dress up the appearance using Applescript
#
ROW1=375
ROW2=650
COL1=139
COL2=350
COL3=561
osascript <<EOT
tell application "Finder"
tell disk "${VOL_NAME}"
open
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
set old_bounds to bounds of container window
set l to item 1 of old_bounds
set t to item 2 of old_bounds
set r to l + ${WIN_WIDTH}
set b to t + ${WIN_HEIGHT}
set the bounds of container window to {l, t, r, b}
set theViewOptions to the icon view options of container window
set arrangement of theViewOptions to snap to grid
set icon size of theViewOptions to 128
set background picture of theViewOptions to file ".background:${BG_NAME}"
set appHome to path to applications folder from system domain
make new alias file at container window to appHome with properties {name:"Applications"}
set appHome to path to applications folder from user domain
make new alias file at container window to appHome with properties {name:"My Applications"}
set appHome to path to home folder from user domain
make new alias file at container window to appHome with properties {name:"My Home Folder"}
delay 1
set position of item "${APP_NAME}" of container window to {${COL1}, ${ROW1}}
set position of item "medley" of container window to {${COL2}, ${ROW1}}
set position of item "medley_add2path" of container window to {${COL3}, ${ROW1}}
set position of item "Applications" of container window to {${COL1}, ${ROW2}}
set position of item "My Applications" of container window to {${COL2}, ${ROW2}}
set position of item "My Home Folder" of container window to {${COL3}, ${ROW2}}
close
end tell
end tell
EOT
#
# Add icon to dmg
#
fileicon set /Volumes/${VOL_NAME} ${IMAGES_DIR}/Install_icon128.png
#
# return to original dir
#
popd >/dev/null 2>&1
#
# Detach the tmp dmg and convert it to final (compressed, ro) dmg
#
hdiutil detach ${device}
sync
rm -f ${DMG_PATH}.dmg
hdiutil convert "${DMG_PATH}".temp.dmg -format UDZO -imagekey zlib-level=6 -o ${DMG_PATH}.dmg
rm -rf "${DMG_PATH}".temp.dmg
#
# Extract version info from app Info.plist & rename dmg using version
#
sed_script='{/CFBundleVersion/!d;N;s/^.*<string>\(.*\)<\/string>/\1/;s/.0$//;s/\./_/;p;}'
version=$(sed -ne "${sed_script}" ${SRC_DIR}/${APP_NAME}/Contents/Info.plist)
DMG_NAME="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e 's#@@PLATFORM@@#macos#' -e 's#@@ARCH@@#$universal#' -e 's#@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@#${version}#' )"
mv ${DMG_PATH}.dmg ${RESULTS_DIR}/${DMG_NAME}.dmg
#
# Done
#
echo "DMG build completed."
###############################################################################
###############################################################################

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
preserveAspectRatio="xMidYMid meet"
width="2000"
height="2000"
viewBox="0 0 2000 2000"
version="1.1"
id="svg2704"
sodipodi:docname="A2P_icon.svg"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
inkscape:export-filename="A2P_icon128.png"
inkscape:export-xdpi="6.1440001"
inkscape:export-ydpi="6.1440001"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="g1126"
transform="translate(-23.756927,163.29152)">
<text
x="597.27948"
y="997.78094"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text2702"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan25093">Medley</tspan></text>
<use
xlink:href="#window-icon"
x="1066.795"
y="218.396"
width="372"
height="300"
id="use2674"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="865.021"
y="89.851997"
width="372"
height="300"
id="use2676"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="629.06"
y="50.366001"
width="372"
height="300"
id="use2678"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="396.42899"
y="106.215"
width="372"
height="300"
id="use2680"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="204.11301"
y="248.522"
width="372"
height="300"
id="use2682"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="82.689003"
y="454.659"
width="372"
height="300"
id="use2684"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="51.462002"
y="691.854"
width="372"
height="300"
id="use2686"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="115.396"
y="922.39398"
width="372"
height="300"
id="use2688"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="264.327"
y="1109.627"
width="372"
height="300"
id="use2690"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="474.577"
y="1223.783"
width="372"
height="300"
id="use2692"
transform="translate(147.4565)" />
<text
xml:space="preserve"
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
x="1003.8107"
y="1163.4888"
id="text288"><tspan
sodipodi:role="line"
id="tspan286"
x="1003.8107"
y="1163.4888" /></text>
<text
x="946.01031"
y="1500.8351"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text292"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan290">add2path</tspan></text>
</g>
<defs
id="defs2708">
<rect
x="1144.3981"
y="797.67157"
width="915.91937"
height="555.16339"
id="rect44588" />
</defs>
<sodipodi:namedview
id="namedview2706"
pagecolor="#f5e6c4"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.49895222"
inkscape:cx="864.81227"
inkscape:cy="918.92566"
inkscape:window-width="1752"
inkscape:window-height="1205"
inkscape:window-x="1508"
inkscape:window-y="107"
inkscape:window-maximized="0"
inkscape:current-layer="svg2704"
fit-margin-top="100"
fit-margin-left="100"
fit-margin-right="100"
fit-margin-bottom="100"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<symbol
id="window-icon"
viewBox="0 0 372 300"
transform="translate(-98.918502,49.633999)">
<rect
x="10"
y="10"
width="352"
height="280"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="rect2665" />
<line
x1="10"
y1="30"
x2="362"
y2="30"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="line2667" />
</symbol>
<circle
cx="551.08148"
cy="699.63397"
r="20"
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
id="circle2696" />
<circle
cx="551.08148"
cy="699.63397"
r="600"
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
id="circle2698" />
<rect
x="-98.918503"
y="49.633999"
width="2922"
height="1600"
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
id="rect2700" />
<text
xml:space="preserve"
id="text44586"
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
transform="translate(-98.918502,49.633999)" />
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
preserveAspectRatio="xMidYMid meet"
width="2000"
height="2000"
viewBox="0 0 2000 2000"
version="1.1"
id="svg2704"
sodipodi:docname="App_icon.svg"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
inkscape:export-filename="App_icon512.png"
inkscape:export-xdpi="24.576"
inkscape:export-ydpi="24.576"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="g1126"
transform="translate(-23.756927,163.29152)">
<text
x="597.27948"
y="997.78094"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text2702"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan25093">Medley</tspan></text>
<use
xlink:href="#window-icon"
x="1066.795"
y="218.396"
width="372"
height="300"
id="use2674"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="865.021"
y="89.851997"
width="372"
height="300"
id="use2676"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="629.06"
y="50.366001"
width="372"
height="300"
id="use2678"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="396.42899"
y="106.215"
width="372"
height="300"
id="use2680"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="204.11301"
y="248.522"
width="372"
height="300"
id="use2682"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="82.689003"
y="454.659"
width="372"
height="300"
id="use2684"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="51.462002"
y="691.854"
width="372"
height="300"
id="use2686"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="115.396"
y="922.39398"
width="372"
height="300"
id="use2688"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="264.327"
y="1109.627"
width="372"
height="300"
id="use2690"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="474.577"
y="1223.783"
width="372"
height="300"
id="use2692"
transform="translate(147.4565)" />
<text
xml:space="preserve"
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
x="1003.8107"
y="1163.4888"
id="text288"><tspan
sodipodi:role="line"
id="tspan286"
x="1003.8107"
y="1163.4888" /></text>
<text
x="1263.5646"
y="1466.0958"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text292"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan290">app</tspan></text>
</g>
<defs
id="defs2708">
<rect
x="1144.3981"
y="797.67157"
width="915.91937"
height="555.16339"
id="rect44588" />
</defs>
<sodipodi:namedview
id="namedview2706"
pagecolor="#f5eddc"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.49895222"
inkscape:cx="760.59387"
inkscape:cy="1017.1315"
inkscape:window-width="2286"
inkscape:window-height="1205"
inkscape:window-x="45"
inkscape:window-y="53"
inkscape:window-maximized="0"
inkscape:current-layer="g1126"
fit-margin-top="100"
fit-margin-left="100"
fit-margin-right="100"
fit-margin-bottom="100"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<symbol
id="window-icon"
viewBox="0 0 372 300"
transform="translate(-98.918502,49.633999)">
<rect
x="10"
y="10"
width="352"
height="280"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="rect2665" />
<line
x1="10"
y1="30"
x2="362"
y2="30"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="line2667" />
</symbol>
<circle
cx="551.08148"
cy="699.63397"
r="20"
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
id="circle2696" />
<circle
cx="551.08148"
cy="699.63397"
r="600"
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
id="circle2698" />
<rect
x="-98.918503"
y="49.633999"
width="2922"
height="1600"
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
id="rect2700" />
<text
xml:space="preserve"
id="text44586"
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
transform="translate(-98.918502,49.633999)" />
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
preserveAspectRatio="xMidYMid meet"
width="2000"
height="2000"
viewBox="0 0 2000 2000"
version="1.1"
id="svg2704"
sodipodi:docname="Command_icon.svg"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
inkscape:export-filename="Command_icon256.png"
inkscape:export-xdpi="12.288"
inkscape:export-ydpi="12.288"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="g1126"
transform="translate(-23.756927,163.29152)">
<text
x="597.27948"
y="997.78094"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text2702"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan25093">Medley</tspan></text>
<use
xlink:href="#window-icon"
x="1066.795"
y="218.396"
width="372"
height="300"
id="use2674"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="865.021"
y="89.851997"
width="372"
height="300"
id="use2676"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="629.06"
y="50.366001"
width="372"
height="300"
id="use2678"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="396.42899"
y="106.215"
width="372"
height="300"
id="use2680"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="204.11301"
y="248.522"
width="372"
height="300"
id="use2682"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="82.689003"
y="454.659"
width="372"
height="300"
id="use2684"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="51.462002"
y="691.854"
width="372"
height="300"
id="use2686"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="115.396"
y="922.39398"
width="372"
height="300"
id="use2688"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="264.327"
y="1109.627"
width="372"
height="300"
id="use2690"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="474.577"
y="1223.783"
width="372"
height="300"
id="use2692"
transform="translate(147.4565)" />
<text
xml:space="preserve"
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
x="1003.8107"
y="1163.4888"
id="text288"><tspan
sodipodi:role="line"
id="tspan286"
x="1003.8107"
y="1163.4888" /></text>
<text
x="936.01031"
y="1500.8351"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text292"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan290">command</tspan></text>
</g>
<defs
id="defs2708">
<rect
x="1144.3981"
y="797.67157"
width="915.91937"
height="555.16339"
id="rect44588" />
</defs>
<sodipodi:namedview
id="namedview2706"
pagecolor="#f5ebd3"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.49895222"
inkscape:cx="1195.5053"
inkscape:cy="916.92146"
inkscape:window-width="1752"
inkscape:window-height="1205"
inkscape:window-x="1099"
inkscape:window-y="119"
inkscape:window-maximized="0"
inkscape:current-layer="g1126"
fit-margin-top="100"
fit-margin-left="100"
fit-margin-right="100"
fit-margin-bottom="100"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<symbol
id="window-icon"
viewBox="0 0 372 300"
transform="translate(-98.918502,49.633999)">
<rect
x="10"
y="10"
width="352"
height="280"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="rect2665" />
<line
x1="10"
y1="30"
x2="362"
y2="30"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="line2667" />
</symbol>
<circle
cx="551.08148"
cy="699.63397"
r="20"
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
id="circle2696" />
<circle
cx="551.08148"
cy="699.63397"
r="600"
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
id="circle2698" />
<rect
x="-98.918503"
y="49.633999"
width="2922"
height="1600"
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
id="rect2700" />
<text
xml:space="preserve"
id="text44586"
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
transform="translate(-98.918502,49.633999)" />
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 144 KiB

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
preserveAspectRatio="xMidYMid meet"
width="2000"
height="2000"
viewBox="0 0 2000 2000"
version="1.1"
id="svg2704"
sodipodi:docname="Install_icon.svg"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
inkscape:export-filename="Install_icon256.png"
inkscape:export-xdpi="6.1440001"
inkscape:export-ydpi="6.1440001"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="g1126"
transform="translate(-23.756927,163.29152)">
<text
x="597.27948"
y="997.78094"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text2702"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan25093">Medley</tspan></text>
<use
xlink:href="#window-icon"
x="1066.795"
y="218.396"
width="372"
height="300"
id="use2674"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="865.021"
y="89.851997"
width="372"
height="300"
id="use2676"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="629.06"
y="50.366001"
width="372"
height="300"
id="use2678"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="396.42899"
y="106.215"
width="372"
height="300"
id="use2680"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="204.11301"
y="248.522"
width="372"
height="300"
id="use2682"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="82.689003"
y="454.659"
width="372"
height="300"
id="use2684"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="51.462002"
y="691.854"
width="372"
height="300"
id="use2686"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="115.396"
y="922.39398"
width="372"
height="300"
id="use2688"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="264.327"
y="1109.627"
width="372"
height="300"
id="use2690"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="474.577"
y="1223.783"
width="372"
height="300"
id="use2692"
transform="translate(147.4565)" />
<text
xml:space="preserve"
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
x="1003.8107"
y="1163.4888"
id="text288"><tspan
sodipodi:role="line"
id="tspan286"
x="1003.8107"
y="1163.4888" /></text>
<text
x="970.08179"
y="1540.9191"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text292"
style="font-weight:bold;font-size:366.667px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:366.667px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan290">install</tspan></text>
</g>
<defs
id="defs2708">
<rect
x="1144.3981"
y="797.67157"
width="915.91937"
height="555.16339"
id="rect44588" />
</defs>
<sodipodi:namedview
id="namedview2706"
pagecolor="#f5ebd3"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.49895222"
inkscape:cx="1199.5137"
inkscape:cy="920.92986"
inkscape:window-width="1752"
inkscape:window-height="1205"
inkscape:window-x="1099"
inkscape:window-y="63"
inkscape:window-maximized="0"
inkscape:current-layer="g1126"
fit-margin-top="100"
fit-margin-left="100"
fit-margin-right="100"
fit-margin-bottom="100"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<symbol
id="window-icon"
viewBox="0 0 372 300"
transform="translate(-98.918502,49.633999)">
<rect
x="10"
y="10"
width="352"
height="280"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="rect2665" />
<line
x1="10"
y1="30"
x2="362"
y2="30"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="line2667" />
</symbol>
<circle
cx="551.08148"
cy="699.63397"
r="20"
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
id="circle2696" />
<circle
cx="551.08148"
cy="699.63397"
r="600"
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
id="circle2698" />
<rect
x="-98.918503"
y="49.633999"
width="2922"
height="1600"
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
id="rect2700" />
<text
xml:space="preserve"
id="text44586"
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
transform="translate(-98.918502,49.633999)" />
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
preserveAspectRatio="xMidYMid meet"
width="2000"
height="2000"
viewBox="0 0 2000 2000"
version="1.1"
id="svg2704"
sodipodi:docname="MedleyIcon.svg"
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
inkscape:export-filename="C:\Users\Frank\Dev\il\logos\MedleyIcon256.png"
inkscape:export-xdpi="12.287999"
inkscape:export-ydpi="12.287999"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<g
id="g1126"
transform="translate(-23.756927,163.29152)">
<text
x="597.27948"
y="997.78094"
font-family="'Times New Roman', Times, serif"
font-weight="bold"
font-size="420px"
id="text2702"
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan25093">Medley</tspan></text>
<use
xlink:href="#window-icon"
x="1066.795"
y="218.396"
width="372"
height="300"
id="use2674"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="865.021"
y="89.851997"
width="372"
height="300"
id="use2676"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="629.06"
y="50.366001"
width="372"
height="300"
id="use2678"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="396.42899"
y="106.215"
width="372"
height="300"
id="use2680"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="204.11301"
y="248.522"
width="372"
height="300"
id="use2682"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="82.689003"
y="454.659"
width="372"
height="300"
id="use2684"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="51.462002"
y="691.854"
width="372"
height="300"
id="use2686"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="115.396"
y="922.39398"
width="372"
height="300"
id="use2688"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="264.327"
y="1109.627"
width="372"
height="300"
id="use2690"
transform="translate(147.4565)" />
<use
xlink:href="#window-icon"
x="474.577"
y="1223.783"
width="372"
height="300"
id="use2692"
transform="translate(147.4565)" />
<text
xml:space="preserve"
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
x="1003.8107"
y="1163.4888"
id="text288"><tspan
sodipodi:role="line"
id="tspan286"
x="1003.8107"
y="1163.4888" /></text>
</g>
<defs
id="defs2708">
<rect
x="1144.3981"
y="797.67157"
width="915.91937"
height="555.16339"
id="rect44588" />
</defs>
<sodipodi:namedview
id="namedview2706"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.49895222"
inkscape:cx="1302.7299"
inkscape:cy="918.92566"
inkscape:window-width="1752"
inkscape:window-height="1205"
inkscape:window-x="172"
inkscape:window-y="96"
inkscape:window-maximized="0"
inkscape:current-layer="g1126"
fit-margin-top="100"
fit-margin-left="100"
fit-margin-right="100"
fit-margin-bottom="100"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<symbol
id="window-icon"
viewBox="0 0 372 300"
transform="translate(-98.918502,49.633999)">
<rect
x="10"
y="10"
width="352"
height="280"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="rect2665" />
<line
x1="10"
y1="30"
x2="362"
y2="30"
style="fill:#ffffff;stroke:#000000;stroke-width:20"
id="line2667" />
</symbol>
<circle
cx="551.08148"
cy="699.63397"
r="20"
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
id="circle2696" />
<circle
cx="551.08148"
cy="699.63397"
r="600"
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
id="circle2698" />
<rect
x="-98.918503"
y="49.633999"
width="2922"
height="1600"
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
id="rect2700" />
<text
xml:space="preserve"
id="text44586"
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588)"
transform="translate(-98.918502,49.633999)" />
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<installer-gui-script minSpecVersion="1">
<pkg-ref id="org.interlisp.Medley"/>
<options customize="always" require-scripts="false" hostArchitectures="x86_64,arm64" />
<domains enable_anywhere="false" enable_currentUserHome="true" enable_localSystem="false" />
<choices-outline>
<line choice="default">
<line choice="org.interlisp.Medley" />
</line>
<line choice="Location" />
</choices-outline>
<choice id="default" visible="false" />
<choice id="org.interlisp.Medley"
description="D Install for all Users?"
title="T Install for all users?"
customLocation="tests"
>
<pkg-ref id="org.interlisp.Medley"/>
</choice>
<choice id="Location"
description="D Install for all Users?"
title="T Install for all users?"
customLocation="tests"
>
<pkg-ref id="org.interlisp.Medley"/>
</choice>
<pkg-ref id="org.interlisp.Medley" version="01.01.01" onConclusion="none">Medley-base.pkg</pkg-ref>
</installer-gui-script>

View File

@@ -0,0 +1,43 @@
#!/bin/bash
# functions to discover what directory this script is being executed from
get_abs_filename() {
# $1 : relative filename
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
}
get_script_dir() {
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
# set -x
local SCRIPT_PATH="$( get_abs_filename "$1" )";
pushd . > '/dev/null';
while [ -h "$SCRIPT_PATH" ];
do
cd "$( dirname -- "$SCRIPT_PATH"; )";
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
done
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
SCRIPT_PATH="$( pwd; )";
popd > '/dev/null';
# set +x
echo "${SCRIPT_PATH}"
}
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
touch ~/.profile
cat >> ~/.profile <<EOF
PATH=\${PATH}:${SCRIPTDIR}
EOF
rm ${SCRIPTDIR}/medley_add2path.command

View File

@@ -1,165 +1,165 @@
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
;
; This program is free software; you can redistribute it and/or modify it under
; the terms of the GNU Lesser General Public License as published by the Free
; Software Foundation; either version 3 of the License, or (at your option) any
; later version.
;
; This program is distributed in the hope that it will be useful, but WITHOUT
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
; details.
;
; You should have received a copy of the GNU Lesser General Public License
; along with this program. If not, see https://www.gnu.org/licenses/.
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
; demonstrating use of PathMgr.dll.
;
; This script uses PathMgr.dll in the following ways:
; * Copies PathMgr.dll to the target machine (required for uninstall)
; * Defines a task in [Tasks] that should modify the Path
; * Imports the AddDirToPath() DLL function at setup time
; * Imports the RemoveDirFromPath() DLL function at uninstall time
; * Stores task state as custom setting using RegisterPreviousData()
; * Retrieves task state custom setting during setup and uninstall initialize
; * At post install, adds app dir to Path if task selected
; * At uninstall, removes dir from Path if custom setting present
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
#if Ver < EncodeVer(6,0,0,0)
#error This script requires Inno Setup 6 or later
#endif
[Setup]
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
AppName=EditPath
AppVersion=4.0.4.0
UsePreviousAppDir=false
DefaultDirName={autopf}\EditPath
Uninstallable=true
OutputDir=.
OutputBaseFilename=EditPath_Setup
ArchitecturesInstallIn64BitMode=x64
PrivilegesRequired=none
PrivilegesRequiredOverridesAllowed=dialog
[Files]
; Install PathMgr.dll for use with both setup and uninstall; use
; uninsneveruninstall flag because DeinitializeSetup() will delete after
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
; setup and uninstall executables are 32-bit
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
; Other files to install on target system
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
Source: "EditPath.md"; DestDir: "{app}"
[Tasks]
Name: modifypath; Description: "&Add to Path"
[Code]
const
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
var
PathIsModified: Boolean; // Cache task selection from previous installs
ApplicationUninstalled: Boolean; // Has application been uninstalled?
// Import AddDirToPath() at setup time ('files:' prefix)
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
// Wrapper for AddDirToPath() DLL function
function AddDirToPath(const DirName: string): DWORD;
var
PathType, AddType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
// AddType = 0 - add to end of Path
// AddType = 1 - add to beginning of Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
AddType := 0;
result := DLLAddDirToPath(DirName, PathType, AddType);
end;
// Wrapper for RemoveDirFromPath() DLL function
function RemoveDirFromPath(const DirName: string): DWORD;
var
PathType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
result := DLLRemoveDirFromPath(DirName, PathType);
end;
procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
// Store previous or current task selection as custom user setting
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
end;
function InitializeSetup(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
end;
function InitializeUninstall(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
ApplicationUninstalled := false;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
// Add app directory to Path at post-install step if task selected
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
AddDirToPath(ExpandConstant('{app}'));
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
begin
// Remove app directory from path during uninstall if task was selected;
// use variable because we can't use WizardIsTaskSelected() at uninstall
if PathIsModified then
RemoveDirFromPath(ExpandConstant('{app}'));
end
else if CurUninstallStep = usPostUninstall then
begin
ApplicationUninstalled := true;
end;
end;
procedure DeinitializeUninstall();
begin
if ApplicationUninstalled then
begin
// Unload and delete PathMgr.dll and remove app dir when uninstalling
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
RemoveDir(ExpandConstant('{app}'));
end;
end;
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
;
; This program is free software; you can redistribute it and/or modify it under
; the terms of the GNU Lesser General Public License as published by the Free
; Software Foundation; either version 3 of the License, or (at your option) any
; later version.
;
; This program is distributed in the hope that it will be useful, but WITHOUT
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
; details.
;
; You should have received a copy of the GNU Lesser General Public License
; along with this program. If not, see https://www.gnu.org/licenses/.
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
; demonstrating use of PathMgr.dll.
;
; This script uses PathMgr.dll in the following ways:
; * Copies PathMgr.dll to the target machine (required for uninstall)
; * Defines a task in [Tasks] that should modify the Path
; * Imports the AddDirToPath() DLL function at setup time
; * Imports the RemoveDirFromPath() DLL function at uninstall time
; * Stores task state as custom setting using RegisterPreviousData()
; * Retrieves task state custom setting during setup and uninstall initialize
; * At post install, adds app dir to Path if task selected
; * At uninstall, removes dir from Path if custom setting present
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
#if Ver < EncodeVer(6,0,0,0)
#error This script requires Inno Setup 6 or later
#endif
[Setup]
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
AppName=EditPath
AppVersion=4.0.4.0
UsePreviousAppDir=false
DefaultDirName={autopf}\EditPath
Uninstallable=true
OutputDir=.
OutputBaseFilename=EditPath_Setup
ArchitecturesInstallIn64BitMode=x64
PrivilegesRequired=none
PrivilegesRequiredOverridesAllowed=dialog
[Files]
; Install PathMgr.dll for use with both setup and uninstall; use
; uninsneveruninstall flag because DeinitializeSetup() will delete after
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
; setup and uninstall executables are 32-bit
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
; Other files to install on target system
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
Source: "EditPath.md"; DestDir: "{app}"
[Tasks]
Name: modifypath; Description: "&Add to Path"
[Code]
const
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
var
PathIsModified: Boolean; // Cache task selection from previous installs
ApplicationUninstalled: Boolean; // Has application been uninstalled?
// Import AddDirToPath() at setup time ('files:' prefix)
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
// Wrapper for AddDirToPath() DLL function
function AddDirToPath(const DirName: string): DWORD;
var
PathType, AddType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
// AddType = 0 - add to end of Path
// AddType = 1 - add to beginning of Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
AddType := 0;
result := DLLAddDirToPath(DirName, PathType, AddType);
end;
// Wrapper for RemoveDirFromPath() DLL function
function RemoveDirFromPath(const DirName: string): DWORD;
var
PathType: DWORD;
begin
// PathType = 0 - use system Path
// PathType = 1 - use user Path
if IsAdminInstallMode() then
PathType := 0
else
PathType := 1;
result := DLLRemoveDirFromPath(DirName, PathType);
end;
procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
// Store previous or current task selection as custom user setting
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
end;
function InitializeSetup(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
end;
function InitializeUninstall(): Boolean;
begin
result := true;
// Was task selected during a previous install?
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
ApplicationUninstalled := false;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
// Add app directory to Path at post-install step if task selected
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
AddDirToPath(ExpandConstant('{app}'));
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
begin
// Remove app directory from path during uninstall if task was selected;
// use variable because we can't use WizardIsTaskSelected() at uninstall
if PathIsModified then
RemoveDirFromPath(ExpandConstant('{app}'));
end
else if CurUninstallStep = usPostUninstall then
begin
ApplicationUninstalled := true;
end;
end;
procedure DeinitializeUninstall();
begin
if ApplicationUninstalled then
begin
// Unload and delete PathMgr.dll and remove app dir when uninstalling
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
RemoveDir(ExpandConstant('{app}'));
end;
end;

View File

@@ -1,118 +1,118 @@
# EditPath
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
# Author
Bill Stewart - bstewart at iname dot com
# License
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
# Download
https://github.com/Bill-Stewart/PathMgr/releases/
# Background
The system Path is found in the following location in the Windows registry:
Root: `HKEY_LOCAL_MACHINE`
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
Value name: `Path`
The current user Path is found in the following location in the registry:
Root: `HKEY_CURRENT_USER`
Subkey: `Environment`
Value name: `Path`
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
# Usage
The following describes the command-line usage for the program. Parameters are case-sensitive.
**EditPath** [_options_] _type_ _action_
You must specify only one of the following _type_ parameters:
| _type_ | Abbreviation | Description
| ------- | ------------ | -----------
| **--system** | **-s** | Specifies the system Path
| **--user** | **-u** | Specifies the user Path
You must specify only one of the following _action_ parameters:
| _action_ | Abbreviation | Description
| -------- | ------------ | -----------
| **--list** | **-l** | Lists directories in Path
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
The following parameters are optional:
| _options_ | Abbreviation | Description
| --------- | ------------ | -----------
| **--quiet** | **-q** | Suppresses result messages
| **--expand** | **-x** | Expands environment variables (**--list** only)
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
# Exit Codes
The following table lists typical exit codes when not using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 0 | No errors
| 2 | The Path value is not present in the registry
| 3 | The specified directory does not exist in the Path
| 5 | Access is denied
| 87 | Incorrect parameter(s)
| 183 | The specified directory already exists in the Path
The following table lists typical exit codes when using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 1 | The specified directory exists in the unexpanded Path
| 2 | The specified directory exists in the expanded Path
| 3 | The specified directory does not exist in the Path
# Remarks
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
# Examples
1. `EditPath --expand --system --list`
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
Adds the specified directory name to the user Path.
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
Removes the specified directory from the system Path.
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.
# EditPath
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
# Author
Bill Stewart - bstewart at iname dot com
# License
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
# Download
https://github.com/Bill-Stewart/PathMgr/releases/
# Background
The system Path is found in the following location in the Windows registry:
Root: `HKEY_LOCAL_MACHINE`
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
Value name: `Path`
The current user Path is found in the following location in the registry:
Root: `HKEY_CURRENT_USER`
Subkey: `Environment`
Value name: `Path`
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
# Usage
The following describes the command-line usage for the program. Parameters are case-sensitive.
**EditPath** [_options_] _type_ _action_
You must specify only one of the following _type_ parameters:
| _type_ | Abbreviation | Description
| ------- | ------------ | -----------
| **--system** | **-s** | Specifies the system Path
| **--user** | **-u** | Specifies the user Path
You must specify only one of the following _action_ parameters:
| _action_ | Abbreviation | Description
| -------- | ------------ | -----------
| **--list** | **-l** | Lists directories in Path
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
The following parameters are optional:
| _options_ | Abbreviation | Description
| --------- | ------------ | -----------
| **--quiet** | **-q** | Suppresses result messages
| **--expand** | **-x** | Expands environment variables (**--list** only)
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
# Exit Codes
The following table lists typical exit codes when not using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 0 | No errors
| 2 | The Path value is not present in the registry
| 3 | The specified directory does not exist in the Path
| 5 | Access is denied
| 87 | Incorrect parameter(s)
| 183 | The specified directory already exists in the Path
The following table lists typical exit codes when using **--test** (**-t**).
| Exit Code | Description
| --------- | -----------
| 1 | The specified directory exists in the unexpanded Path
| 2 | The specified directory exists in the expanded Path
| 3 | The specified directory does not exist in the Path
# Remarks
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
# Examples
1. `EditPath --expand --system --list`
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
Adds the specified directory name to the user Path.
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
Removes the specified directory from the system Path.
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.

View File

@@ -34,7 +34,7 @@ SolidCompression=yes
; 64-bit Program Files directory and the 64-bit view of the registry.
ArchitecturesInstallIn64BitMode=x64
OutputDir="."
OutputBaseFilename="medley-install_{#version}_{#x86_or_x64}"
OutputBaseFilename="medley-full-{#version}-windows-{#x86_or_x64}"
SetupIconFile="Medley.ico"
DisableWelcomePage=no
MissingRunOnceIdsWarning=no

View File

@@ -1,12 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "23-May-2023 07:10:58" |{DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;12| 10354
(FILECREATED " 3-Aug-2023 18:40:12" |{DSK}<home>frank>il>medley>gmedley>internal>MEDLEY-UTILS.;6| 10695
:EDIT-BY "lmm"
:EDIT-BY "frank"
:CHANGES-TO (FNS GATHER-INFO)
:CHANGES-TO (FNS MAKE-FULLER-DB MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)
:PREVIOUS-DATE "22-May-2023 22:57:21" |{DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;11|)
:PREVIOUS-DATE " 1-Aug-2023 22:43:13"
|{DSK}<home>frank>il>medley>gmedley>internal>MEDLEY-UTILS.;5|)
(PRETTYCOMPRINT MEDLEY-UTILSCOMS)
@@ -102,18 +103,19 @@
(HELP))))
(MAKE-FULLER-DB
(LAMBDA NIL (* \; "Edited 16-Jul-2022 22:07 by larry")
(LAMBDA (DRIBBLEFILE DBFILE SYSOUTFILE) (* \; "Edited 3-Aug-2023 18:12 by frank")
(* \; "Edited 16-Jul-2022 22:07 by larry")
(* \; "Edited 20-Jun-2022 17:23 by larry")
(FILESLOAD (SOURCE)
FILESETS)
(DRIBBLE (MEDLEYDIR "tmp" "fuller.dribble" T T))
(DRIBBLE (OR DRIBBLEFILE "fuller.dribble"))
(DOFILESLOAD (SUBSET (APPEND OKSOURCES OKLIBRARY OKLISPUSERS OKINTERNAL)
'FINDFILE))
(GATHER-INFO 'ALL)
(MASTERSCOPE '(WHO CALLS XYZZY))
(DUMPDATABASE NIL (MKATOM (MEDLEYDIR "tmp" "fuller.database" T T)))
(DUMPDATABASE NIL (MKATOM (OR DBFILE "fuller.database")))
(DRIBBLE)
(MAKESYS (MEDLEYDIR "tmp" "fuller.sysout" T T)
(MAKESYS (OR SYSOUTFILE "fuller.sysout")
"Welcome to Fuller sysout")))
(MEDLEY-FIX-LINKS
@@ -146,7 +148,8 @@
(DEFINEQ
(MAKE-EXPORTS-ALL
(LAMBDA NIL (* \; "Edited 9-Mar-2021 16:11 by larry")
(LAMBDA (OUTFILE) (* \; "Edited 3-Aug-2023 18:34 by frank")
(* \; "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.")
@@ -156,24 +159,25 @@
 "Edited September 29, 1986 by van Melle")
(CNDIR (MEDLEYDIR "sources"))
(LOAD 'FILESETS)
(GATHEREXPORTS EXPORTFILES (MEDLEYDIR "tmp" "exports.all" T))))
(GATHEREXPORTS EXPORTFILES (OR OUTFILE "exports.all"))))
(MAKE-WHEREIS-HASH
(LAMBDA NIL (* \; "Edited 12-Mar-2022 12:46 by rmk")
(LAMBDA (DRIBBLEFILE TMPFILE WHEREISFILE) (* \; "Edited 3-Aug-2023 18:37 by frank")
(* \; "Edited 12-Mar-2022 12:46 by rmk")
(* \; "Edited 24-Mar-2021 13:26 by larry")
(LET ((FILING.ENUMERATION.DEPTH 2)
HASHFILE)
(DRIBBLE (MEDLEYDIR "tmp" "whereis.dribble" T))
(SETQ HASHFILE (XCL::WHERE-IS-NOTICE (MEDLEYDIR "tmp" "whereis.hash-tmp" T)
(DRIBBLE (OR DRIBBLEFILE "whereis.dribble"))
(SETQ HASHFILE (XCL::WHERE-IS-NOTICE (OR TMPFILE "whereis.hash-tmp")
:FILES
(|for| X |in| MEDLEY-FIX-DIRS |collect| (CONCAT (MEDLEYDIR X)
"*.;"))
:HASH-FILE-SIZE 60000 :NEW T))
(RENAMEFILE HASHFILE (MEDLEYDIR "tmp" "whereis.hash" T))
(RENAMEFILE HASHFILE (OR WHEREISFILE "whereis.hash"))
(DRIBBLE))))
)
(DECLARE\: DONTCOPY
(FILEMAP (NIL (624 7499 (GATHER-INFO 634 . 6162) (MAKE-FULLER-DB 6164 . 6854) (MEDLEY-FIX-LINKS 6856
. 7253) (MEDLEY-FIX-DATES 7255 . 7497)) (8538 10331 (MAKE-EXPORTS-ALL 8548 . 9507) (MAKE-WHEREIS-HASH
9509 . 10329)))))
(FILEMAP (NIL (679 7642 (GATHER-INFO 689 . 6217) (MAKE-FULLER-DB 6219 . 6997) (MEDLEY-FIX-LINKS 6999
. 7396) (MEDLEY-FIX-DATES 7398 . 7640)) (8681 10672 (MAKE-EXPORTS-ALL 8691 . 9752) (MAKE-WHEREIS-HASH
9754 . 10670)))))
STOP

Binary file not shown.

View File

@@ -1,10 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "18-Jan-2023 16:23:36" {DSK}<home>frank>il>medley>gmedley>sources>LOADUP-FULL.;2 4636
(FILECREATED "31-Jul-2023 18:28:53" {DSK}<home>frank>il>medley>gmedley>sources>LOADUP-FULL.;4 4521
:CHANGES-TO (FNS LOADUP-FULL)
:PREVIOUS-DATE "12-Aug-2022 12:30:09" {DSK}<home>frank>il>medley>gmedley>sources>LOADUP-FULL.;1
:PREVIOUS-DATE "18-Jan-2023 16:23:36" {DSK}<home>frank>il>medley>gmedley>sources>LOADUP-FULL.;3
)
@@ -39,7 +39,7 @@
(PRINTOUT T "FULL fonts loaded" T])
(LOADUP-FULL
[LAMBDA NIL (* ; "Edited 18-Jan-2023 16:22 by FGH")
[LAMBDA (DRIBBLEFILE) (* ; "Edited 18-Jan-2023 16:22 by FGH")
(* ; "Edited 12-Aug-2022 11:17 by lmm")
(* ; "Edited 14-Jul-2022 12:32 by rmk")
(* ; "Edited 12-Jul-2022 21:57 by rmk")
@@ -55,9 +55,7 @@
(PROGN (SETQ MEDLEYDIR)
(CNDIR (MEDLEYDIR)))
(MEDLEY-INIT-VARS)
(SETQ MAKESYSFILENAME (MEDLEYDIR "tmp" "full.sysout" T))
(SETQ MAKESYSNAME :MEDLEY)
(DRIBBLE (MEDLEYDIR "tmp" "full.dribble" T))
(DRIBBLE DRIBBLEFILE)
(* ;; "BKSYSBUF stops page holding ")
@@ -88,5 +86,5 @@
(FIXMETA)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (467 4598 (LOADFULLFONTS 477 . 1918) (LOADUP-FULL 1920 . 4348) (FIXMETA 4350 . 4596)))))
(FILEMAP (NIL (467 4483 (LOADFULLFONTS 477 . 1918) (LOADUP-FULL 1920 . 4233) (FIXMETA 4235 . 4481)))))
STOP

View File

@@ -1,12 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "27-Feb-2023 17:15:53" |{DSK}<home>larry>il>medley>sources>LOADUP-LISP.;2| 5263
:EDIT-BY "lmm"
(FILECREATED "31-Jul-2023 18:22:53" |{DSK}<home>frank>il>medley>gmedley>sources>LOADUP-LISP.;2| 5235
:CHANGES-TO (FNS LOADUP-LISP)
:PREVIOUS-DATE "12-Aug-2022 12:29:57" |{DSK}<home>larry>il>medley>sources>LOADUP-LISP.;1|)
:PREVIOUS-DATE "27-Feb-2023 17:15:53"
|{DSK}<home>frank>il>medley>gmedley>sources>LOADUP-LISP.;1|)
(PRETTYCOMPRINT LOADUP-LISPCOMS)
@@ -19,13 +18,13 @@
(DEFINEQ
(LOADUP-LISP
(LAMBDA NIL (* \; "Edited 26-Feb-2023 12:17 by lmm")
(LAMBDA (DRIBBLEFILE) (* \; "Edited 26-Feb-2023 12:17 by lmm")
(* \; "Edited 13-Jul-2022 14:09 by rmk")
(* \; "Edited 4-Mar-2022 19:13 by larry")
(* \; "Edited 29-Apr-2021 22:30 by rmk:")
(SETQQ COMPILE.EXT LCOM)
(MEDLEY-INIT-VARS) (* \; "should be set earlier")
(DRIBBLE (MEDLEYDIR "tmp" "lisp.dribble" T))
(DRIBBLE DRIBBLEFILE)
(FOR X IN BOOTLOADEDFILES DO (CL:UNLESS (MEMB X SYSFILES)
(PRINTOUT T X " bootloaded" T)
(SETQ SYSFILES (CONS X SYSFILES))))
@@ -124,5 +123,5 @@
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
)
(DECLARE\: DONTCOPY
(FILEMAP (NIL (654 5057 (LOADUP-LISP 664 . 5055)))))
(FILEMAP (NIL (649 5029 (LOADUP-LISP 659 . 5027)))))
STOP

Binary file not shown.

View File

@@ -1,18 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "11-Jul-2022 20:00:23" 
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>MAKEINIT.;3 54607
(FILECREATED " 7-Aug-2023 13:31:49" {DSK}<home>frank>il>medley>gmedley>internal>loadups>MAKEINIT.;4 54490
:CHANGES-TO (FNS I.FIXUPNUM I.FIXUPSYM)
:CHANGES-TO (FNS MAKEINITGREET)
:PREVIOUS-DATE "19-Jul-2021 23:50:29"
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>MAKEINIT.;2)
:PREVIOUS-DATE " 3-Aug-2023 17:37:51"
{DSK}<home>frank>il>medley>gmedley>internal>loadups>MAKEINIT.;1)
(* ; "
Copyright (c) 1982-1988, 1990-1992, 1998, 2021 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT MAKEINITCOMS)
(RPAQQ MAKEINITCOMS
@@ -83,7 +78,8 @@ Copyright (c) 1982-1988, 1990-1992, 1998, 2021 by Venue & Xerox Corporation.
(DEFINEQ
(MAKEINITGREET
[LAMBDA NIL (* ; "Edited 11-Mar-2021 22:14 by larry")
[LAMBDA (SYSOUTFILE DLINITFILE) (* ; "Edited 3-Aug-2023 17:37 by frank")
(* ; "Edited 11-Mar-2021 22:14 by larry")
(* ; "Edited 5-Dec-2017 15:26 by rmk:")
(* ;; "")
@@ -93,12 +89,13 @@ Copyright (c) 1982-1988, 1990-1992, 1998, 2021 by Venue & Xerox Corporation.
(* ;; "")
(* Versions are Lisp Microcode Bcpl)
(MEDLEY-INIT-VARS)
(DORENAME 'I)
(DORENAME 'R)
(DLFIXINIT (MAKEINIT '(39424 5682 11008)
(MEDLEYDIR "tmp" "init.sysout" T)
NIL DIRECTORIES DISPLAYFONTDIRECTORIES)
(MEDLEYDIR "tmp" "init.dlinit" T])
(RESETLST
(RESETSAVE OK.TO.MODIFY.FNS T)
(DORENAME 'I)
(DORENAME 'R)
(DLFIXINIT (MAKEINIT '(39424 5682 11008)
SYSOUTFILE NIL DIRECTORIES DISPLAYFONTDIRECTORIES)
DLINITFILE))])
)
(FILESLOAD (SOURCE)
@@ -1053,28 +1050,26 @@ DONTCOPY
(GLOBALVARS DLPRIMARYMAP DLSECONDARYMAP DLLOCKBITS DLLASTDOMINOPAGE DLIFPAGE DLNEXTPM DLPAGEMAPFP
FPTOVP NEWFPFROMOLD VMEMFILE VMEMFILEX)
)
(PUTPROPS MAKEINIT COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991
1992 1998 2021))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3971 4718 (MAKEINITGREET 3981 . 4716)) (4901 11286 (LOADMAKEINIT 4911 . 6114) (
LOADMKIFILES 6116 . 6431) (RELOAD 6433 . 6916) (MAKEINIT 6918 . 10578) (MKI.START 10580 . 11284)) (
11364 17082 (MKI.PASSFILE 11374 . 14984) (SCRATCHARRAY 14986 . 15635) (DOFORM 15637 . 16314) (
CONSTFORMP 16316 . 16550) (NOTICECOMS 16552 . 16860) (EVALFORMAKEINIT 16862 . 17080)) (17083 19203 (
I.ADDTOVAR 17093 . 17187) (I.DECLARE%: 17189 . 17465) (I.DEFINE-FILE-INFO 17467 . 17657) (
I.FILECREATED 17659 . 18033) (I.PUTPROPS 18035 . 18148) (I.RPAQ 18150 . 18371) (I.RPAQQ 18373 . 18569)
(I.RPAQ? 18571 . 18786) (I.SETTOPVAL 18788 . 19020) (I.NOUNDO 19022 . 19201)) (19839 26055 (
I.ATOMNUMBER 19849 . 20340) (I.\ATOMCELL 20342 . 22095) (I.FIXUPNUM 22097 . 23022) (I.FIXUPPTR 23024
. 23505) (I.FIXUPSYM 23507 . 24563) (I.WORDSPERNAMEENTRY 24565 . 25320) (I.SETSTKNTOFFSET 25322 .
26053)) (26087 27595 (MKI.ATOM 26097 . 26293) (MKI.IEEE 26295 . 27593)) (27692 28457 (MKI.DSET 27702
. 27985) (MKI.ADDTO 27987 . 28172) (MKI.PUTPROP 28174 . 28455)) (28631 29183 (DUMPVP 28641 . 28738) (
BOUTZEROS 28740 . 28819) (BIN16 28821 . 29002) (BOUT16 29004 . 29181)) (30074 52808 (DLFIXINIT 30084
. 31059) (DLSORTSYSOUTPAGES 31061 . 36187) (DLNEXTFP 36189 . 36526) (DLLOCKEDPAGEP 36528 . 36742) (
DLSETLOCKBIT 36744 . 37006) (DLCOPYPAGEMAP 37008 . 40059) (DLCOPYVMPAGE 40061 . 40451) (
DLADDPAGEMAPENTRIES 40453 . 41268) (ASSIGNFILEPAGE 41270 . 42503) (ASSIGNFILEPAGERANGE 42505 . 42912)
(DLDUMPSYSOUT 42914 . 44666) (DLDUMPFPTOVP 44668 . 45707) (DLDUMPPAGEMAPS 45709 . 46409) (
DLDUMPVMEMPAGES 46411 . 47067) (DLSETBOOTPTR 47069 . 47299) (DLDUMPARRAY 47301 . 47688) (
DLMARKASDUMPED 47690 . 48143) (DLDUMPVMEMPAGE 48145 . 48833) (INSTALLDOMINO 48835 . 49482) (
INSTALLDOMINO.DIRECT 49484 . 50636) (INSTALLNEWDOMINO 50638 . 52806)) (52830 54187 (DLPRINTFPTOVP
52840 . 53129) (PRINTPRIMARYMAP 53131 . 53845) (DLREADPAGEOFWORDS 53847 . 54014) (SETDIF 54016 . 54185
(FILEMAP (NIL (3862 4722 (MAKEINITGREET 3872 . 4720)) (4905 11290 (LOADMAKEINIT 4915 . 6118) (
LOADMKIFILES 6120 . 6435) (RELOAD 6437 . 6920) (MAKEINIT 6922 . 10582) (MKI.START 10584 . 11288)) (
11368 17086 (MKI.PASSFILE 11378 . 14988) (SCRATCHARRAY 14990 . 15639) (DOFORM 15641 . 16318) (
CONSTFORMP 16320 . 16554) (NOTICECOMS 16556 . 16864) (EVALFORMAKEINIT 16866 . 17084)) (17087 19207 (
I.ADDTOVAR 17097 . 17191) (I.DECLARE%: 17193 . 17469) (I.DEFINE-FILE-INFO 17471 . 17661) (
I.FILECREATED 17663 . 18037) (I.PUTPROPS 18039 . 18152) (I.RPAQ 18154 . 18375) (I.RPAQQ 18377 . 18573)
(I.RPAQ? 18575 . 18790) (I.SETTOPVAL 18792 . 19024) (I.NOUNDO 19026 . 19205)) (19843 26059 (
I.ATOMNUMBER 19853 . 20344) (I.\ATOMCELL 20346 . 22099) (I.FIXUPNUM 22101 . 23026) (I.FIXUPPTR 23028
. 23509) (I.FIXUPSYM 23511 . 24567) (I.WORDSPERNAMEENTRY 24569 . 25324) (I.SETSTKNTOFFSET 25326 .
26057)) (26091 27599 (MKI.ATOM 26101 . 26297) (MKI.IEEE 26299 . 27597)) (27696 28461 (MKI.DSET 27706
. 27989) (MKI.ADDTO 27991 . 28176) (MKI.PUTPROP 28178 . 28459)) (28635 29187 (DUMPVP 28645 . 28742) (
BOUTZEROS 28744 . 28823) (BIN16 28825 . 29006) (BOUT16 29008 . 29185)) (30078 52812 (DLFIXINIT 30088
. 31063) (DLSORTSYSOUTPAGES 31065 . 36191) (DLNEXTFP 36193 . 36530) (DLLOCKEDPAGEP 36532 . 36746) (
DLSETLOCKBIT 36748 . 37010) (DLCOPYPAGEMAP 37012 . 40063) (DLCOPYVMPAGE 40065 . 40455) (
DLADDPAGEMAPENTRIES 40457 . 41272) (ASSIGNFILEPAGE 41274 . 42507) (ASSIGNFILEPAGERANGE 42509 . 42916)
(DLDUMPSYSOUT 42918 . 44670) (DLDUMPFPTOVP 44672 . 45711) (DLDUMPPAGEMAPS 45713 . 46413) (
DLDUMPVMEMPAGES 46415 . 47071) (DLSETBOOTPTR 47073 . 47303) (DLDUMPARRAY 47305 . 47692) (
DLMARKASDUMPED 47694 . 48147) (DLDUMPVMEMPAGE 48149 . 48837) (INSTALLDOMINO 48839 . 49486) (
INSTALLDOMINO.DIRECT 49488 . 50640) (INSTALLNEWDOMINO 50642 . 52810)) (52834 54191 (DLPRINTFPTOVP
52844 . 53133) (PRINTPRIMARYMAP 53135 . 53849) (DLREADPAGEOFWORDS 53851 . 54018) (SETDIF 54020 . 54189
)))))
STOP

Binary file not shown.

View File

@@ -1,15 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED " 9-Jul-2022 09:41:26" 
|{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>BIGBITMAPS.;12| 108851
(FILECREATED "31-Jul-2023 13:39:50" |{WMEDLEY}<library>BIGBITMAPS.;13| 109376
:EDIT-BY |rmk|
:CHANGES-TO (VARS BIGBITMAPSCOMS)
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM \\GENERIC.DSPCREATE.BIGBM
\\DSPCREATE.BIGBM)
(MACROS |\\SFInvert|)
(FNS BIGBITMAPEQUAL)
:PREVIOUS-DATE "26-Oct-2021 14:51:38"
|{DSK}<users>kaplan>local>medley3.5>working-medley>library>BIGBITMAPS.;6|)
:PREVIOUS-DATE " 9-Jul-2022 09:41:26" |{WMEDLEY}<library>BIGBITMAPS.;12|)
; Copyright (c) 1991, 1993-1994 by Venue.
@@ -24,8 +22,8 @@
(MACROS |GetNewFragment|)
(MACROS |\\SFInvert|))
(INITRECORDS BIGBM)
(FNS BIGBITMAPP BITBLT.BIGBM BITMAPCREATE.BIGBM BITMAPCREATE BITMAPCOPY BLTSHADE.BIGBM BITBLT
\\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
(FNS BIGBITMAPP BITBLT.BIGBM BITMAPCREATE.BIGBM BITMAPCREATE BITMAPCOPY BIGBITMAPEQUAL
BLTSHADE.BIGBM BITBLT \\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
(FNS \\DRAWCIRCLE.BIGBM \\FILLCIRCLE.BIGBM \\DRAWELLIPSE.BIGBM \\DRAWCURVE.BIGBM
\\DRAWLINE.BIGBM.DASH \\DRAWLINE.BIGBM.NODASH)
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM)
@@ -353,6 +351,20 @@
0 0 NIL NIL 'INPUT 'REPLACE 0)
(RETURN NEWBITMAP))))
(BIGBITMAPEQUAL
(LAMBDA (BM1 BM2) (* \; "Edited 31-Jul-2023 13:08 by rmk")
(* |;;| "Fields may not be SMALLP")
(AND (|type?| BIGBM |of| BM1)
(|type?| BIGBM |of| BM2)
(IEQP (|ffetch| (BIGBM BIGBMWIDTH) |of| BM1)
(|ffetch| (BIGBM BIGBMWIDTH) |of| BM2))
(IEQP (|ffetch| (BIGBM BIGBMHEIGHT) |of| BM1)
(|ffetch| (BIGBM BIGBMHEIGHT) |of| BM2))
(|for| B1 |in| (|ffetch| (BIGBM BIGBMLIST) |of| BM1) |as| B2
|in| (|ffetch| (BIGBM BIGBMLIST) |of| BM2) |always| (EQUALBITMAPP B1 B2)))))
(BLTSHADE.BIGBM
(LAMBDA (TEXTURE DESTINATION DESTLEFT DESTBOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION)
(* \; "Edited 17-Oct-89 19:01 by takeshi")
@@ -1699,15 +1711,15 @@
)
(PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (3546 48244 (BIGBITMAPP 3556 . 3702) (BITBLT.BIGBM 3704 . 14527) (BITMAPCREATE.BIGBM
14529 . 15871) (BITMAPCREATE 15873 . 17475) (BITMAPCOPY 17477 . 18012) (BLTSHADE.BIGBM 18014 . 21150)
(BITBLT 21152 . 22800) (\\ORG.BITBLT 22802 . 34371) (\\BLTSHADE.DISPLAY 34373 . 43611) (
\\RESHOWBORDER1 43613 . 48242)) (48245 71523 (\\DRAWCIRCLE.BIGBM 48255 . 51618) (\\FILLCIRCLE.BIGBM
51620 . 55666) (\\DRAWELLIPSE.BIGBM 55668 . 60188) (\\DRAWCURVE.BIGBM 60190 . 64040) (
\\DRAWLINE.BIGBM.DASH 64042 . 68401) (\\DRAWLINE.BIGBM.NODASH 68403 . 71521)) (71524 71893 (
\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 71534 . 71891)) (72025 85168 (DSPDESTINATION 72035 .
75933) (|\\SFFixY| 75935 . 81657) (|\\SFFixDestination| 81659 . 82842) (|\\SFFixClippingRegion| 82844
. 85166)) (85169 93255 (\\SW2BM 85179 . 90203) (BITMAPHEIGHT 90205 . 90703) (BITMAPWIDTH 90705 .
91197) (|\\SFFixFont| 91199 . 92171) (BITSPERPIXEL 92173 . 93253)) (93256 108609 (COLORIZEBITMAP 93266
. 96076) (\\BWTOCOLORBLT 96078 . 102671) (UNCOLORIZEBITMAP 102673 . 108607)))))
(FILEMAP (NIL (3364 48769 (BIGBITMAPP 3374 . 3520) (BITBLT.BIGBM 3522 . 14345) (BITMAPCREATE.BIGBM
14347 . 15689) (BITMAPCREATE 15691 . 17293) (BITMAPCOPY 17295 . 17830) (BIGBITMAPEQUAL 17832 . 18537)
(BLTSHADE.BIGBM 18539 . 21675) (BITBLT 21677 . 23325) (\\ORG.BITBLT 23327 . 34896) (\\BLTSHADE.DISPLAY
34898 . 44136) (\\RESHOWBORDER1 44138 . 48767)) (48770 72048 (\\DRAWCIRCLE.BIGBM 48780 . 52143) (
\\FILLCIRCLE.BIGBM 52145 . 56191) (\\DRAWELLIPSE.BIGBM 56193 . 60713) (\\DRAWCURVE.BIGBM 60715 . 64565
) (\\DRAWLINE.BIGBM.DASH 64567 . 68926) (\\DRAWLINE.BIGBM.NODASH 68928 . 72046)) (72049 72418 (
\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 72059 . 72416)) (72550 85693 (DSPDESTINATION 72560 .
76458) (|\\SFFixY| 76460 . 82182) (|\\SFFixDestination| 82184 . 83367) (|\\SFFixClippingRegion| 83369
. 85691)) (85694 93780 (\\SW2BM 85704 . 90728) (BITMAPHEIGHT 90730 . 91228) (BITMAPWIDTH 91230 .
91722) (|\\SFFixFont| 91724 . 92696) (BITSPERPIXEL 92698 . 93778)) (93781 109134 (COLORIZEBITMAP 93791
. 96601) (\\BWTOCOLORBLT 96603 . 103196) (UNCOLORIZEBITMAP 103198 . 109132)))))
STOP

Binary file not shown.

View File

@@ -1,171 +0,0 @@
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (8 8
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (128 (187 170 LOCKSHIFT)) (
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (171 186 LOCKSHIFT
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (logic ((100 (
53 37 NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260
NOLOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)
) (107 (61284 61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45
177 NOLOCKSHIFT)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (
61234 61235 NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40
NOLOCKSHIFT)) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272
NOLOCKSHIFT)) (126 (61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (128 (61356 61356
NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138
(61305 61303 NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13
NOLOCKSHIFT) . IGNORE) (145 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239
61238 NOLOCKSHIFT)) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295
NOLOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)
) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36
NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105
(100 68 LOCKSHIFT)) (106 (174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41
NOLOCKSHIFT)) (109 (61254 61255 NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (
112 (47 61300 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64
NOLOCKSHIFT)) (118 (61282 61283 LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302
NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (
180 184 LOCKSHIFT)) (125 (172 61244 LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250
NOLOCKSHIFT)) (128 (61298 61253 NOLOCKSHIFT)) (129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (
133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (
61356 61362 LOCKSHIFT)) (138 (61254 61291 NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (
144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296
61266 NOLOCKSHIFT)) (150 (61305 61303 NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72
LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (
61396 61380 NOLOCKSHIFT)) (102 (61398 61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399
61383 NOLOCKSHIFT)) (105 (61232 8743 NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86
NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438
NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (61248 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394 61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (
119 (176 8546 NOLOCKSHIFT)) (120 (167 8744 NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385
NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT)) (124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT))
(126 (61289 8737 NOLOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (128 (39 34 NOLOCKSHIFT)) (129 (93 125
NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137 (61438 67 NOLOCKSHIFT)) (138 (8739 74
NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90 NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95
61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (61354 8573 NOLOCKSHIFT)) (150 (61286 8741
NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740 NOLOCKSHIFT)) (153 (61400 61384
NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32
32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406 61368 NOLOCKSHIFT)) (160 2SHIFTDOWN
. 2SHIFTUP)) DANDELION) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41 NOLOCKSHIFT)) (102 (57 37
NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101 69 LOCKSHIFT)) (106 (103
71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116 84 LOCKSHIFT)) (110 (56 95
NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116
(53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (119 (63 47 NOLOCKSHIFT)) (
120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (123 (99 67 LOCKSHIFT)) (
124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127 (119 87 LOCKSHIFT)) (
128 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106 74
LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (145 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (GREEK ((100 (
53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (
104 (55 38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814
LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843
9811 LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814
LOCKSHIFT)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (
9851 9819 LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)
) (128 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828
9796 LOCKSHIFT)) (151 (9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (
154 (9840 9808 LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT
) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP))
DANDELION) (ITALIAN ((100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (
116 (51 61872 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81
LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
NOLOCKSHIFT)) (128 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92
124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (
145 (95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (
151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (
155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (SPANISH ((100 (53
61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102 (54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50
61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (
97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (
111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (59 58 NOLOCKSHIFT)) (129
(203 187 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139
(98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (
143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (161 191 NOLOCKSHIFT)) (148 (114
82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72
LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156
LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (44 171 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (FRENCH ((100 (53 61905 NOLOCKSHIFT)) (101 (52
61888 NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (
105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (
109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119
87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
(49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102
70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
13 NOLOCKSHIFT) . IGNORE) (145 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DANDELION) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (
116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (
120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (
124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (
128 (39 34 NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145
(95 94 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (
121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (
109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780
LOCKSHIFT)) (159 (61925 61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (STANDARD-RUSSIAN ((
100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53 NOLOCKSHIFT)) (103 (10085 10037
LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (106 (10068 10020 LOCKSHIFT)) (107
(10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029 LOCKSHIFT)) (110 (37 48
NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088 10040 LOCKSHIFT)) (119 (
10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038 LOCKSHIFT)) (122 (95 56
NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125 (10091 10043 LOCKSHIFT)
) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (128 (10095 10047 LOCKSHIFT)) (129 (
10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (138 (10080 10032
LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (41
40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022 LOCKSHIFT)) (150 (10081 10033
LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT)) (153 (46 55 NOLOCKSHIFT)) (154
(10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DANDELION))

View File

@@ -1,171 +0,0 @@
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (1 1
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (128 (187 170 LOCKSHIFT)) (
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (171 186 LOCKSHIFT
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (logic ((100 (
53 37 NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260
NOLOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)
) (107 (61284 61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45
177 NOLOCKSHIFT)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (
61234 61235 NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40
NOLOCKSHIFT)) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272
NOLOCKSHIFT)) (126 (61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (128 (61356 61356
NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138
(61305 61303 NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13
NOLOCKSHIFT) . IGNORE) (145 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239
61238 NOLOCKSHIFT)) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295
NOLOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)
) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36
NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105
(100 68 LOCKSHIFT)) (106 (174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41
NOLOCKSHIFT)) (109 (61254 61255 NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (
112 (47 61300 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64
NOLOCKSHIFT)) (118 (61282 61283 LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302
NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (
180 184 LOCKSHIFT)) (125 (172 61244 LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250
NOLOCKSHIFT)) (128 (61298 61253 NOLOCKSHIFT)) (129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (
133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (
61356 61362 LOCKSHIFT)) (138 (61254 61291 NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (
144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296
61266 NOLOCKSHIFT)) (150 (61305 61303 NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72
LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (
61396 61380 NOLOCKSHIFT)) (102 (61398 61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399
61383 NOLOCKSHIFT)) (105 (61232 8743 NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86
NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438
NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (61248 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394 61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (
119 (176 8546 NOLOCKSHIFT)) (120 (167 8744 NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385
NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT)) (124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT))
(126 (61289 8737 NOLOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (128 (39 34 NOLOCKSHIFT)) (129 (93 125
NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137 (61438 67 NOLOCKSHIFT)) (138 (8739 74
NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90 NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95
61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (61354 8573 NOLOCKSHIFT)) (150 (61286 8741
NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740 NOLOCKSHIFT)) (153 (61400 61384
NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32
32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406 61368 NOLOCKSHIFT)) (160 2SHIFTDOWN
. 2SHIFTUP)) DORADO) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41 NOLOCKSHIFT)) (102 (57 37
NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101 69 LOCKSHIFT)) (106 (103
71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116 84 LOCKSHIFT)) (110 (56 95
NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116
(53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (119 (63 47 NOLOCKSHIFT)) (
120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (123 (99 67 LOCKSHIFT)) (
124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127 (119 87 LOCKSHIFT)) (
128 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106 74
LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (145 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (GREEK ((100 (
53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (
104 (55 38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814
LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843
9811 LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814
LOCKSHIFT)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (
9851 9819 LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)
) (128 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828
9796 LOCKSHIFT)) (151 (9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (
154 (9840 9808 LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT
) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP))
DORADO) (ITALIAN ((100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (
116 (51 61872 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81
LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
NOLOCKSHIFT)) (128 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92
124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (
145 (95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (
151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (
155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (SPANISH ((100 (53
61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102 (54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50
61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (
97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (
111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (59 58 NOLOCKSHIFT)) (129
(203 187 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139
(98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (
143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (161 191 NOLOCKSHIFT)) (148 (114
82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72
LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156
LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (44 171 NOLOCKSHIFT)) (159 (61 43
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (FRENCH ((100 (53 61905 NOLOCKSHIFT)) (101 (52
61888 NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (
105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (
109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119
87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
(49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102
70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
13 NOLOCKSHIFT) . IGNORE) (145 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DORADO) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (
116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (
120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (
124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (
128 (39 34 NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145
(95 94 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (
121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (
109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780
LOCKSHIFT)) (159 (61925 61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (STANDARD-RUSSIAN ((
100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53 NOLOCKSHIFT)) (103 (10085 10037
LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (106 (10068 10020 LOCKSHIFT)) (107
(10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029 LOCKSHIFT)) (110 (37 48
NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088 10040 LOCKSHIFT)) (119 (
10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038 LOCKSHIFT)) (122 (95 56
NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125 (10091 10043 LOCKSHIFT)
) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (128 (10095 10047 LOCKSHIFT)) (129 (
10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (138 (10080 10032
LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (41
40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022 LOCKSHIFT)) (150 (10081 10033
LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT)) (153 (46 55 NOLOCKSHIFT)) (154
(10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DORADO))

View File

@@ -1,171 +0,0 @@
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (8 8
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (171 (187 170 LOCKSHIFT)) (
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (171 186 LOCKSHIFT
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (logic ((100 (53 37
NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260 NOLOCKSHIFT)) (
104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)) (107 (61284
61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45 177 NOLOCKSHIFT
)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51
35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (61234 61235
NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)
) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272 NOLOCKSHIFT)) (126
(61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (171 (61356 61356 NOLOCKSHIFT)) (129 (93
125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT)
. IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138 (61305 61303
NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141 1SHIFTDOWN .
1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (208 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239 61238 NOLOCKSHIFT)
) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295 NOLOCKSHIFT)) (153
(56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)) (156 LOCKDOWN .
LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160
2SHIFTDOWN . 2SHIFTUP)) DOVE) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (
174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61254 61255
NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (112 (47 61300 NOLOCKSHIFT)) (115
(8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61282 61283
LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302 NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (180 184 LOCKSHIFT)) (125 (172 61244
LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250 NOLOCKSHIFT)) (171 (61298 61253 NOLOCKSHIFT))
(129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (61356 61362 LOCKSHIFT)) (138 (61254 61291
NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (
95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296 61266 NOLOCKSHIFT)) (150 (61305 61303
NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154
(61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DOVE) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (61396 61380 NOLOCKSHIFT)) (102 (61398
61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399 61383 NOLOCKSHIFT)) (105 (61232 8743
NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86 NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)
) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438 NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (
61248 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394
61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (119 (176 8546 NOLOCKSHIFT)) (120 (167 8744
NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385 NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT))
(124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT)) (126 (61289 8737 NOLOCKSHIFT)) (127 (44 60
NOLOCKSHIFT)) (171 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (
165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137
(61438 67 NOLOCKSHIFT)) (138 (8739 74 NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90
NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (
144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (
61354 8573 NOLOCKSHIFT)) (150 (61286 8741 NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740
NOLOCKSHIFT)) (153 (61400 61384 NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406
61368 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41
NOLOCKSHIFT)) (102 (57 37 NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101
69 LOCKSHIFT)) (106 (103 71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116
84 LOCKSHIFT)) (110 (56 95 NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (8 8
NOLOCKSHIFT) . IGNORE) (116 (53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (
119 (63 47 NOLOCKSHIFT)) (120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (
123 (99 67 LOCKSHIFT)) (124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127
(119 87 LOCKSHIFT)) (171 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (
165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106
74 LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (208 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (GREEK ((100 (53 37
NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (104 (55
38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814 LOCKSHIFT)) (
108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843 9811
LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117
(50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814 LOCKSHIFT
)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (9851 9819
LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (171 (39
34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809 LOCKSHIFT)) (138
(106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 94
NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828 9796 LOCKSHIFT)) (151
(9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (9840 9808
LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (
158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (ITALIAN ((171
(39 34 NOLOCKSHIFT)) (100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116
(51 61872 NOLOCKSHIFT)) (117 (50 61857 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)
) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT))
(171 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208
(95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151
(121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155
(109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (SPANISH ((208 (161 191
NOLOCKSHIFT)) (171 (59 58 NOLOCKSHIFT)) (100 (53 61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102
(54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (
106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (
110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113
81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
NOLOCKSHIFT)) (171 (59 58 NOLOCKSHIFT)) (129 (185 186 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27
27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
IGNORE) (208 (161 191 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71
LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110
78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (
158 (169 170 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (FRENCH ((208
(61869 61741 NOLOCKSHIFT)) (171 (39 61857 NOLOCKSHIFT)) (100 (53 61905 NOLOCKSHIFT)) (101 (52 61888
NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (
100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (
107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (
1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119 87
LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (171 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
(49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70
LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
13 NOLOCKSHIFT) . IGNORE) (208 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
2SHIFTUP)) DOVE) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT
)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)
) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)
) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35
NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83
LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88
LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (171 (39 34
NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74
LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 62
NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 94 NOLOCKSHIFT)) (
148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (
152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780 LOCKSHIFT)) (159 (61925
61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (STANDARD-RUSSIAN ((208 (41 40 NOLOCKSHIFT)) (171
(10073 10025 NOLOCKSHIFT)) (100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53
NOLOCKSHIFT)) (103 (10085 10037 LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (
106 (10068 10020 LOCKSHIFT)) (107 (10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029
LOCKSHIFT)) (110 (37 48 NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (
115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088
10040 LOCKSHIFT)) (119 (10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038
LOCKSHIFT)) (122 (95 56 NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125
(10091 10043 LOCKSHIFT)) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (171 (10095
10047 LOCKSHIFT)) (129 (10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (
138 (10080 10032 LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141
1SHIFTDOWN . 1SHIFTUP) (142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13
NOLOCKSHIFT) . IGNORE) (208 (41 40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022
LOCKSHIFT)) (150 (10081 10033 LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT))
(153 (46 55 NOLOCKSHIFT)) (154 (10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN .
LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (
160 2SHIFTDOWN . 2SHIFTUP)) DOVE))

View File

@@ -1,24 +1,19 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED " 4-Aug-2022 09:32:02" |{DSK}<home>larry>medley>library>FILEBROWSER.;2| 266567
(FILECREATED "19-Jul-2023 09:30:47" |{WMEDLEY}<library>FILEBROWSER.;25| 265978
:EDIT-BY |rmk|
:CHANGES-TO (VARS FILEBROWSERCOMS)
:PREVIOUS-DATE " 2-Dec-2021 19:33:12" |{DSK}<home>larry>medley>library>FILEBROWSER.;1|)
:PREVIOUS-DATE "18-Jul-2023 22:19:30" |{WMEDLEY}<library>FILEBROWSER.;24|)
; Copyright (c) 1983-1991, 1993-1994, 1999-2001, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT FILEBROWSERCOMS)
(RPAQQ FILEBROWSERCOMS
((COMS (DECLARE\: EVAL@COMPILE DONTCOPY (P (CL:UNLESS (GETP 'EXPORTS.ALL 'FILE)
(TERPRI T)
(PRIN1
"NOTE: FILEBROWSER requires EXPORTS.ALL"
T)
(TERPRI T)
(TERPRI T))))
((COMS (DECLARE\: EVAL@COMPILE DONTCOPY (FILES (FROM LOADUPS)
EXPORTS.ALL))
(FILES ATTACHEDWINDOW ICONW TABLEBROWSER)
(P
(* |;;| "Set up for MODERNIZE windows, whether or not MODERNIZE is pre-loaded")
@@ -250,11 +245,8 @@ You specify how many versions to keep.")))
))
(DECLARE\: EVAL@COMPILE DONTCOPY
(CL:UNLESS (GETP 'EXPORTS.ALL 'FILE)
(TERPRI T)
(PRIN1 "NOTE: FILEBROWSER requires EXPORTS.ALL" T)
(TERPRI T)
(TERPRI T))
(FILESLOAD (FROM LOADUPS)
EXPORTS.ALL)
)
(FILESLOAD ATTACHEDWINDOW ICONW TABLEBROWSER)
@@ -463,8 +455,7 @@ Your deletions are thus ignored.")))
(* \; "Entries")
(DEFCOMMAND "fb" (&REST PAT&PROPS)
(APPLY 'FB PAT&PROPS))
(DEFCOMMAND "fb" (&REST PAT&PROPS) (APPLY 'FB PAT&PROPS))
(DEFINEQ
(FB
@@ -943,8 +934,9 @@ Your deletions are thus ignored.")))
(AND OLDFONT (DSPFONT OLDFONT STREAM)))))
(FB.COPYFN
(LAMBDA (TBROWSER ITEM) (* |bvm:| "13-Oct-85 17:44")
(BKSYSBUF (|fetch| (FBFILEDATA FILENAME) |of| (|fetch| TIDATA |of| ITEM)))))
(LAMBDA (TBROWSER ITEM) (* \; "Edited 18-Jul-2023 22:19 by rmk")
(* |bvm:| "13-Oct-85 17:44")
(COPYINSERT (|fetch| (FBFILEDATA FILENAME) |of| (|fetch| TIDATA |of| ITEM)))))
)
@@ -4253,54 +4245,52 @@ then click Recompute"))))
(ADDTOVAR LAMA FB.PROMPTW.FORMAT FB.PROMPTWPRINT)
)
(PUTPROPS FILEBROWSER COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1989 1990
1991 1993 1994 1999 2000 2001 2021))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (32375 55256 (FB 32385 . 33520) (FB.COPYBINARYCOMMAND 33522 . 33868) (FB.COPYTEXTCOMMAND
33870 . 34212) (FILEBROWSER 34214 . 47320) (FB.TABLEBROWSER 47322 . 47539) (FB.SELECTEDFILES 47541 .
48178) (FB.FETCHFILENAME 48180 . 48572) (FB.DIRECTORYP 48574 . 48968) (FB.PROMPTWPRINT 48970 . 50016)
(FB.PROMPTW.FORMAT 50018 . 50755) (FB.PROMPTFORINPUT 50757 . 53009) (FB.YES-OR-NO-P 53011 . 54045) (
FB.ALLOW.ABORT 54047 . 54901) (\\FB.HARDCOPY.TOFILE.EXTENSION 54903 . 55254)) (55280 56233 (FB.STARTUP
55290 . 55805) (FB.MAKERIGIDWINDOW 55807 . 56231)) (56234 61606 (FB.PRINTFN 56244 . 61397) (FB.COPYFN
61399 . 61604)) (61656 67996 (FB.MENU.WHENSELECTEDFN 61666 . 62024) (FB.COMMANDSELECTEDFN 62026 .
63565) (FB.SUBITEMP 63567 . 64168) (FB.MAKE.BROWSER.BUSY 64170 . 64974) (FB.FINISH.COMMAND 64976 .
67007) (FB.HANDLE.ABORT.BUTTON 67009 . 67994)) (67997 73513 (FB.DELETECOMMAND 68007 . 68288) (
FB.DELVERCOMMAND 68290 . 71483) (FB.IS.NOT.SUBDIRECTORY.ITEM 71485 . 71666) (FB.DELVER.FILES 71668 .
72757) (FB.DELETE.FILE 72759 . 73511)) (73514 74839 (FB.UNDELETECOMMAND 73524 . 73809) (
FB.UNDELETEALLCOMMAND 73811 . 74090) (FB.UNDELETE.FILE 74092 . 74837)) (74840 99021 (FB.COPYCOMMAND
74850 . 75119) (FB.RENAMECOMMAND 75121 . 75396) (FB.COPY/RENAME.COMMAND 75398 . 76321) (
FB.COPY/RENAME.ONE 76323 . 78645) (FB.COPY/RENAME.MANY 78647 . 84867) (FB.MERGE.DIRECTORIES 84869 .
85287) (FB.GREATEST.PREFIX 85289 . 86645) (FB.MAYBE.INSERT.FILE 86647 . 94087) (FB.GET.NEW.FILE.SPEC
94089 . 97920) (FB.CANONICAL.DIRECTORY 97922 . 99019)) (99022 106806 (FB.HARDCOPYCOMMAND 99032 .
100162) (FB.HARDCOPY.TOFILE 100164 . 106804)) (106807 117006 (FB.EDITCOMMAND 106817 . 107684) (
FB.EDITCOMMAND.ONEFILE 107686 . 111090) (FB.EDITLISPFILE 111092 . 112197) (FB.BROWSECOMMAND 112199 .
117004)) (117007 128928 (FB.FASTSEECOMMAND 117017 . 120467) (FB.FASTSEE.ONEFILE 120469 . 123626) (
FB.SEEFULLFN 123628 . 127759) (FB.SEEBUTTONFN 127761 . 128926)) (128929 130675 (FB.LOADCOMMAND 128939
. 129446) (FB.COMPILECOMMAND 129448 . 129986) (FB.OPERATE.ON.FILES 129988 . 130673)) (130676 178861 (
FB.UPDATECOMMAND 130686 . 130911) (FB.FIX-DIRECTORY-DATES 130913 . 131936) (FB.MAYBE.EXPUNGE 131938 .
132999) (FB.UPDATEBROWSERITEMS 133001 . 146216) (FB.DATE 146218 . 146859) (FB.ADJUST.DATE.WIDTH 146861
. 149829) (FB.SET.BROWSER.TITLE 149831 . 150833) (FB.MAYBE.WIDEN.NAMES 150835 . 152954) (
FB.SET.DEFAULT.NAME.WIDTH 152956 . 154320) (FB.CREATE.FILEBUCKET 154322 . 161542) (
FB.CHECK.NAME.LENGTH 161544 . 163965) (FB.ADD.FILEGROUP 163967 . 165494) (FB.INSERT.DIRECTORY 165496
. 165734) (FB.MAKE.SUBDIRECTORY.ITEM 165736 . 167145) (FB.ADD.FILE 167147 . 167760) (FB.INSERT.FILE
167762 . 171174) (FB.ANALYZE.PATTERN 171176 . 176440) (FB.CANONICALIZE.PATTERN 176442 . 177754) (
FB.GETALLFILEINFO 177756 . 178859)) (178862 187021 (FB.SORT.VERSIONS 178872 . 181643) (
FB.DECREASING.VERSION 181645 . 182314) (FB.INCREASING.VERSION 182316 . 182937) (
FB.NAMES.DECREASING.VERSION 182939 . 183974) (FB.NAMES.INCREASING.VERSION 183976 . 184973) (
FB.DECREASING.NUMERIC.ATTR 184975 . 185655) (FB.INCREASING.NUMERIC.ATTR 185657 . 186331) (
FB.ALPHABETIC.ATTR 186333 . 187019)) (187022 196864 (FB.SORTCOMMAND 187032 . 193862) (
FB.INSERT.SUBDIRECTORIES 193864 . 194661) (FB.GET.SORT.MENU 194663 . 196862)) (196865 213086 (
FB.EXPUNGECOMMAND 196875 . 199460) (FB.NEWPATTERNCOMMAND 199462 . 199860) (FB.NEWINFOCOMMAND 199862 .
202694) (FB.DEPTHCOMMAND 202696 . 204471) (FB.SHAPECOMMAND 204473 . 207815) (FB.REMOVE.FILE 207817 .
209638) (FB.COUNT.FILE.CHANGE 209640 . 211085) (FB.SETNEWPATTERN 211087 . 212257) (FB.GET.NEWPATTERN
212259 . 212843) (FB.OPTIONSCOMMAND 212845 . 213084)) (213121 214174 (FB.GETWINDOW 213131 . 214172)) (
214175 215187 (FB.INFOMENU.SHADEINITIALSELECTIONS 214185 . 214832) (FB.INFO.ITEM.NAMED 214834 . 215185
)) (215188 224720 (FB.MAKECOUNTERWINDOW 215198 . 216726) (FB.COUNTERW.REDISPLAYFN 216728 . 217315) (
FB.UPDATE.COUNTERS 217317 . 219389) (FB.DISPLAY.COUNTERS 219391 . 224451) (FB.COUNTER.STRING 224453 .
224718)) (224721 229430 (FB.MAKEHEADINGWINDOW 224731 . 226345) (FB.HEADINGW.REDISPLAYFN 226347 .
226613) (FB.HEADINGW.RESHAPEFN 226615 . 226991) (FB.HEADINGW.DISPLAY 226993 . 229428)) (229431 233614
(FB.ICONFN 229441 . 229788) (FB.INFOMENU.WHENSELECTEDFN 229790 . 230520) (FB.CLOSEFN 230522 . 231725)
(FB.EXPUNGE?.MENU 231727 . 232139) (FB.AFTERCLOSEFN 232141 . 232502) (FB.CLOSE&EXPUNGE 232504 . 233612
)) (233615 245673 (FB.HARDCOPY.DIRECTORY 233625 . 243982) (FB.HARDCOPY.PRINT.TITLE 243984 . 244310) (
FB.HARDCOPY.MAXWIDTH 244312 . 245671)))))
(FILEMAP (NIL (31814 54695 (FB 31824 . 32959) (FB.COPYBINARYCOMMAND 32961 . 33307) (FB.COPYTEXTCOMMAND
33309 . 33651) (FILEBROWSER 33653 . 46759) (FB.TABLEBROWSER 46761 . 46978) (FB.SELECTEDFILES 46980 .
47617) (FB.FETCHFILENAME 47619 . 48011) (FB.DIRECTORYP 48013 . 48407) (FB.PROMPTWPRINT 48409 . 49455)
(FB.PROMPTW.FORMAT 49457 . 50194) (FB.PROMPTFORINPUT 50196 . 52448) (FB.YES-OR-NO-P 52450 . 53484) (
FB.ALLOW.ABORT 53486 . 54340) (\\FB.HARDCOPY.TOFILE.EXTENSION 54342 . 54693)) (54719 55672 (FB.STARTUP
54729 . 55244) (FB.MAKERIGIDWINDOW 55246 . 55670)) (55673 61156 (FB.PRINTFN 55683 . 60836) (FB.COPYFN
60838 . 61154)) (61206 67546 (FB.MENU.WHENSELECTEDFN 61216 . 61574) (FB.COMMANDSELECTEDFN 61576 .
63115) (FB.SUBITEMP 63117 . 63718) (FB.MAKE.BROWSER.BUSY 63720 . 64524) (FB.FINISH.COMMAND 64526 .
66557) (FB.HANDLE.ABORT.BUTTON 66559 . 67544)) (67547 73063 (FB.DELETECOMMAND 67557 . 67838) (
FB.DELVERCOMMAND 67840 . 71033) (FB.IS.NOT.SUBDIRECTORY.ITEM 71035 . 71216) (FB.DELVER.FILES 71218 .
72307) (FB.DELETE.FILE 72309 . 73061)) (73064 74389 (FB.UNDELETECOMMAND 73074 . 73359) (
FB.UNDELETEALLCOMMAND 73361 . 73640) (FB.UNDELETE.FILE 73642 . 74387)) (74390 98571 (FB.COPYCOMMAND
74400 . 74669) (FB.RENAMECOMMAND 74671 . 74946) (FB.COPY/RENAME.COMMAND 74948 . 75871) (
FB.COPY/RENAME.ONE 75873 . 78195) (FB.COPY/RENAME.MANY 78197 . 84417) (FB.MERGE.DIRECTORIES 84419 .
84837) (FB.GREATEST.PREFIX 84839 . 86195) (FB.MAYBE.INSERT.FILE 86197 . 93637) (FB.GET.NEW.FILE.SPEC
93639 . 97470) (FB.CANONICAL.DIRECTORY 97472 . 98569)) (98572 106356 (FB.HARDCOPYCOMMAND 98582 . 99712
) (FB.HARDCOPY.TOFILE 99714 . 106354)) (106357 116556 (FB.EDITCOMMAND 106367 . 107234) (
FB.EDITCOMMAND.ONEFILE 107236 . 110640) (FB.EDITLISPFILE 110642 . 111747) (FB.BROWSECOMMAND 111749 .
116554)) (116557 128478 (FB.FASTSEECOMMAND 116567 . 120017) (FB.FASTSEE.ONEFILE 120019 . 123176) (
FB.SEEFULLFN 123178 . 127309) (FB.SEEBUTTONFN 127311 . 128476)) (128479 130225 (FB.LOADCOMMAND 128489
. 128996) (FB.COMPILECOMMAND 128998 . 129536) (FB.OPERATE.ON.FILES 129538 . 130223)) (130226 178411 (
FB.UPDATECOMMAND 130236 . 130461) (FB.FIX-DIRECTORY-DATES 130463 . 131486) (FB.MAYBE.EXPUNGE 131488 .
132549) (FB.UPDATEBROWSERITEMS 132551 . 145766) (FB.DATE 145768 . 146409) (FB.ADJUST.DATE.WIDTH 146411
. 149379) (FB.SET.BROWSER.TITLE 149381 . 150383) (FB.MAYBE.WIDEN.NAMES 150385 . 152504) (
FB.SET.DEFAULT.NAME.WIDTH 152506 . 153870) (FB.CREATE.FILEBUCKET 153872 . 161092) (
FB.CHECK.NAME.LENGTH 161094 . 163515) (FB.ADD.FILEGROUP 163517 . 165044) (FB.INSERT.DIRECTORY 165046
. 165284) (FB.MAKE.SUBDIRECTORY.ITEM 165286 . 166695) (FB.ADD.FILE 166697 . 167310) (FB.INSERT.FILE
167312 . 170724) (FB.ANALYZE.PATTERN 170726 . 175990) (FB.CANONICALIZE.PATTERN 175992 . 177304) (
FB.GETALLFILEINFO 177306 . 178409)) (178412 186571 (FB.SORT.VERSIONS 178422 . 181193) (
FB.DECREASING.VERSION 181195 . 181864) (FB.INCREASING.VERSION 181866 . 182487) (
FB.NAMES.DECREASING.VERSION 182489 . 183524) (FB.NAMES.INCREASING.VERSION 183526 . 184523) (
FB.DECREASING.NUMERIC.ATTR 184525 . 185205) (FB.INCREASING.NUMERIC.ATTR 185207 . 185881) (
FB.ALPHABETIC.ATTR 185883 . 186569)) (186572 196414 (FB.SORTCOMMAND 186582 . 193412) (
FB.INSERT.SUBDIRECTORIES 193414 . 194211) (FB.GET.SORT.MENU 194213 . 196412)) (196415 212636 (
FB.EXPUNGECOMMAND 196425 . 199010) (FB.NEWPATTERNCOMMAND 199012 . 199410) (FB.NEWINFOCOMMAND 199412 .
202244) (FB.DEPTHCOMMAND 202246 . 204021) (FB.SHAPECOMMAND 204023 . 207365) (FB.REMOVE.FILE 207367 .
209188) (FB.COUNT.FILE.CHANGE 209190 . 210635) (FB.SETNEWPATTERN 210637 . 211807) (FB.GET.NEWPATTERN
211809 . 212393) (FB.OPTIONSCOMMAND 212395 . 212634)) (212671 213724 (FB.GETWINDOW 212681 . 213722)) (
213725 214737 (FB.INFOMENU.SHADEINITIALSELECTIONS 213735 . 214382) (FB.INFO.ITEM.NAMED 214384 . 214735
)) (214738 224270 (FB.MAKECOUNTERWINDOW 214748 . 216276) (FB.COUNTERW.REDISPLAYFN 216278 . 216865) (
FB.UPDATE.COUNTERS 216867 . 218939) (FB.DISPLAY.COUNTERS 218941 . 224001) (FB.COUNTER.STRING 224003 .
224268)) (224271 228980 (FB.MAKEHEADINGWINDOW 224281 . 225895) (FB.HEADINGW.REDISPLAYFN 225897 .
226163) (FB.HEADINGW.RESHAPEFN 226165 . 226541) (FB.HEADINGW.DISPLAY 226543 . 228978)) (228981 233164
(FB.ICONFN 228991 . 229338) (FB.INFOMENU.WHENSELECTEDFN 229340 . 230070) (FB.CLOSEFN 230072 . 231275)
(FB.EXPUNGE?.MENU 231277 . 231689) (FB.AFTERCLOSEFN 231691 . 232052) (FB.CLOSE&EXPUNGE 232054 . 233162
)) (233165 245223 (FB.HARDCOPY.DIRECTORY 233175 . 243532) (FB.HARDCOPY.PRINT.TITLE 243534 . 243860) (
FB.HARDCOPY.MAXWIDTH 243862 . 245221)))))
STOP

Binary file not shown.

Binary file not shown.

Binary file not shown.

276
library/PDFSTREAM Normal file
View File

@@ -0,0 +1,276 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 1-Oct-2023 20:53:05" {WMEDLEY}<library>PDFSTREAM.;54 13917
:EDIT-BY rmk
:CHANGES-TO (FNS SEE-PDF)
:PREVIOUS-DATE " 1-Oct-2023 15:29:33" {WMEDLEY}<library>PDFSTREAM.;53)
(PRETTYCOMPRINT PDFSTREAMCOMS)
(RPAQQ PDFSTREAMCOMS
((FILES (SYSLOAD)
POSTSCRIPTSTREAM)
[COMS (* ; "Hook into hardcopy interface")
[ADDVARS [PRINTERTYPES ((PDF)
(CANPRINT (PDF))
(STATUS TRUE)
(PROPERTIES NILL)
(SEND POSTSCRIPTSEND)
(BITMAPSCALE POSTSCRIPT.BITMAPSCALE)
(BITMAPFILE (PDF.HARDCOPYW FILE BITMAP SCALEFACTOR REGION
ROTATION TITLE]
[PRINTFILETYPES (PDF (TEST PDFFILEP)
(EXTENSION (PDF))
(CONVERSION (TEXT PDF.TEXT TEDIT PDF.TEDIT]
(IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM)
(FONTCREATE POSTSCRIPT.FONTCREATE)
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
(CREATECHARSET \CREATECHARSET.PSC]
(VARS (DEFAULTPRINTERTYPE 'PDF))
(FNS PDFFILEP PDF.HARDCOPYW PDF.TEXT PDF.TEDIT)
(P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT]
(* ;; "")
(* ;; "Implementation of PDF streams")
(INITVARS (PDFCONVERTER 'ps2pdf))
(* ; "Mac with ghostscript?")
(ALISTS (PDF-CONVERTER-TEMPLATES ps2pdf pstopdf))
(GLOBALVARS PDFCONVERTER PDF-CONVERTER-TEMPLATES)
(FNS OPEN-PDF-STREAM CLOSE-PDF-STREAM PS-TO-PDF)
(FNS SEE-PDF)))
(FILESLOAD (SYSLOAD)
POSTSCRIPTSTREAM)
(* ; "Hook into hardcopy interface")
(ADDTOVAR PRINTERTYPES ((PDF)
(CANPRINT (PDF))
(STATUS TRUE)
(PROPERTIES NILL)
(SEND POSTSCRIPTSEND)
(BITMAPSCALE POSTSCRIPT.BITMAPSCALE)
(BITMAPFILE (PDF.HARDCOPYW FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))))
(ADDTOVAR PRINTFILETYPES (PDF (TEST PDFFILEP)
(EXTENSION (PDF))
(CONVERSION (TEXT PDF.TEXT TEDIT PDF.TEDIT))))
(ADDTOVAR IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM)
(FONTCREATE POSTSCRIPT.FONTCREATE)
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
(CREATECHARSET \CREATECHARSET.PSC)))
(RPAQQ DEFAULTPRINTERTYPE PDF)
(DEFINEQ
(PDFFILEP
[LAMBDA (FILE) (* ; "Edited 23-Jun-2023 14:43 by rmk")
(* ; "Edited 5-Mar-93 21:40 by rmk:")
(* ; "Edited 14-Jan-93 10:56 by jds")
(OR (CL:MEMBER (UNPACKFILENAME.STRING FILE 'EXTENSION)
'("PDF")
:TEST
(FUNCTION STRING-EQUAL))
(CL:WHEN (STREAMP FILE)
(SETFILEPTR FILE 0)
(PROG1 (AND (EQ (BIN FILE)
(CHARCODE %%))
(EQ (BIN FILE)
(CHARCODE P))
(EQ (BIN FILE)
(CHARCODE D))
(EQ (BIN FILE)
(CHARCODE F)))
(SETFILEPTR FILE 0)))])
(PDF.HARDCOPYW
[LAMBDA (PDFFILE BITMAP SCALEFACTOR REGION Landscape? TITLE)
(* ; "Edited 24-Jul-2023 10:37 by rmk")
(* ; "Edited 23-Jun-2023 13:28 by rmk")
(* ; "Edited 6-Mar-2023 22:43 by rmk")
(LET ((PSTTMP (PACKFILENAME 'EXTENSION 'TMPPS 'BODY PDFFILE)))
(PS-TO-PDF (POSTSCRIPT.HARDCOPYW PSTTMP BITMAP SCALEFACTOR REGION Landscape? TITLE)
PDFFILE])
(PDF.TEXT
[LAMBDA (FILE PDFFILE FONTS HEADING TABS) (* ; "Edited 1-Oct-2023 15:24 by rmk")
(* ; "Edited 23-Jun-2023 13:23 by rmk")
(* ; "Edited 7-Mar-2023 08:39 by rmk")
(TEXTTOIMAGEFILE FILE PDFFILE 'PDF FONTS HEADING TABS `(REGION ,POSTSCRIPT.DEFAULT.PAGEREGION
ROTATION ,(NOT (NOT
POSTSCRIPT.TEXTFILE.LANDSCAPE
])
(PDF.TEDIT
[LAMBDA (FILE PDFFILE) (* ; "Edited 23-Jun-2023 13:22 by rmk")
(* ; "Edited 7-Mar-2023 08:39 by rmk")
(LET ((TSTREAM (OPENTEXTSTREAM FILE)))
(TEDIT.FORMAT.HARDCOPY FILE PDFFILE T NIL NIL NIL 'PDF)
(CLOSEF TSTREAM])
)
(FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT)
(* ;; "")
(* ;; "Implementation of PDF streams")
(RPAQ? PDFCONVERTER 'ps2pdf)
(* ; "Mac with ghostscript?")
(ADDTOVAR PDF-CONVERTER-TEMPLATES (ps2pdf " " PSFILE " " PDFFILE " 2> " ERRORFILE)
(pstopdf " " PSFILE " -o " PDFFILE " 2> " ERRORFILE))
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS PDFCONVERTER PDF-CONVERTER-TEMPLATES)
)
(DEFINEQ
(OPEN-PDF-STREAM
[LAMBDA (FILE OPTIONS) (* ; "Edited 23-Sep-2023 15:38 by rmk")
(* ; "Edited 22-Sep-2023 11:04 by rmk")
(* ; "Edited 24-Jun-2023 14:49 by rmk")
(* ;; "Open a temporary PS file, but set it up so that at closing it gets converted to PDF using an operating-system utility (if available), and then gets renamed to the original intended filename.")
(* ;; "We have to stash the original filename someplace. We could put it in the tmp filename and then parse it out, but then we would have to worry about how unix filenames might parse against our {, }, etc. ")
(* ;;
 "Simplest thing for now is to just add an extra field at the end of the \POSTSCRIPTDATA record.")
(* ;; "")
(if [AND NIL (EQ 'LPT (FILENAMEFIELD FILE 'HOST]
then
(* ;; "If FILE is on the LPT device, we could just ssume that it can be printed directly, no point in converting. But then we would alo have to lie and give it a PDF extension so it thinks that we are heading to a PDF printer.")
(OPENPOSTSCRIPTSTREAM FILE OPTIONS)
else (CL:UNLESS (OR (ASSOC (OR PDFCONVERTER (MKATOM (UNIX-GETENV "MEDLEY-PDFCONVERTER")))
PDF-CONVERTER-TEMPLATES))
(ERROR "POSTSCRIPT-to-PDF converter is not specified"))
(SETQ FILE (OR (AND (NEQ FILE T)
(OUTFILEP FILE))
(ERROR "PDF target file not found" FILE)))
(LET ((PSSTREAM (OPENPOSTSCRIPTSTREAM (CONCAT "{UNIX}/tmp/medley-pdf-" (IDATE)
"-"
(RAND)
".ps")
OPTIONS)))
(STREAMPROP PSSTREAM 'AFTERCLOSE (CONS (FUNCTION CLOSE-PDF-STREAM)))
(STREAMPROP PSSTREAM 'PDFTARGETINFO FILE)
PSSTREAM])
(CLOSE-PDF-STREAM
[LAMBDA (PSSTREAM) (* ; "Edited 22-Sep-2023 11:18 by rmk")
(* ; "Edited 24-Jul-2023 10:37 by rmk")
(* ; "Edited 17-Jul-2023 22:32 by rmk")
(* ; "Edited 24-Jun-2023 13:57 by rmk")
(* ;; "PSSTREAM is a postscript (maybe in tmp) rendition of what is intended to end up as a pdf. If we are going directly to a printer, we can probably just pass it along without worrying about conversion. In fact, in that case we probably should not have bothered even setting up the PDF stream.")
(* ;; "But for a file we execute the PDFCONVERTER as a shell command to make a pdf, and then we rename it to the intended filename")
(STREAMPROP PSSTREAM 'AFTERCLOSE NIL) (* ;
 "Maybe just remove only CLOSE-PDF-STREAMfrom the list?")
(LET ((TARGETINFO (STREAMPROP PSSTREAM 'PDFTARGETINFO NIL)))
(CL:IF TARGETINFO
(RENAMEFILE (PS-TO-PDF PSSTREAM)
TARGETINFO)
PSSTREAM)])
(PS-TO-PDF
[LAMBDA (PSFILE PDFFILE DONTDELETE) (* ; "Edited 1-Oct-2023 15:18 by rmk")
(* ; "Edited 23-Sep-2023 22:54 by rmk")
(* ; "Edited 23-Jul-2023 22:30 by rmk")
(* ; "Edited 24-Jun-2023 15:01 by rmk")
(* ; "Edited 16-Jul-2022 13:06 by rmk")
(* ; "Edited 8-Jul-2022 10:20 by rmk")
(* ; "Edited 7-May-2022 22:40 by rmk")
(* ; "Edited 7-Oct-2021 11:15 by rmk:")
(* ;; "PSFILE is the name of a closed PS file on a DSK/UNIX device. This function uses the PDFCONVERTER utility to convert that to a parallel pdf file, which is then renamed to PDFFILE. ")
(* ;; "DONTDELETE is just for debugging, keeps the /tmp/ files")
(SETQ PSFILE (FULLNAME (TRUEFILENAME PSFILE)))
(CL:UNLESS (INFILEP PSFILE)
(ERROR "NO PS FILE TO CONVERT"))
(SETQ PDFFILE (if PDFFILE
then (TRUEFILENAME PDFFILE)
else (PACKFILENAME 'EXTENSION 'pdf 'BODY PSFILE)))
(LET ((ERRORFILE (PACKFILENAME 'EXTENSION 'error 'BODY PSFILE))
COMPLETIONCODE)
(* ;; "PROCESS-COMMAND is currently from GITFNS. Not sure whether ShellCommand in UNIXUTILS is appropriate.")
(* ;;
 "We have to map the filenames down to Unix conventions: (not pseudohost or host, slashes, etc.")
[SETQ COMPLETIONCODE (PROCESS-COMMAND (CONCATLIST (SUBLIS
`((PSFILE \, (SLASHIT (TRUEFILENAME
PSFILE)
NIL T))
(PDFFILE \, (SLASHIT (TRUEFILENAME
PDFFILE)
NIL T))
(ERRORFILE \, (SLASHIT (TRUEFILENAME
ERRORFILE)
NIL T)))
(ASSOC (OR PDFCONVERTER
(MKATOM (UNIX-GETENV
"MEDLEY-PDFCONVERTER"
)))
PDF-CONVERTER-TEMPLATES]
(* ;; "Now use Medley names")
(CLOSEF? PSFILE)
(CL:UNLESS DONTDELETE (DELFILE PSFILE))
(CLOSEF? ERRORFILE)
(CL:WHEN (INFILEP ERRORFILE)
(CL:WHEN (IGREATERP (PROG1 (GETFILEINFO ERRORFILE 'LENGTH)
(CL:UNLESS DONTDELETE (DELFILE ERRORFILE)))
0)
(ERROR "Cannot create PDF file for " PDFFILE)))
(CL:WHEN (IGREATERP COMPLETIONCODE 0)
(ERROR "Cannot create PDF file for " PDFFILE))
PDFFILE])
)
(DEFINEQ
(SEE-PDF
[LAMBDA (PDFFILE) (* ; "Edited 1-Oct-2023 20:47 by rmk")
(* ; "Edited 26-Sep-2023 16:52 by rmk")
(* ;; "Good for Mac, not sure about Windows etc.")
(ShellCommand (CONCAT "open -a Preview " (UNIX-FILE-NAME (PACKFILENAME 'BODY PDFFILE 'EXTENSION
'PDF)
'INPUT])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3078 5692 (PDFFILEP 3088 . 4002) (PDF.HARDCOPYW 4004 . 4602) (PDF.TEXT 4604 . 5321) (
PDF.TEDIT 5323 . 5690)) (6136 13355 (OPEN-PDF-STREAM 6146 . 8324) (CLOSE-PDF-STREAM 8326 . 9613) (
PS-TO-PDF 9615 . 13353)) (13356 13894 (SEE-PDF 13366 . 13892)))))
STOP

BIN
library/PDFSTREAM.LCOM Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,18 +1,15 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 4-Jan-2022 14:09:48" {DSK}<Users>kaplan>Local>medley3.5>my-medley>library>SPY.;2 63314
(FILECREATED "28-Jul-2023 20:13:45" {DSK}<home>larry>il>medley>library>SPY.;4 64149
:EDIT-BY "lmm"
:CHANGES-TO (VARS SPYCOMS)
(FNS SPY.MAKE.TREE)
(FNS \SPY.INTERRUPT SPY.BUFFER.ENTRY SPY.ADD.ENTRY)
:PREVIOUS-DATE "29-Apr-94 14:13:52" {DSK}<Users>kaplan>Local>medley3.5>my-medley>library>SPY.;1
)
:PREVIOUS-DATE " 4-Jan-2022 14:09:48" {DSK}<home>larry>il>medley>library>SPY.;1)
(* ; "
Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT SPYCOMS)
(RPAQQ SPYCOMS
@@ -33,12 +30,13 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
SPY.UPDATE.TITLE SPY.DELETE SPY.DRAWBOX SPY.BUFFER.ENTRY SPY.BUTTON SPY.END.ENTRY
SPY.START SPY.INIT \SPY.INTERRUPT SPY.DUMP.BUFFER SPY.START.ENTRY SPY.ADD.ENTRY
SPY.ORIGINAL SPY.OVERFLOW SPY.MERGE.CALLEES SPY.PRINT)
(COMS (INITVARS (SPY.BUTTON))
(COMS (INITVARS (\BACKGROUND)
(SPY.BUTTON))
(VARS SPY.OPEN SPY.CLOSED))
(VARIABLES SPY.POINTERS)
(GLOBALVARS SPY.OVERFLOWED \PERIODIC.INTERRUPT SPY.TREE SPY.BUFFER.SIZE SPY.NEXT
SPY.BUFFER.THRESHOLD SPY.BUFFER SPY.FREQUENCY SPY.SHOW.THRESHOLD SPY.MAXLINES SPY.FONT
)
(SPECVARS \BACKGROUND)
(MACROS WITH-SPY WITH.SPY)
(DECLARE%: DONTCOPY (RECORDS SPYRECORD SPYDATA))
(INITRECORDS SPYRECORD)
@@ -836,8 +834,11 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
)
(SPY.BUFFER.ENTRY
(LAMBDA (N) (* ; "Edited 9-Sep-87 18:27 by Masinter") (COND (SPY.POINTERS (AND (ILEQ (SETQ N (LLSH N 1)) SPY.BUFFER.SIZE) (\GETBASEPTR SPY.BUFFER N))) ((ILEQ N SPY.BUFFER.SIZE) (\VAG2 0 (\GETBASE SPY.BUFFER N)))))
)
[LAMBDA (N) (* ; "Edited 28-Jul-2023 08:16 by lmm")
(* ; "Edited 9-Sep-87 18:27 by Masinter")
(AND (ILEQ (SETQ N (LLSH N 1))
SPY.BUFFER.SIZE)
(\GETBASEPTR SPY.BUFFER N])
(SPY.BUTTON
(LAMBDA (POS) (* gbn " 2-Jun-85 13:12") (PROG ((REG (if POS then (CREATEREGION (fetch XCOORD of POS) (fetch YCOORD of POS) (WIDTHIFWINDOW (BITMAPWIDTH SPY.CLOSED)) (HEIGHTIFWINDOW (BITMAPHEIGHT SPY.CLOSED))) else (GETBOXREGION (WIDTHIFWINDOW (BITMAPWIDTH SPY.CLOSED)) (HEIGHTIFWINDOW (BITMAPHEIGHT SPY.CLOSED)) NIL NIL NIL "Specify region for window %"Spy Control%"")))) (BITBLT SPY.CLOSED NIL NIL (SETQ SPY.BUTTON (CREATEW REG NIL NIL T))) (WINDOWPROP SPY.BUTTON (QUOTE BUTTONEVENTFN) (FUNCTION (LAMBDA (W) (AND (LASTMOUSESTATE UP) (SPY.TOGGLE)))))))
@@ -855,8 +856,34 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
)
(\SPY.INTERRUPT
(LAMBDA NIL (* ; "Edited 9-Sep-87 18:32 by Masinter") (SETQ \PERIODIC.INTERRUPT) (* ; "turn off sampling while gathering sample") (PROG ((FRAME (fetch (FX CLINK) (\MYALINK)))) (COND ((IGEQ (if SPY.POINTERS then (LLSH SPY.NEXT 1) else SPY.NEXT) SPY.BUFFER.THRESHOLD) (COND (\INTERRUPTABLE (SPY.DUMP.BUFFER)) (T (* ; "this sample might overflow; just don't do it") (RETURN))))) (SPY.START.ENTRY) SAMPLELOOP (SPY.ADD.ENTRY (fetch (FX FRAMENAME) FRAME)) (COND ((NOT (fetch (FX INVALIDP) (SETQ FRAME (fetch (FX CLINK) FRAME)))) (GO SAMPLELOOP)) (T (SPY.END.ENTRY)))) (SETQ \PERIODIC.INTERRUPT (QUOTE \SPY.INTERRUPT)))
)
[LAMBDA NIL (* ; "Edited 28-Jul-2023 08:59 by lmm")
(* ; "Edited 9-Sep-87 18:32 by Masinter")
(DECLARE (SPECVARS \BACKGROUND))
[PROG [(FRAME (fetch (FX CLINK)
(\MYALINK]
(IF \BACKGROUND
THEN (RETURN))
(SETQ \PERIODIC.INTERRUPT) (* ;
 "turn off sampling while gathering sample")
[COND
((IGEQ (LLSH SPY.NEXT 1)
SPY.BUFFER.THRESHOLD)
(COND
(\INTERRUPTABLE (SPY.DUMP.BUFFER))
(T (* ;
 "this sample might overflow; just don't do it")
(RETURN]
(SPY.START.ENTRY)
SAMPLELOOP
(SPY.ADD.ENTRY (fetch (FX FRAMENAME)
FRAME))
(COND
([NOT (fetch (FX INVALIDP)
(SETQ FRAME (fetch (FX CLINK)
FRAME]
(GO SAMPLELOOP))
(T (SPY.END.ENTRY]
(SETQ \PERIODIC.INTERRUPT '\SPY.INTERRUPT])
(SPY.DUMP.BUFFER
[LAMBDA NIL (* ; "Edited 28-Apr-94 14:00 by sybalsky")
@@ -885,8 +912,15 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
)
(SPY.ADD.ENTRY
(LAMBDA (NAME) (* ; "Edited 9-Sep-87 18:29 by Masinter") (COND (SPY.POINTERS (\PUTBASEPTR SPY.BUFFER (LLSH SPY.NEXT 1) NAME) (COND ((IGEQ (LLSH (add SPY.NEXT 1) 1) SPY.BUFFER.SIZE) (SPY.OVERFLOW)))) (T (OR (LITATOM NAME) (SETQ NAME (QUOTE *FORM*))) (\PUTBASE SPY.BUFFER SPY.NEXT (\LOLOC NAME)) (COND ((IGEQ (add SPY.NEXT 1) SPY.BUFFER.SIZE) (SPY.OVERFLOW))))))
)
[LAMBDA (NAME) (* ; "Edited 28-Jul-2023 08:17 by lmm")
(* ; "Edited 9-Sep-87 18:29 by Masinter")
(\PUTBASEPTR SPY.BUFFER (LLSH SPY.NEXT 1)
NAME)
(COND
((IGEQ (LLSH (add SPY.NEXT 1)
1)
SPY.BUFFER.SIZE)
(SPY.OVERFLOW])
(SPY.ORIGINAL
[LAMBDA (TREES) (* ; "Edited 28-Apr-94 14:00 by sybalsky")
@@ -951,6 +985,8 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
else (fetch (SPYRECORD NAME) of X])
)
(RPAQ? \BACKGROUND )
(RPAQ? SPY.BUTTON )
(RPAQQ SPY.OPEN #*(56 59)@@@@@@@@@@@@@@@@GLOLLC@@@@@@@@@@LFLFLC@@@@@@@@@@LFLFFF@@@@@@@@@@O@LFFF@@GLOL@@@@GLLFCL@@LFLF@@@@ANOLAH@@LFLF@@@@LFL@AH@@LFLF@@@@LFL@AH@@LFLF@@@@LFL@AH@@LFLF@@@@GLL@AH@@GLLF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IEGOOJ@@@@J@@HJ@@BOONHH@@BA@@@@HKOOOFNJHA@D@@HHBGOKNOEB@@@B@@@EDOMMBIGNJH@I@@@HBONJMEEKE@HA@@ECONMJB@KOOJCE@@@KOOJJHEAONHDJ@@KONJD@@@@AONIE@@GOMJH@@@BMOJEB@@FOB@@D@B@@AOEM@@GODDHA@@@AENMG@@KLH@@D@@@@BONM@@GM@HB@@@@BEFKG@@JJDBH@@@@@@INM@@ODA@DDD@@@BEOG@@@KJOMKB@@@AEEK@@JJEBNLIB@@DEOG@@DKNOKONHDDABFI@@BBKFOOMD@AAEFM@@IEIABEEOD@@@JJ@@EFLJKKGEB@EFEB@@J@@BOOHNHD@AEE@@EEEDONKEJ@EEBJ@@H@IOOOOOIEB@HD@@MDDOOOOMDHIEBJ@@BAOKOOOGONNJ@A@@HBKGOOOOOJKHBE@@DHLKMGMGOONJ@I@@@EMBOOJOOOKHBD@@BKDEOOJAOONJ@B@@BKIBOOHEOOOH@D@@HNDAONJBOJDDAA@@BO@DMGDEGOEB@A@@A@DBFJ@BL@@@@D@@@E@ICMAEOJDH@A@@B@@D@ADI@@@@BD@@HDA@JDBEFHH@@A@@@@@H@IDID@@B@D@@AA@A@@@B@A@@AA@@@@@D@@B@J@@A@A@@@@@H@@@D@@@@@J@@@A@@@D@AB@@@BA@@@@@@@@E@@@@@@D@@HH@@@B@@@@@@@B@@
@@ -958,13 +994,15 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
(RPAQQ SPY.CLOSED #*(56 59)@@@@@@@@@@@@@@@@GLOLLC@@@@CHND@@LFLFLC@@@@FAHA@@LFLFFF@@@@FAH@@@O@LFFF@@GLOKNA@@GLLFCL@@LFFAH@@@ANOLAH@@LFFAHA@@LFL@AH@@LFFAH@@@LFL@AH@@LFFAHJ@@LFL@AH@@LFFAH@@@GLL@AH@@GLFAHB@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@IEGOOJ@@@@J@@HJ@@BOONHH@@BA@@@@HKOOOFNJHA@D@@HHBGOKNOEB@@@B@@@EDOMMBIGNJH@I@@@HBONJMEEKE@HA@@ECONMJB@KOOBCE@@@KOOJJHEAOOHDJ@@KONJD@@@@AONIE@@GOMJH@@@BMOJEB@@FOB@@D@B@@AOEM@@GODDHA@@@AENMG@@KLH@@D@@@@BONM@@GM@HB@@@@BEFKG@@JJDBH@@@@@@INM@@ODA@DDD@@@BEOG@@@KJOMKB@@@AEEK@@JJEBNLIB@@DEOG@@DKNOKONHDDABFI@@BBKFOOOD@AAEFM@@IEIABEGND@@@JJ@@EFLLDGGGB@EFEB@@J@@@@@IOHD@AEE@@EEAAEA@FI@EEBJ@@H@HDL@EAME@@HD@@MDEB@NHDJHDABJ@@BAB@@ABICF@J@A@@HB@KDDI@BLI@BE@@DID@A@@JHKDJ@I@@@D@DDDE@EBKEBD@@BAD@@@@A@OED@B@@BHAAAAA@CGNH@D@@H@D@@@@@MOE@AA@@BK@DDDDDGOJJ@A@@B@DA@B@CODFBBD@@EE@HBIAENK@@@A@@BLHBDDDON@@@BD@@KGDHJJIGJHB@@A@@BOBBECGOLB@B@D@@AAMLMKGOH@@@AA@@@GGONNON@H@A@A@@@IKKKKOLJ@@@@J@@@DFOKOO@D@@@BA@@@AEGMMD@A@@@@D@@HHBJMBLA@@@@@B@@
)
(DEFGLOBALVAR SPY.POINTERS T)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS SPY.OVERFLOWED \PERIODIC.INTERRUPT SPY.TREE SPY.BUFFER.SIZE SPY.NEXT SPY.BUFFER.THRESHOLD
SPY.BUFFER SPY.FREQUENCY SPY.SHOW.THRESHOLD SPY.MAXLINES SPY.FONT)
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(SPECVARS \BACKGROUND)
)
(DECLARE%: EVAL@COMPILE
(PUTPROPS WITH-SPY MACRO [(FORM)
@@ -1014,19 +1052,18 @@ Copyright (c) 1984-1985, 1987-1988, 1990-1991, 1993-1994 by Venue & Xerox Corpor
)
(MOVD? 'NILL 'MODERNWINDOW)
(PUTPROPS SPY COPYRIGHT ("Venue & Xerox Corporation" 1984 1985 1987 1988 1990 1991 1993 1994))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4753 7360 (SPYOBJ 4763 . 5052) (SPYOBJ.BUTTON 5054 . 5164) (SPYOBJ.SAVE 5166 . 5285) (
SPYOBJ.COPY 5287 . 5349) (SPYOBJ.GET 5351 . 5480) (SPYOBJ.IMAGEBOX 5482 . 6006) (SPYOBJ.DISPLAY 6008
. 6307) (SPYOBJ.LABEL 6309 . 6445) (SPYOBJ.HEIGHT 6447 . 6660) (SPYOBJ.COPYIN 6662 . 6705) (
SPY.COPYBUTTON 6707 . 6799) (SPY.MERGEINFO 6801 . 7358)) (18202 59509 (SPY.FIND.TREE 18212 . 18621) (
SPY.TOGGLE 18623 . 18813) (SPY.TREE 18815 . 19927) (SPY.LEGEND 19929 . 20279) (SPY.GRAPH.EDITOR 20281
. 29846) (SPY.END 29848 . 30090) (SPY.MAKEGRAPHNODES 30092 . 32192) (SPY.MAX 32194 . 33077) (
SPY.MERGE 33079 . 34510) (SPY.MERGE1 34512 . 40995) (SPY.MERGETREE 40997 . 43927) (SPY.NEXT.TREE 43929
. 44603) (SPY.SUM 44605 . 45294) (SPY.TITLE 45296 . 45513) (SPY.MAKE.TREE 45515 . 47540) (
SPY.UPDATE.TITLE 47542 . 50118) (SPY.DELETE 50120 . 50655) (SPY.DRAWBOX 50657 . 51182) (
SPY.BUFFER.ENTRY 51184 . 51422) (SPY.BUTTON 51424 . 51993) (SPY.END.ENTRY 51995 . 52075) (SPY.START
52077 . 52361) (SPY.INIT 52363 . 52598) (\SPY.INTERRUPT 52600 . 53236) (SPY.DUMP.BUFFER 53238 . 54698)
(SPY.START.ENTRY 54700 . 54828) (SPY.ADD.ENTRY 54830 . 55212) (SPY.ORIGINAL 55214 . 56041) (
SPY.OVERFLOW 56043 . 56144) (SPY.MERGE.CALLEES 56146 . 59182) (SPY.PRINT 59184 . 59507)))))
(FILEMAP (NIL (4707 7314 (SPYOBJ 4717 . 5006) (SPYOBJ.BUTTON 5008 . 5118) (SPYOBJ.SAVE 5120 . 5239) (
SPYOBJ.COPY 5241 . 5303) (SPYOBJ.GET 5305 . 5434) (SPYOBJ.IMAGEBOX 5436 . 5960) (SPYOBJ.DISPLAY 5962
. 6261) (SPYOBJ.LABEL 6263 . 6399) (SPYOBJ.HEIGHT 6401 . 6614) (SPYOBJ.COPYIN 6616 . 6659) (
SPY.COPYBUTTON 6661 . 6753) (SPY.MERGEINFO 6755 . 7312)) (18156 60387 (SPY.FIND.TREE 18166 . 18575) (
SPY.TOGGLE 18577 . 18767) (SPY.TREE 18769 . 19881) (SPY.LEGEND 19883 . 20233) (SPY.GRAPH.EDITOR 20235
. 29800) (SPY.END 29802 . 30044) (SPY.MAKEGRAPHNODES 30046 . 32146) (SPY.MAX 32148 . 33031) (
SPY.MERGE 33033 . 34464) (SPY.MERGE1 34466 . 40949) (SPY.MERGETREE 40951 . 43881) (SPY.NEXT.TREE 43883
. 44557) (SPY.SUM 44559 . 45248) (SPY.TITLE 45250 . 45467) (SPY.MAKE.TREE 45469 . 47494) (
SPY.UPDATE.TITLE 47496 . 50072) (SPY.DELETE 50074 . 50609) (SPY.DRAWBOX 50611 . 51136) (
SPY.BUFFER.ENTRY 51138 . 51481) (SPY.BUTTON 51483 . 52052) (SPY.END.ENTRY 52054 . 52134) (SPY.START
52136 . 52420) (SPY.INIT 52422 . 52657) (\SPY.INTERRUPT 52659 . 54064) (SPY.DUMP.BUFFER 54066 . 55526)
(SPY.START.ENTRY 55528 . 55656) (SPY.ADD.ENTRY 55658 . 56090) (SPY.ORIGINAL 56092 . 56919) (
SPY.OVERFLOW 56921 . 57022) (SPY.MERGE.CALLEES 57024 . 60060) (SPY.PRINT 60062 . 60385)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "29-Apr-2023 16:15:10" {DSK}<home>larry>il>medley>library>SYSEDIT.;2 1377
:EDIT-BY "lmm"
(FILECREATED "18-Jul-2023 12:07:08" {DSK}<home>frank>il>medley>gmedley>library>SYSEDIT.;2 1397
:CHANGES-TO (VARS SYSEDITCOMS)
:PREVIOUS-DATE "17-Apr-2023 14:19:03" {DSK}<home>larry>il>medley>library>SYSEDIT.;1)
:PREVIOUS-DATE "29-Apr-2023 16:15:10" {DSK}<home>frank>il>medley>gmedley>library>SYSEDIT.;1)
(PRETTYCOMPRINT SYSEDITCOMS)
@@ -24,7 +22,7 @@
(MSRECORDTRANFLG T))
(P (MOVD? 'APPLY* 'SPREADAPPLY*X)
(RESETVARS ((CROSSCOMPILING T))
(FILESLOAD (SOURCE)
(FILESLOAD (SOURCE FROM LOADUPS)
EXPORTS.ALL])
(RPAQQ CLISPIFYPRETTYFLG NIL)
@@ -50,7 +48,7 @@
(MOVD? 'APPLY* 'SPREADAPPLY*X)
(RESETVARS ((CROSSCOMPILING T))
(FILESLOAD (SOURCE)
(FILESLOAD (SOURCE FROM LOADUPS)
EXPORTS.ALL))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))

View File

@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "19-Jul-2022 15:36:40" 
{DSK}<users>kaplan>local>medley3.5>working-medley>library>UNICODE.;198 65644
(FILECREATED "19-Jul-2023 09:26:13" {WMEDLEY}<library>UNICODE.;199 65282
:CHANGES-TO (FNS MAKE-UNICODE-FORMATS \UTF16BE.BACKCCODEFN \UTF8.BACKCCODEFN)
(VARS UNICODECOMS)
:EDIT-BY rmk
:PREVIOUS-DATE "13-Jul-2022 11:38:18"
{DSK}<users>kaplan>local>medley3.5>working-medley>library>UNICODE.;196)
:CHANGES-TO (VARS UNICODECOMS)
:PREVIOUS-DATE "19-Jul-2022 15:36:40" {WMEDLEY}<library>UNICODE.;198)
(PRETTYCOMPRINT UNICODECOMS)
@@ -58,10 +57,8 @@
(GLOBALVARS *XCCSTOUNICODE* *UNICODETOXCCS*))
(FNS HEXSTRING UTF8HEXSTRING NUTF8CODEBYTES NUTF8STRINGBYTES XTOUSTRING XCCSSTRING)
(FNS SHOWCHARS)
(DECLARE%: EVAL@COMPILE DONTCOPY (P (OR (GETP 'EXPORTS.ALL 'FILE)
(PRINT
"NOTE: UNICODE requires EXPORTS.ALL for compilation"
T)))
(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (FROM LOADUPS)
EXPORTS.ALL)
(* ;; "These control the layout of the translation tables. Since many of the upper panels are sparse, doing it per-panel (128) seems more space-efficient, and residual alists can be shorter")
@@ -1194,8 +1191,8 @@
)
(DECLARE%: EVAL@COMPILE DONTCOPY
(OR (GETP 'EXPORTS.ALL 'FILE)
(PRINT "NOTE: UNICODE requires EXPORTS.ALL for compilation" T))
(FILESLOAD (FROM LOADUPS)
EXPORTS.ALL)
(DECLARE%: EVAL@COMPILE
@@ -1218,15 +1215,15 @@
)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4031 18122 (UTF8.OUTCHARFN 4041 . 6872) (UTF8.INCCODEFN 6874 . 12364) (UTF8.PEEKCCODEFN
12366 . 17140) (\UTF8.BACKCCODEFN 17142 . 18120)) (18123 21904 (UTF16BE.OUTCHARFN 18133 . 18957) (
UTF16BE.INCCODEFN 18959 . 19858) (UTF16BE.PEEKCCODEFN 19860 . 20931) (\UTF16BE.BACKCCODEFN 20933 .
21902)) (21934 23995 (MAKE-UNICODE-FORMATS 21944 . 23993)) (24092 25398 (UNICODE.UNMAPPED 24102 .
25396)) (25399 25935 (XCCS-UTF8-AFTER-OPEN 25409 . 25933)) (26768 27117 (XTOUCODE 26778 . 26946) (
UTOXCODE 26948 . 27115)) (27157 43279 (READ-UNICODE-MAPPING-FILENAMES 27167 . 28268) (
READ-UNICODE-MAPPING 28270 . 31568) (WRITE-UNICODE-MAPPING 31570 . 35787) (WRITE-UNICODE-INCLUDED
35789 . 40511) (WRITE-UNICODE-MAPPING-HEADER 40513 . 41745) (WRITE-UNICODE-MAPPING-FILENAME 41747 .
43277)) (46492 54971 (MAKE-UNICODE-TRANSLATION-TABLES 46502 . 54969)) (55388 63414 (HEXSTRING 55398 .
56559) (UTF8HEXSTRING 56561 . 58766) (NUTF8CODEBYTES 58768 . 59553) (NUTF8STRINGBYTES 59555 . 60036) (
XTOUSTRING 60038 . 63049) (XCCSSTRING 63051 . 63412)) (63415 64884 (SHOWCHARS 63425 . 64882)))))
(FILEMAP (NIL (3717 17808 (UTF8.OUTCHARFN 3727 . 6558) (UTF8.INCCODEFN 6560 . 12050) (UTF8.PEEKCCODEFN
12052 . 16826) (\UTF8.BACKCCODEFN 16828 . 17806)) (17809 21590 (UTF16BE.OUTCHARFN 17819 . 18643) (
UTF16BE.INCCODEFN 18645 . 19544) (UTF16BE.PEEKCCODEFN 19546 . 20617) (\UTF16BE.BACKCCODEFN 20619 .
21588)) (21620 23681 (MAKE-UNICODE-FORMATS 21630 . 23679)) (23778 25084 (UNICODE.UNMAPPED 23788 .
25082)) (25085 25621 (XCCS-UTF8-AFTER-OPEN 25095 . 25619)) (26454 26803 (XTOUCODE 26464 . 26632) (
UTOXCODE 26634 . 26801)) (26843 42965 (READ-UNICODE-MAPPING-FILENAMES 26853 . 27954) (
READ-UNICODE-MAPPING 27956 . 31254) (WRITE-UNICODE-MAPPING 31256 . 35473) (WRITE-UNICODE-INCLUDED
35475 . 40197) (WRITE-UNICODE-MAPPING-HEADER 40199 . 41431) (WRITE-UNICODE-MAPPING-FILENAME 41433 .
42963)) (46178 54657 (MAKE-UNICODE-TRANSLATION-TABLES 46188 . 54655)) (55074 63100 (HEXSTRING 55084 .
56245) (UTF8HEXSTRING 56247 . 58452) (NUTF8CODEBYTES 58454 . 59239) (NUTF8STRINGBYTES 59241 . 59722) (
XTOUSTRING 59724 . 62735) (XCCSSTRING 62737 . 63098)) (63101 64570 (SHOWCHARS 63111 . 64568)))))
STOP

Binary file not shown.

View File

@@ -1,28 +1,40 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "18-Jan-2023 20:36:10" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;7 5091
(FILECREATED " 8-Oct-2023 15:06:52" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;15 14696
:CHANGES-TO (FNS ShellBrowser ShellBrowse ShellOpen)
:CHANGES-TO (FNS ShellOpen UNIX-FILE-NAME ShellBrowser ShellBrowse ShellOpener)
(VARS UNIXUTILSCOMS)
(FUNCTIONS ShellWhich)
:PREVIOUS-DATE "18-Jan-2023 13:22:28" {DSK}<home>frank>il>medley>gmedley>greetfiles>UNIXUTILS.;1
:PREVIOUS-DATE " 8-Oct-2023 02:35:47" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;14
)
(PRETTYCOMPRINT UNIXUTILSCOMS)
(RPAQQ UNIXUTILSCOMS ((GLOBALVARS ShellBrowser)
(INITVARS (ShellBrowser))
(FUNCTIONS ShellCommand ShellWhich)
(FNS ShellBrowser ShellBrowse)))
(RPAQQ UNIXUTILSCOMS
((DECLARE%: EVAL@COMPILE DONTCOPY (* ; "For PROCESS-COMMAND")
(FILES (FROM LOADUPS)
EXPORTS.ALL))
(GLOBALVARS ShellBrowser ShellOpener)
(INITVARS (ShellBrowser)
(ShellOpener))
(FUNCTIONS ShellCommand ShellWhich)
(FNS ShellBrowser ShellBrowse ShellOpener ShellOpen PROCESS-COMMAND SLASHIT UNIX-FILE-NAME)
(PROPS (UNIXUTILS FILETYPE))))
(DECLARE%: EVAL@COMPILE DONTCOPY
(FILESLOAD (FROM LOADUPS)
EXPORTS.ALL)
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS ShellBrowser)
(GLOBALVARS ShellBrowser ShellOpener)
)
(RPAQ? ShellBrowser )
(RPAQ? ShellOpener )
(CL:DEFUN ShellCommand (Cmd &OPTIONAL (Output T))
(CL:WITH-OPEN-STREAM (s (CREATE-PROCESS-STREAM Cmd))
(CL:TAGBODY [SETFILEINFO s 'ENDOFSTREAMOP #'(CL:LAMBDA (s)
@@ -34,62 +46,56 @@
(CL:DEFUN ShellWhich (Cmd) (* ; "Edited 18-Jan-2023 13:19 by FGH")
[CL:WITH-OPEN-STREAM (S (OPENSTREAM '{NODIRCORE} 'BOTH))
(ShellCommand (CONCAT "which " Cmd)
(ShellCommand (CONCAT "command -v " Cmd)
S)
(COND
((EQ (GETEOFPTR S)
0)
NIL)
(T (SETFILEPTR S 0)
(MKSTRING (READ S])
(RSTRING S])
(DEFINEQ
(ShellBrowser
[LAMBDA NIL (* ; "Edited 18-Jan-2023 20:30 by FGH")
(OR ShellBrowser (SETQ ShellBrowser (LET (CMDPATH)
(if (STRPOS "darwin" (OR (UNIX-GETENV "OSTYPE")
(UNIX-GETENV "PATH")))
then
(* ;; " MacOS")
"open"
elseif (SETQ CMDPATH (ShellWhich "wslview"))
then
(* ;; "windows with WSL")
(* ;; "Figure out the browser to use for the ShellOpen/ShellBrowse functions. ")
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "xdg-open"))
then
(* ;; "Linux systems with xdg-utils installed ")
(* ;; " Ordinarily, this would be the same as the generic ShellOpener.")
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "git"))
then
(* ;; " Systems with git installed")
(* ;; " But if a generic ShellOpener is not found, then there are some additional")
(CONCAT CMDPATH " web--browse")
(* ; "")
elseif (SETQ CMDPATH (ShellWhich "lynx"))
then
(* ;; " Systems with lynx installed")
(* ;; " possibilities that will work for http/https URLs. If one of these exists return it.")
(LET (CMDPATH2)
(if (SETQ CMDPATH2 (ShellWhich "xterm"))
then (CONCAT CMDPATH2 " -e " CMDPATH)
else (LIST CMDPATH)))
else
(* ;;
 " Out of ideas - just return a dummy function")
(OR ShellBrowser (SETQ ShellBrowser
(if (NOT (STREQUAL (ShellOpener)
"true"))
then ShellOpener
else (LET (CMDPATH)
(if (SETQ CMDPATH (ShellWhich "git"))
then
(* ;; " Systems with git installed")
"true"])
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "lynx"))
then
(* ;; " Systems with lynx installed")
(LET (CMDPATH2)
(if (SETQ CMDPATH2 (ShellWhich "xterm"))
then (CONCAT CMDPATH2 " -e " CMDPATH)
else (LIST CMDPATH)))
else
(* ;; " Out of ideas - just return a dummy function")
"true"])
(ShellBrowse
[LAMBDA (URL) (* ; "Edited 18-Jan-2023 20:32 by FGH")
(* ;; " Open the web page specified by URL using an external browser via shell call")
(* ;;
 " URL must start with http:// or https:// (case ireelevant) or this function will just return NIL.")
(* ;; " URL must start with http:// or https:// or file:/// (case ireelevant) or this function will just return NIL.")
(* ;; " Returns T otherwise.")
@@ -97,17 +103,189 @@
(if (OR (EQ (STRPOS "http://" (L-CASE URL))
1)
(EQ (STRPOS "https://" (L-CASE URL))
1)
(EQ (STRPOS "file:///" (L-CASE URL))
1))
then (ShellOpen URL)
else NIL])
(ShellOpener
[LAMBDA NIL
(* ;; "Find an %"opener%" that will open files (and URLs) using the appropriate/default app on this machine")
(OR ShellOpener (SETQ ShellOpener (LET (CMDPATH)
(if (SETQ CMDPATH (ShellWhich "wslview"))
then
(* ;; "windows with WSL")
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "cygstart"))
then
(* ;; "windows with cygwin")
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "xdg-open"))
then
(* ;; "Linux systems with xdg-utils installed ")
CMDPATH
elseif (SETQ CMDPATH (ShellWhich "open"))
then
(* ;; " MacOS open")
CMDPATH
else
(* ;;
 " Out of ideas - just return a dummy function")
"true"])
(ShellOpen
[LAMBDA (FilenameOrURL)
(* ;; "Open the file or URL using the generic %"opener%" for this machine via a shell call.")
(* ;; " If FilenameOrURL starts with %"http://%" or %"https://%" or %"file:///%", then we use (ShellBrowser) as")
(* ;; " the %"opener%" (which includes some browsers on a machine without a generic opener).")
(* ;;
 " Otherwise FilenameOrURL is assumed to be a filename and will be opened using (ShellOpener).")
(* ;; " Returns T is all goes well; returns an error string if all does not go well")
(SETQ FilenameOrURL (MKSTRING FilenameOrURL))
(if (OR (EQ (STRPOS "http://" (L-CASE FilenameOrURL))
1)
(EQ (STRPOS "https://" (L-CASE FilenameOrURL))
1)
(EQ (STRPOS "file://" (L-CASE FilenameOrURL))
1))
then (LET ((BROWSER (ShellBrowser)))
(if (LISTP BROWSER)
then (CHAT 'SHELL NIL (CONCAT (CAR BROWSER)
" '" URL "'"))
else (ShellCommand (CONCAT BROWSER " '" URL "'"
" >>/tmp/ShellBrowser-warnings-$$.txt")))
T)
else NIL])
(if (NOT (STREQUAL BROWSER "true"))
then (if (LISTP BROWSER)
then (CHAT 'SHELL NIL (CONCAT (CAR BROWSER)
" '" FilenameOrURL "'"))
else (ShellCommand (CONCAT BROWSER " '" FilenameOrURL "'"
" >>/tmp/ShellBrowser-warnings-$$.txt"))
T)
else (CONCAT "Unable to find a browser to open: " FilenameOrURL)))
else
(LET ((OPENER (ShellOpener))
(UNIXFILE (UNIX-FILE-NAME FilenameOrURL 'INPUT T)))
(if (NOT UNIXFILE)
then (CONCAT "File not found: " FilenameOrURL)
elseif (NOT (STREQUAL OPENER "true"))
then (CL:WITH-OPEN-STREAM
(SHELLSTREAM (OPENSTREAM (CONCAT "{CORE}SHELLOUT" (RAND))
'BOTH))
(ShellCommand (CONCAT OPENER " '" UNIXFILE "'"
" >>/tmp/ShellOpener-warnings-$$.txt")
SHELLSTREAM)
(if (EQ (GETFILEPTR SHELLSTREAM)
0)
then T
else (LET* ((OUTSTRING (ALLOCSTRING (GETFILEPTR SHELLSTREAM)
" ")))
(CL:WITH-OPEN-STREAM (STRINGSTREAM (OPENSTRINGSTREAM OUTSTRING
'OUTPUT))
(SETFILEPTR SHELLSTREAM 0)
(CL:TAGBODY [SETFILEINFO SHELLSTREAM 'ENDOFSTREAMOP
#'(CL:LAMBDA (s)
(GO OUT]
(CL:LOOP (PRINTCCODE (READCCODE SHELLSTREAM)
STRINGSTREAM))
OUT))
OUTSTRING)))
else (CONCAT "Unable to find a file opener to open: " FilenameOrURL])
(PROCESS-COMMAND
[LAMBDA (CMD) (* ; "Edited 17-Jul-2022 08:17 by rmk")
(* ;; "This sets up an asynchronous process and waits until it returns with an exit code. Typically 0 means success.")
(CL:WITH-OPEN-STREAM (PS (CREATE-PROCESS-STREAM CMD))
(BIND CODE WHILE (EQ T (SETQ CODE (OR (SUBRCALL UNIX-HANDLECOMM 7 (fetch (STREAM F1)
of PS))
0))) DO (BLOCK) FINALLY (RETURN CODE])
(SLASHIT
[LAMBDA (X LCASEDIRS NOHOST) (* ; "Edited 23-Sep-2023 15:27 by rmk")
(* ;; "It would also be nice to use the generic unpackfilename/packfilename tools. But packfilename sticks in brackets again, and sticks a dot on when removing the version.")
(* ;; "Perhaps this should be a per file-device operation that maps device names into the local file system.")
(* ;; "This is a first approximation to a utility that converts a filename X on a host whose files physically reside in the local Unix file system into the strings that shell commands can use to reference that file. For now, this just involves replacing directory brackets with /, removing the host, and perhaps lower-casing the directory. It probably should be extended to deal with version number translation, for now it just keeps the ; version. ")
(LET [LASTDIRPOS SLASHED (DIRPOS (ADD1 (OR (STRPOS "}" X)
0]
[SETQ SLASHED (CONCATCODES (FOR I C FROM DIRPOS WHILE (SETQ C (NTHCHARCODE X I))
COLLECT (SELCHARQ C
((< >)
(SETQ LASTDIRPOS I)
(CHARCODE /))
(/ (SETQ LASTDIRPOS I)
C)
C]
(CL:WHEN (AND LCASEDIRS LASTDIRPOS)
(SETQ LASTDIRPOS (ADD1 (IDIFFERENCE LASTDIRPOS DIRPOS)))
(SETQ SLASHED (CONCAT (L-CASE (SUBSTRING SLASHED 1 LASTDIRPOS))
(OR (SUBSTRING SLASHED (ADD1 LASTDIRPOS))
""))))
(CL:IF (OR (EQ DIRPOS 1)
NOHOST)
SLASHED
(CONCAT (SUBSTRING X 1 (SUB1 DIRPOS))
SLASHED))])
(UNIX-FILE-NAME
[LAMBDA (FILE ACCESS COPY) (* ; "Edited 1-Oct-2023 20:52 by rmk")
(* ;; "Tries to return the string that would reference FILE in a Unix shell, for the use of PROCESS-COMMAND and ShellCommand. If VERSION is 1, it assumes that the Unix file is doesn't have the Medley version convention. If FILE does not have a corresponding Unix name, COPY is non-NIL, and ACCESS is INPUT, FILE will be copied to a unix tmp file (with COPY in its name) and that name will be returned.")
(CL:WHEN (\GETSTREAM FILE ACCESS T)
(SETQ FILE (OR (FULLNAME FILE)
FILE))) (* ; "Might catch NODIRCORE")
(CL:WHEN FILE
(SETQ FILE (TRUEFILENAME FILE))
(CL:UNLESS (STREAMP FILE)
[SETQ FILE (\GETFILENAME FILE (SELECTQ ACCESS
(OUTPUT 'NEW)
(INPUT 'OLD)
(NIL (SETQ ACCESS 'INPUT)
'OLD)
(\ILLEGAL.ARG ACCESS])
[SELECTQ (FILENAMEFIELD FILE 'HOST)
(UNIX [SUBSTRING FILE (ADD1 (CONSTANT (NCHARS "{UNIX}"])
(DSK (LET [(VERSION (FILENAMEFIELD FILE 'VERSION]
(SETQ FILE (SLASHIT (PACKFILENAME 'HOST NIL 'VERSION NIL 'BODY FILE)))
(CL:IF (AND VERSION (IGREATERP VERSION 1))
(CONCAT FILE (CL:IF (FILENAMEFIELD FILE 'EXTENSION)
"."
"")
"~" VERSION "~")
FILE)))
(CL:WHEN (AND COPY (EQ ACCESS 'INPUT)
FILE)
(RESETLST
(CL:WHEN (\GETSTREAM FILE 'INPUT T) (* ; "Hope is randaccess")
[RESETSAVE (GETFILEPTR FILE)
`(PROGN (SETFILEPTR ,FILE OLDVALUE])
(COPYFILE FILE (CONCAT "{UNIX}/tmp/medley-" (L-CASE COPY)
"-"
(IDATE)
"-"
(RAND)
(CL:IF (FILENAMEFIELD FILE 'EXTENSION)
(CONCAT "." (FILENAMEFIELD FILE 'EXTENSION))
"")))))])])
)
(PUTPROPS UNIXUTILS FILETYPE CL:COMPILE-FILE)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (764 1137 (ShellCommand 764 . 1137)) (1139 1538 (ShellWhich 1139 . 1538)) (1539 5068 (
ShellBrowser 1549 . 4072) (ShellBrowse 4074 . 5066)))))
(FILEMAP (NIL (1144 1517 (ShellCommand 1144 . 1517)) (1519 1916 (ShellWhich 1519 . 1916)) (1917 14618
(ShellBrowser 1927 . 3675) (ShellBrowse 3677 . 4362) (ShellOpener 4364 . 6052) (ShellOpen 6054 . 9357)
(PROCESS-COMMAND 9359 . 9972) (SLASHIT 9974 . 12016) (UNIX-FILE-NAME 12018 . 14616)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,10 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Jul-2022 16:55:53" 
{DSK}<users>kaplan>local>medley3.5>working-medley>library>tedit>TEDIT-WINDOW.;1 180402
(FILECREATED "20-Oct-2023 21:46:58" {MEDLEY}<library>tedit>TEDIT-WINDOW.;7 180689
:PREVIOUS-DATE "14-Jul-2022 11:08:01"
{DSK}<users>kaplan>local>medley3.5>working-medley>library>newtedit>TEDIT-WINDOW.;2)
:EDIT-BY rmk
:CHANGES-TO (FNS TEDIT.DEACTIVATE.WINDOW)
:PREVIOUS-DATE "14-Jul-2022 16:55:53" {MEDLEY}<library>tedit>TEDIT-WINDOW.;5)
(PRETTYCOMPRINT TEDIT-WINDOWCOMS)
@@ -1631,113 +1633,114 @@
(DEFINEQ
(TEDIT.DEACTIVATE.WINDOW
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 16-Oct-2021 18:51 by rmk:")
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 20-Oct-2023 21:46 by rmk")
(* ; "Edited 16-Oct-2021 18:51 by rmk:")
(* ;; "Deactivate the various button fns for this window")
(PROG [(TEXTOBJ (WINDOWPROP W 'TEXTOBJ] (* ;
 "Can't be a call to TEXTOBJ, since window may NOT have a textobj on it.")
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
[COND
((AND TEXTOBJ (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ))
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
(RETURN 'DON'T))
((AND TEXTOBJ (PROCESSP (WINDOWPROP W 'PROCESS))
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
(NOT FORCEFLG)) (* ;
 "This is an un-quit TEdit window. Try to QUIT out of TEdit.")
(COND
((\TEDIT.QUIT W T))
(T
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
(RETURN 'DON'T]
(COND
([AND TEXTOBJ (OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
(NOT (PROCESSP (WINDOWPROP W 'PROCESS]
(* ;
 "Only do this if it's a TEdit window, and has been QUIT out of.")
(CL:WHEN TEXTOBJ
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
[COND
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
NIL NIL) (* ;
 "Before the window is closed, make SURE that the caret is down, or the window will reappear.")
((fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
(RETURN 'DON'T))
((AND (PROCESSP (WINDOWPROP W 'PROCESS))
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
(NOT FORCEFLG)) (* ;
 "This is an un-quit TEdit window. Try to QUIT out of TEdit.")
(COND
((\TEDIT.QUIT W T))
(T
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
(RETURN 'DON'T]
(COND
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
(OPENWP W)
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
(NOT DISCONNECTONLYFLG))
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
([OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
(NOT (PROCESSP (WINDOWPROP W 'PROCESS] (* ;
 "Only do this if it's a TEdit window, and has been QUIT out of.")
[COND
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
NIL NIL) (* ;
 "Before the window is closed, make SURE that the caret is down, or the window will reappear.")
(COND
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
(OPENWP W)
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
(NOT DISCONNECTONLYFLG))
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
(* ;
 "Reset the window's title to a known 'inactive' value")
))
[COND
((NOT DISCONNECTONLYFLG)
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
do
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
))
[COND
((NOT DISCONNECTONLYFLG)
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
do
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
(\TEDIT.UNSPLITW PANE))
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
(COND
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
(\TEDIT.UNSPLITW PANE))
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
(COND
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
(* ;
 "Close the file that this window was open on.")
(COND
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
(COND
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
 "Detach the edit data structures from the window")
(WINDOWPROP W 'TEXTSTREAM NIL)
(WINDOWPROP W 'LINES NIL)
(WINDOWPROP W 'THISLINE NIL)
(WINDOWPROP W 'PROCESS.EXITFN NIL)
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
(WINDOWPROP W 'CURSOROUTFN NIL)
(WINDOWPROP W 'CURSORMOVEDFN NIL)
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
(WINDOWPROP W 'SCROLLFN NIL)
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
(AND (NOT DISCONNECTONLYFLG)
(WINDOWPROP W 'PROCESS)
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
T)) (* ;
(WINDOWPROP W 'TEXTSTREAM NIL)
(WINDOWPROP W 'LINES NIL)
(WINDOWPROP W 'THISLINE NIL)
(WINDOWPROP W 'PROCESS.EXITFN NIL)
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
(WINDOWPROP W 'CURSOROUTFN NIL)
(WINDOWPROP W 'CURSORMOVEDFN NIL)
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
(WINDOWPROP W 'SCROLLFN NIL)
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
(AND (NOT DISCONNECTONLYFLG)
(WINDOWPROP W 'PROCESS)
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
T)) (* ;
 "Make sure any disarmed interrupts are restored.")
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
(WINDOWPROP MENUW 'TEXTOBJ))
do (* ;
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
(WINDOWPROP MENUW 'TEXTOBJ))
do (* ;
 "Detach all the TEDITMENU windows that belong to this window.")
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
(* ; "Mark it finished")
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
 "And mark it no longer a menu window")
(GIVE.TTY.PROCESS MENUW) (* ;
(GIVE.TTY.PROCESS MENUW) (* ;
 "Then give it a chance to kill itself off")
(DISMISS 300))
(COND
((NOT DISCONNECTONLYFLG)
(GIVE.TTY.PROCESS W)
(DISMISS 300)))
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
((LISTP (fetch (TEXTOBJ \WINDOW)
of TEXTOBJ))
(DISMISS 300))
(COND
((NOT DISCONNECTONLYFLG)
(GIVE.TTY.PROCESS W)
(DISMISS 300)))
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
((LISTP (fetch (TEXTOBJ \WINDOW)
of TEXTOBJ))
(* ; "It's a list; remove this window")
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
of TEXTOBJ]
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
of TEXTOBJ]
(* ;
 "Disconnect the window from the edit data structures as well.")
])
)))])
(\TEDIT.REPAINTFN
[LAMBDA (W) (* ; "Edited 30-May-91 23:34 by jds")
@@ -2726,25 +2729,25 @@
(RPAQ? TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS TEDIT.ICON.TITLE.REGION NIL))
))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (7116 90052 (TEDIT.CREATEW 7126 . 9899) (\TEDIT.CREATEW.FROM.REGION 9901 . 10881) (
TEDIT.CURSORMOVEDFN 10883 . 20782) (TEDIT.CURSOROUTFN 20784 . 21327) (TEDIT.WINDOW.SETUP 21329 . 23154
) (TEDIT.MINIMAL.WINDOW.SETUP 23156 . 30934) (\TEDIT.ACTIVE.WINDOWP 30936 . 31929) (
\TEDIT.BUTTONEVENTFN 31931 . 55639) (\TEDIT.WINDOW.OPS 55641 . 58853) (\TEDIT.EXPANDFN 58855 . 59418)
(\TEDIT.MAINW 59420 . 60717) (\TEDIT.PRIMARYW 60719 . 61880) (\TEDIT.COPYINSERTFN 61882 . 62678) (
\TEDIT.NEWREGIONFN 62680 . 65196) (\TEDIT.SET.WINDOW.EXTENT 65198 . 70741) (\TEDIT.SHRINK.ICONCREATE
70743 . 72944) (\TEDIT.SHRINKFN 72946 . 73505) (\TEDIT.SPLITW 73507 . 78972) (\TEDIT.UNSPLITW 78974 .
83830) (\TEDIT.WINDOW.SETUP 83832 . 89655) (\SAFE.FIRST 89657 . 90050)) (91382 92293 (TEDITWINDOWP
91392 . 92291)) (92330 95120 (TEDIT.GETINPUT 92340 . 94400) (\TEDIT.MAKEFILENAME 94402 . 95118)) (
95169 101597 (TEDIT.PROMPTPRINT 95179 . 98114) (TEDIT.PROMPTFLASH 98116 . 100025) (
\TEDIT.PROMPT.PAGEFULLFN 100027 . 101595)) (101832 105804 (TEXTSTREAM.TITLE 101842 . 102467) (
\TEDIT.ORIGINAL.WINDOW.TITLE 102469 . 104391) (\TEDIT.WINDOW.TITLE 104393 . 105047) (
\TEXTSTREAM.FILENAME 105049 . 105802)) (105847 147324 (TEDIT.DEACTIVATE.WINDOW 105857 . 112821) (
\TEDIT.REPAINTFN 112823 . 115671) (\TEDIT.RESHAPEFN 115673 . 120517) (\TEDIT.SCROLLFN 120519 . 147322)
) (147366 149497 (\TEDIT.PROCIDLEFN 147376 . 148671) (\TEDIT.PROCENTRYFN 148673 . 149118) (
\TEDIT.PROCEXITFN 149120 . 149495)) (149576 160542 (\EDIT.DOWNCARET 149586 . 150255) (\EDIT.FLIPCARET
150257 . 151776) (TEDIT.FLASHCARET 151778 . 153059) (\EDIT.UPCARET 153061 . 153486) (
TEDIT.NORMALIZECARET 153488 . 159185) (\SETCARET 159187 . 160115) (\TEDIT.CARET 160117 . 160540)) (
160576 174370 (TEDIT.ADD.MENUITEM 160586 . 162877) (TEDIT.DEFAULT.MENUFN 162879 . 171849) (
TEDIT.REMOVE.MENUITEM 171851 . 172848) (\TEDIT.CREATEMENU 172850 . 173287) (\TEDIT.MENU.WHENHELDFN
173289 . 174055) (\TEDIT.MENU.WHENSELECTEDFN 174057 . 174368)))))
(FILEMAP (NIL (7098 90034 (TEDIT.CREATEW 7108 . 9881) (\TEDIT.CREATEW.FROM.REGION 9883 . 10863) (
TEDIT.CURSORMOVEDFN 10865 . 20764) (TEDIT.CURSOROUTFN 20766 . 21309) (TEDIT.WINDOW.SETUP 21311 . 23136
) (TEDIT.MINIMAL.WINDOW.SETUP 23138 . 30916) (\TEDIT.ACTIVE.WINDOWP 30918 . 31911) (
\TEDIT.BUTTONEVENTFN 31913 . 55621) (\TEDIT.WINDOW.OPS 55623 . 58835) (\TEDIT.EXPANDFN 58837 . 59400)
(\TEDIT.MAINW 59402 . 60699) (\TEDIT.PRIMARYW 60701 . 61862) (\TEDIT.COPYINSERTFN 61864 . 62660) (
\TEDIT.NEWREGIONFN 62662 . 65178) (\TEDIT.SET.WINDOW.EXTENT 65180 . 70723) (\TEDIT.SHRINK.ICONCREATE
70725 . 72926) (\TEDIT.SHRINKFN 72928 . 73487) (\TEDIT.SPLITW 73489 . 78954) (\TEDIT.UNSPLITW 78956 .
83812) (\TEDIT.WINDOW.SETUP 83814 . 89637) (\SAFE.FIRST 89639 . 90032)) (91364 92275 (TEDITWINDOWP
91374 . 92273)) (92312 95102 (TEDIT.GETINPUT 92322 . 94382) (\TEDIT.MAKEFILENAME 94384 . 95100)) (
95151 101579 (TEDIT.PROMPTPRINT 95161 . 98096) (TEDIT.PROMPTFLASH 98098 . 100007) (
\TEDIT.PROMPT.PAGEFULLFN 100009 . 101577)) (101814 105786 (TEXTSTREAM.TITLE 101824 . 102449) (
\TEDIT.ORIGINAL.WINDOW.TITLE 102451 . 104373) (\TEDIT.WINDOW.TITLE 104375 . 105029) (
\TEXTSTREAM.FILENAME 105031 . 105784)) (105829 147611 (TEDIT.DEACTIVATE.WINDOW 105839 . 113108) (
\TEDIT.REPAINTFN 113110 . 115958) (\TEDIT.RESHAPEFN 115960 . 120804) (\TEDIT.SCROLLFN 120806 . 147609)
) (147653 149784 (\TEDIT.PROCIDLEFN 147663 . 148958) (\TEDIT.PROCENTRYFN 148960 . 149405) (
\TEDIT.PROCEXITFN 149407 . 149782)) (149863 160829 (\EDIT.DOWNCARET 149873 . 150542) (\EDIT.FLIPCARET
150544 . 152063) (TEDIT.FLASHCARET 152065 . 153346) (\EDIT.UPCARET 153348 . 153773) (
TEDIT.NORMALIZECARET 153775 . 159472) (\SETCARET 159474 . 160402) (\TEDIT.CARET 160404 . 160827)) (
160863 174657 (TEDIT.ADD.MENUITEM 160873 . 163164) (TEDIT.DEFAULT.MENUFN 163166 . 172136) (
TEDIT.REMOVE.MENUITEM 172138 . 173135) (\TEDIT.CREATEMENU 173137 . 173574) (\TEDIT.MENU.WHENHELDFN
173576 . 174342) (\TEDIT.MENU.WHENSELECTEDFN 174344 . 174655)))))
STOP

Binary file not shown.

View File

@@ -0,0 +1,625 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 6-Jul-2023 08:52:09" {WMEDLEY}<library>virtualkeyboards>DANDELIONKEYBOARDS.;3 33795
:EDIT-BY rmk
:CHANGES-TO (VARS DANDELIONKEYBOARDSCOMS)
:PREVIOUS-DATE " 4-Jul-2023 23:18:05" {WMEDLEY}<library>virtualkeyboards>DANDELIONKEYBOARDS.;2
)
(PRETTYCOMPRINT DANDELIONKEYBOARDSCOMS)
(RPAQQ DANDELIONKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DANDELION))))
(ADDTOVAR VKBD.LOADED-KEYBOARDS
(DANDELION (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
(101 (52 196 NOLOCKSHIFT))
(102 (54 198 NOLOCKSHIFT))
(103 (61887 61759 LOCKSHIFT))
(104 (55 199 NOLOCKSHIFT))
(105 (61888 61760 LOCKSHIFT))
(106 (61872 61744 LOCKSHIFT))
(107 (61860 61732 LOCKSHIFT))
(108 (48 126 NOLOCKSHIFT))
(109 (61892 61764 LOCKSHIFT))
(110 (203 207 NOLOCKSHIFT))
(111 (61919 61791 LOCKSHIFT))
(112 (47 191 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 195 NOLOCKSHIFT))
(117 (50 194 NOLOCKSHIFT))
(118 (61873 61745 LOCKSHIFT))
(119 (61858 61730 LOCKSHIFT))
(120 (61874 61746 LOCKSHIFT))
(121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT))
(123 (61886 61758 LOCKSHIFT))
(124 (61864 61736 LOCKSHIFT))
(125 (61903 61775 LOCKSHIFT))
(126 (61908 61780 LOCKSHIFT))
(127 (241 225 LOCKSHIFT))
(128 (187 170 LOCKSHIFT))
(129 (249 233 LOCKSHIFT))
(132 (49 193 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61905 61777 LOCKSHIFT))
(137 (61869 61741 LOCKSHIFT))
(138 (61877 61749 LOCKSHIFT))
(139 (61906 61778 LOCKSHIFT))
(140 (251 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (250 234 LOCKSHIFT))
(143 (59 58 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (171 186 LOCKSHIFT))
(148 (61904 61776 LOCKSHIFT))
(149 (61920 61792 LOCKSHIFT))
(150 (61921 61793 LOCKSHIFT))
(151 (61857 61729 LOCKSHIFT))
(152 (61863 61735 LOCKSHIFT))
(153 (56 200 NOLOCKSHIFT))
(154 (61900 61772 LOCKSHIFT))
(155 (239 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (246 230 LOCKSHIFT))
(159 (207 176 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(logic ((100 (53 37 NOLOCKSHIFT))
(101 (52 164 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61258 61260 NOLOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (61292 61293 NOLOCKSHIFT))
(106 (61271 61270 NOLOCKSHIFT))
(107 (61284 61285 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61307 61306 NOLOCKSHIFT))
(110 (45 177 NOLOCKSHIFT))
(111 (61269 61268 LOCKSHIFT))
(112 (172 174 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61240 61241 NOLOCKSHIFT))
(119 (61234 61235 NOLOCKSHIFT))
(120 (61266 61262 NOLOCKSHIFT))
(121 (61365 61365 NOLOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (61275 61274 NOLOCKSHIFT))
(124 (61300 61299 NOLOCKSHIFT))
(125 (61273 61272 NOLOCKSHIFT))
(126 (61282 61283 NOLOCKSHIFT))
(127 (61256 61257 NOLOCKSHIFT))
(128 (61356 61356 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61250 61251 NOLOCKSHIFT))
(137 (61298 61297 NOLOCKSHIFT))
(138 (61305 61303 NOLOCKSHIFT))
(139 (61265 61264 NOLOCKSHIFT))
(140 (61364 61364 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61281 233 NOLOCKSHIFT))
(143 (61351 61351 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (61357 61357 NOLOCKSHIFT))
(148 (61279 61278 NOLOCKSHIFT))
(149 (61239 61238 NOLOCKSHIFT))
(150 (61290 61290 NOLOCKSHIFT))
(151 (61263 61261 NOLOCKSHIFT))
(152 (61295 61295 NOLOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61252 61253 NOLOCKSHIFT))
(155 (61254 61255 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(MATH ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61284 61285 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (174 61245 NOLOCKSHIFT))
(107 (61369 61363 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61254 61255 NOLOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (173 61246 LOCKSHIFT))
(112 (47 61300 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61282 61283 LOCKSHIFT))
(119 (61287 61286 NOLOCKSHIFT))
(120 (61301 61302 NOLOCKSHIFT))
(121 (61351 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (175 61247 LOCKSHIFT))
(124 (180 184 LOCKSHIFT))
(125 (172 61244 LOCKSHIFT))
(126 (61256 61257 LOCKSHIFT))
(127 (44 61250 NOLOCKSHIFT))
(128 (61298 61253 NOLOCKSHIFT))
(129 (93 61265 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (61356 61362 LOCKSHIFT))
(138 (61254 61291 NOLOCKSHIFT))
(139 (98 61360 NOLOCKSHIFT))
(140 (61309 177 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 61251 NOLOCKSHIFT))
(143 (61299 61252 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (61358 82 LOCKSHIFT))
(149 (61296 61266 NOLOCKSHIFT))
(150 (61305 61303 NOLOCKSHIFT))
(151 (61308 61267 LOCKSHIFT))
(152 (61288 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61357 61361 NOLOCKSHIFT))
(155 (61292 61293 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 61264 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
(101 (61396 61380 NOLOCKSHIFT))
(102 (61398 61382 NOLOCKSHIFT))
(103 (8557 8554 NOLOCKSHIFT))
(104 (61399 61383 NOLOCKSHIFT))
(105 (61232 8743 NOLOCKSHIFT))
(106 (61346 8571 NOLOCKSHIFT))
(107 (188 86 NOLOCKSHIFT))
(108 (61402 61386 NOLOCKSHIFT))
(109 (210 8738 NOLOCKSHIFT))
(110 (61437 61438 NOLOCKSHIFT))
(111 (163 8558 NOLOCKSHIFT))
(112 (61248 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (61395 61379 NOLOCKSHIFT))
(117 (61394 61378 NOLOCKSHIFT))
(118 (185 8553 NOLOCKSHIFT))
(119 (176 8546 NOLOCKSHIFT))
(120 (167 8744 NOLOCKSHIFT))
(121 (97 8745 NOLOCKSHIFT))
(122 (61401 61385 NOLOCKSHIFT))
(123 (162 8570 NOLOCKSHIFT))
(124 (61437 88 NOLOCKSHIFT))
(125 (111 8569 NOLOCKSHIFT))
(126 (61289 8737 NOLOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (61393 61377 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61233 8742 NOLOCKSHIFT))
(137 (61438 67 NOLOCKSHIFT))
(138 (8739 74 NOLOCKSHIFT))
(139 (190 61436 NOLOCKSHIFT))
(140 (189 90 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61249 62 NOLOCKSHIFT))
(143 (61352 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 61280 NOLOCKSHIFT))
(148 (212 8574 NOLOCKSHIFT))
(149 (61354 8573 NOLOCKSHIFT))
(150 (61286 8741 NOLOCKSHIFT))
(151 (165 8572 NOLOCKSHIFT))
(152 (61368 8740 NOLOCKSHIFT))
(153 (61400 61384 NOLOCKSHIFT))
(154 (173 175 NOLOCKSHIFT))
(155 (172 174 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61406 61368 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(DVORAK ((100 (49 42 NOLOCKSHIFT))
(101 (51 41 NOLOCKSHIFT))
(102 (57 37 NOLOCKSHIFT))
(103 (46 62 NOLOCKSHIFT))
(104 (48 38 NOLOCKSHIFT))
(105 (101 69 LOCKSHIFT))
(106 (103 71 LOCKSHIFT))
(107 (107 75 LOCKSHIFT))
(108 (54 45 NOLOCKSHIFT))
(109 (116 84 LOCKSHIFT))
(110 (56 95 NOLOCKSHIFT))
(111 (108 76 LOCKSHIFT))
(112 (122 90 LOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (53 40 NOLOCKSHIFT))
(117 (55 35 NOLOCKSHIFT))
(118 (44 60 NOLOCKSHIFT))
(119 (63 47 NOLOCKSHIFT))
(120 (111 79 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (52 164 NOLOCKSHIFT))
(123 (99 67 LOCKSHIFT))
(124 (113 81 LOCKSHIFT))
(125 (114 82 LOCKSHIFT))
(126 (110 78 LOCKSHIFT))
(127 (119 87 LOCKSHIFT))
(128 (44 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (33 64 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (117 85 LOCKSHIFT))
(137 (106 74 LOCKSHIFT))
(138 (104 72 LOCKSHIFT))
(139 (120 88 LOCKSHIFT))
(140 (59 58 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (118 86 LOCKSHIFT))
(143 (115 83 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (169 170 NOLOCKSHIFT))
(148 (112 80 LOCKSHIFT))
(149 (121 89 LOCKSHIFT))
(150 (105 73 LOCKSHIFT))
(151 (102 70 LOCKSHIFT))
(152 (100 68 LOCKSHIFT))
(153 (50 162 NOLOCKSHIFT))
(154 (98 66 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(GREEK ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (9830 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (9829 9797 LOCKSHIFT))
(106 (9849 9817 LOCKSHIFT))
(107 (115 9814 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (9837 9805 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (9843 9811 LOCKSHIFT))
(112 (47 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (9853 9821 LOCKSHIFT))
(119 (9835 9803 LOCKSHIFT))
(120 (9846 9814 LOCKSHIFT))
(121 (9825 9793 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (9836 9804 LOCKSHIFT))
(124 (9851 9819 LOCKSHIFT))
(125 (9842 9810 LOCKSHIFT))
(126 (9838 9806 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (9850 9818 LOCKSHIFT))
(137 (9841 9809 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (9826 66 LOCKSHIFT))
(140 (9833 9801 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (9845 9813 LOCKSHIFT))
(149 (9848 9816 LOCKSHIFT))
(150 (9828 9796 LOCKSHIFT))
(151 (9852 9820 LOCKSHIFT))
(152 (9834 9802 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (9840 9808 LOCKSHIFT))
(155 (9839 9807 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(ITALIAN ((100 (53 61903 NOLOCKSHIFT))
(101 (52 61886 NOLOCKSHIFT))
(102 (54 61919 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 61872 NOLOCKSHIFT))
(117 (50 61858 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (39 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 170 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(SPANISH ((100 (53 61904 NOLOCKSHIFT))
(101 (52 61887 NOLOCKSHIFT))
(102 (54 61920 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 61873 NOLOCKSHIFT))
(117 (50 61858 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (59 58 NOLOCKSHIFT))
(129 (203 187 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (61900 61772 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (161 191 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61925 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (44 171 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(FRENCH ((100 (53 61905 NOLOCKSHIFT))
(101 (52 61888 NOLOCKSHIFT))
(102 (54 61921 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 61874 NOLOCKSHIFT))
(117 (50 61859 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (39 61857 NOLOCKSHIFT))
(129 (61872 61892 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (61869 61741 LOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61919 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61873 61877 LOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(GERMAN ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (251 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (61863 61735 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61908 61780 LOCKSHIFT))
(159 (61925 61797 LOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)
(STANDARD-RUSSIAN ((100 (34 52 NOLOCKSHIFT))
(101 (47 51 NOLOCKSHIFT))
(102 (58 53 NOLOCKSHIFT))
(103 (10085 10037 LOCKSHIFT))
(104 (44 54 NOLOCKSHIFT))
(105 (10067 10019 LOCKSHIFT))
(106 (10068 10020 LOCKSHIFT))
(107 (10078 10030 LOCKSHIFT))
(108 (63 57 NOLOCKSHIFT))
(109 (10077 10029 LOCKSHIFT))
(110 (37 48 NOLOCKSHIFT))
(111 (10073 10025 LOCKSHIFT))
(112 (10071 10023 LOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (45 50 NOLOCKSHIFT))
(117 (61352 49 NOLOCKSHIFT))
(118 (10088 10040 LOCKSHIFT))
(119 (10075 10027 LOCKSHIFT))
(120 (10093 10045 LOCKSHIFT))
(121 (10086 10038 LOCKSHIFT))
(122 (95 56 NOLOCKSHIFT))
(123 (10090 10042 LOCKSHIFT))
(124 (10089 10041 LOCKSHIFT))
(125 (10091 10043 LOCKSHIFT))
(126 (10069 10021 LOCKSHIFT))
(127 (10066 10018 LOCKSHIFT))
(128 (10095 10047 LOCKSHIFT))
(129 (10092 10044 LOCKSHIFT))
(132 (167 43 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (10065 10017 LOCKSHIFT))
(137 (10083 10035 LOCKSHIFT))
(138 (10080 10032 LOCKSHIFT))
(139 (10074 10026 LOCKSHIFT))
(140 (10097 10049 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (10096 10048 LOCKSHIFT))
(143 (10072 10024 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (41 40 NOLOCKSHIFT))
(148 (10076 10028 LOCKSHIFT))
(149 (10070 10022 LOCKSHIFT))
(150 (10081 10033 LOCKSHIFT))
(151 (10079 10031 LOCKSHIFT))
(152 (10082 10034 LOCKSHIFT))
(153 (46 55 NOLOCKSHIFT))
(154 (10084 10036 LOCKSHIFT))
(155 (10094 10046 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (10087 10039 LOCKSHIFT))
(159 (33 61 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DANDELION)))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
STOP

View File

@@ -0,0 +1,624 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 6-Jul-2023 08:52:15" {WMEDLEY}<library>virtualkeyboards>DORADOKEYBOARDS.;4 33578
:EDIT-BY rmk
:CHANGES-TO (VARS DORADOKEYBOARDSCOMS)
:PREVIOUS-DATE " 4-Jul-2023 23:15:23" {WMEDLEY}<library>virtualkeyboards>DORADOKEYBOARDS.;2)
(PRETTYCOMPRINT DORADOKEYBOARDSCOMS)
(RPAQQ DORADOKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DORADO))))
(ADDTOVAR VKBD.LOADED-KEYBOARDS
(DORADO (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
(101 (52 196 NOLOCKSHIFT))
(102 (54 198 NOLOCKSHIFT))
(103 (61887 61759 LOCKSHIFT))
(104 (55 199 NOLOCKSHIFT))
(105 (61888 61760 LOCKSHIFT))
(106 (61872 61744 LOCKSHIFT))
(107 (61860 61732 LOCKSHIFT))
(108 (48 126 NOLOCKSHIFT))
(109 (61892 61764 LOCKSHIFT))
(110 (203 207 NOLOCKSHIFT))
(111 (61919 61791 LOCKSHIFT))
(112 (47 191 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 195 NOLOCKSHIFT))
(117 (50 194 NOLOCKSHIFT))
(118 (61873 61745 LOCKSHIFT))
(119 (61858 61730 LOCKSHIFT))
(120 (61874 61746 LOCKSHIFT))
(121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT))
(123 (61886 61758 LOCKSHIFT))
(124 (61864 61736 LOCKSHIFT))
(125 (61903 61775 LOCKSHIFT))
(126 (61908 61780 LOCKSHIFT))
(127 (241 225 LOCKSHIFT))
(128 (187 170 LOCKSHIFT))
(129 (249 233 LOCKSHIFT))
(132 (49 193 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61905 61777 LOCKSHIFT))
(137 (61869 61741 LOCKSHIFT))
(138 (61877 61749 LOCKSHIFT))
(139 (61906 61778 LOCKSHIFT))
(140 (251 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (250 234 LOCKSHIFT))
(143 (59 58 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (171 186 LOCKSHIFT))
(148 (61904 61776 LOCKSHIFT))
(149 (61920 61792 LOCKSHIFT))
(150 (61921 61793 LOCKSHIFT))
(151 (61857 61729 LOCKSHIFT))
(152 (61863 61735 LOCKSHIFT))
(153 (56 200 NOLOCKSHIFT))
(154 (61900 61772 LOCKSHIFT))
(155 (239 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (246 230 LOCKSHIFT))
(159 (207 176 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(logic ((100 (53 37 NOLOCKSHIFT))
(101 (52 164 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61258 61260 NOLOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (61292 61293 NOLOCKSHIFT))
(106 (61271 61270 NOLOCKSHIFT))
(107 (61284 61285 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61307 61306 NOLOCKSHIFT))
(110 (45 177 NOLOCKSHIFT))
(111 (61269 61268 LOCKSHIFT))
(112 (172 174 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61240 61241 NOLOCKSHIFT))
(119 (61234 61235 NOLOCKSHIFT))
(120 (61266 61262 NOLOCKSHIFT))
(121 (61365 61365 NOLOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (61275 61274 NOLOCKSHIFT))
(124 (61300 61299 NOLOCKSHIFT))
(125 (61273 61272 NOLOCKSHIFT))
(126 (61282 61283 NOLOCKSHIFT))
(127 (61256 61257 NOLOCKSHIFT))
(128 (61356 61356 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61250 61251 NOLOCKSHIFT))
(137 (61298 61297 NOLOCKSHIFT))
(138 (61305 61303 NOLOCKSHIFT))
(139 (61265 61264 NOLOCKSHIFT))
(140 (61364 61364 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61281 233 NOLOCKSHIFT))
(143 (61351 61351 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (61357 61357 NOLOCKSHIFT))
(148 (61279 61278 NOLOCKSHIFT))
(149 (61239 61238 NOLOCKSHIFT))
(150 (61290 61290 NOLOCKSHIFT))
(151 (61263 61261 NOLOCKSHIFT))
(152 (61295 61295 NOLOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61252 61253 NOLOCKSHIFT))
(155 (61254 61255 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(MATH ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61284 61285 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (174 61245 NOLOCKSHIFT))
(107 (61369 61363 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61254 61255 NOLOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (173 61246 LOCKSHIFT))
(112 (47 61300 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61282 61283 LOCKSHIFT))
(119 (61287 61286 NOLOCKSHIFT))
(120 (61301 61302 NOLOCKSHIFT))
(121 (61351 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (175 61247 LOCKSHIFT))
(124 (180 184 LOCKSHIFT))
(125 (172 61244 LOCKSHIFT))
(126 (61256 61257 LOCKSHIFT))
(127 (44 61250 NOLOCKSHIFT))
(128 (61298 61253 NOLOCKSHIFT))
(129 (93 61265 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (61356 61362 LOCKSHIFT))
(138 (61254 61291 NOLOCKSHIFT))
(139 (98 61360 NOLOCKSHIFT))
(140 (61309 177 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 61251 NOLOCKSHIFT))
(143 (61299 61252 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (61358 82 LOCKSHIFT))
(149 (61296 61266 NOLOCKSHIFT))
(150 (61305 61303 NOLOCKSHIFT))
(151 (61308 61267 LOCKSHIFT))
(152 (61288 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61357 61361 NOLOCKSHIFT))
(155 (61292 61293 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 61264 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
(101 (61396 61380 NOLOCKSHIFT))
(102 (61398 61382 NOLOCKSHIFT))
(103 (8557 8554 NOLOCKSHIFT))
(104 (61399 61383 NOLOCKSHIFT))
(105 (61232 8743 NOLOCKSHIFT))
(106 (61346 8571 NOLOCKSHIFT))
(107 (188 86 NOLOCKSHIFT))
(108 (61402 61386 NOLOCKSHIFT))
(109 (210 8738 NOLOCKSHIFT))
(110 (61437 61438 NOLOCKSHIFT))
(111 (163 8558 NOLOCKSHIFT))
(112 (61248 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (61395 61379 NOLOCKSHIFT))
(117 (61394 61378 NOLOCKSHIFT))
(118 (185 8553 NOLOCKSHIFT))
(119 (176 8546 NOLOCKSHIFT))
(120 (167 8744 NOLOCKSHIFT))
(121 (97 8745 NOLOCKSHIFT))
(122 (61401 61385 NOLOCKSHIFT))
(123 (162 8570 NOLOCKSHIFT))
(124 (61437 88 NOLOCKSHIFT))
(125 (111 8569 NOLOCKSHIFT))
(126 (61289 8737 NOLOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (61393 61377 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61233 8742 NOLOCKSHIFT))
(137 (61438 67 NOLOCKSHIFT))
(138 (8739 74 NOLOCKSHIFT))
(139 (190 61436 NOLOCKSHIFT))
(140 (189 90 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61249 62 NOLOCKSHIFT))
(143 (61352 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 61280 NOLOCKSHIFT))
(148 (212 8574 NOLOCKSHIFT))
(149 (61354 8573 NOLOCKSHIFT))
(150 (61286 8741 NOLOCKSHIFT))
(151 (165 8572 NOLOCKSHIFT))
(152 (61368 8740 NOLOCKSHIFT))
(153 (61400 61384 NOLOCKSHIFT))
(154 (173 175 NOLOCKSHIFT))
(155 (172 174 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61406 61368 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(DVORAK ((100 (49 42 NOLOCKSHIFT))
(101 (51 41 NOLOCKSHIFT))
(102 (57 37 NOLOCKSHIFT))
(103 (46 62 NOLOCKSHIFT))
(104 (48 38 NOLOCKSHIFT))
(105 (101 69 LOCKSHIFT))
(106 (103 71 LOCKSHIFT))
(107 (107 75 LOCKSHIFT))
(108 (54 45 NOLOCKSHIFT))
(109 (116 84 LOCKSHIFT))
(110 (56 95 NOLOCKSHIFT))
(111 (108 76 LOCKSHIFT))
(112 (122 90 LOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (53 40 NOLOCKSHIFT))
(117 (55 35 NOLOCKSHIFT))
(118 (44 60 NOLOCKSHIFT))
(119 (63 47 NOLOCKSHIFT))
(120 (111 79 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (52 164 NOLOCKSHIFT))
(123 (99 67 LOCKSHIFT))
(124 (113 81 LOCKSHIFT))
(125 (114 82 LOCKSHIFT))
(126 (110 78 LOCKSHIFT))
(127 (119 87 LOCKSHIFT))
(128 (44 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (33 64 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (117 85 LOCKSHIFT))
(137 (106 74 LOCKSHIFT))
(138 (104 72 LOCKSHIFT))
(139 (120 88 LOCKSHIFT))
(140 (59 58 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (118 86 LOCKSHIFT))
(143 (115 83 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (169 170 NOLOCKSHIFT))
(148 (112 80 LOCKSHIFT))
(149 (121 89 LOCKSHIFT))
(150 (105 73 LOCKSHIFT))
(151 (102 70 LOCKSHIFT))
(152 (100 68 LOCKSHIFT))
(153 (50 162 NOLOCKSHIFT))
(154 (98 66 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(GREEK ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (9830 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (9829 9797 LOCKSHIFT))
(106 (9849 9817 LOCKSHIFT))
(107 (115 9814 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (9837 9805 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (9843 9811 LOCKSHIFT))
(112 (47 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (9853 9821 LOCKSHIFT))
(119 (9835 9803 LOCKSHIFT))
(120 (9846 9814 LOCKSHIFT))
(121 (9825 9793 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (9836 9804 LOCKSHIFT))
(124 (9851 9819 LOCKSHIFT))
(125 (9842 9810 LOCKSHIFT))
(126 (9838 9806 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (9850 9818 LOCKSHIFT))
(137 (9841 9809 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (9826 66 LOCKSHIFT))
(140 (9833 9801 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (9845 9813 LOCKSHIFT))
(149 (9848 9816 LOCKSHIFT))
(150 (9828 9796 LOCKSHIFT))
(151 (9852 9820 LOCKSHIFT))
(152 (9834 9802 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (9840 9808 LOCKSHIFT))
(155 (9839 9807 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(ITALIAN ((100 (53 61903 NOLOCKSHIFT))
(101 (52 61886 NOLOCKSHIFT))
(102 (54 61919 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 61872 NOLOCKSHIFT))
(117 (50 61858 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (39 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 170 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(SPANISH ((100 (53 61904 NOLOCKSHIFT))
(101 (52 61887 NOLOCKSHIFT))
(102 (54 61920 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 61873 NOLOCKSHIFT))
(117 (50 61858 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (59 58 NOLOCKSHIFT))
(129 (203 187 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (61900 61772 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (161 191 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61925 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (44 171 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(FRENCH ((100 (53 61905 NOLOCKSHIFT))
(101 (52 61888 NOLOCKSHIFT))
(102 (54 61921 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (204 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 61874 NOLOCKSHIFT))
(117 (50 61859 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(128 (39 61857 NOLOCKSHIFT))
(129 (61872 61892 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (61869 61741 LOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61919 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61873 61877 LOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(GERMAN ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (251 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(128 (39 34 NOLOCKSHIFT))
(129 (61863 61735 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (95 94 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61908 61780 LOCKSHIFT))
(159 (61925 61797 LOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)
(STANDARD-RUSSIAN ((100 (34 52 NOLOCKSHIFT))
(101 (47 51 NOLOCKSHIFT))
(102 (58 53 NOLOCKSHIFT))
(103 (10085 10037 LOCKSHIFT))
(104 (44 54 NOLOCKSHIFT))
(105 (10067 10019 LOCKSHIFT))
(106 (10068 10020 LOCKSHIFT))
(107 (10078 10030 LOCKSHIFT))
(108 (63 57 NOLOCKSHIFT))
(109 (10077 10029 LOCKSHIFT))
(110 (37 48 NOLOCKSHIFT))
(111 (10073 10025 LOCKSHIFT))
(112 (10071 10023 LOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (45 50 NOLOCKSHIFT))
(117 (61352 49 NOLOCKSHIFT))
(118 (10088 10040 LOCKSHIFT))
(119 (10075 10027 LOCKSHIFT))
(120 (10093 10045 LOCKSHIFT))
(121 (10086 10038 LOCKSHIFT))
(122 (95 56 NOLOCKSHIFT))
(123 (10090 10042 LOCKSHIFT))
(124 (10089 10041 LOCKSHIFT))
(125 (10091 10043 LOCKSHIFT))
(126 (10069 10021 LOCKSHIFT))
(127 (10066 10018 LOCKSHIFT))
(128 (10095 10047 LOCKSHIFT))
(129 (10092 10044 LOCKSHIFT))
(132 (167 43 NOLOCKSHIFT))
(133 (92 124 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (10065 10017 LOCKSHIFT))
(137 (10083 10035 LOCKSHIFT))
(138 (10080 10032 LOCKSHIFT))
(139 (10074 10026 LOCKSHIFT))
(140 (10097 10049 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (10096 10048 LOCKSHIFT))
(143 (10072 10024 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(145 (41 40 NOLOCKSHIFT))
(148 (10076 10028 LOCKSHIFT))
(149 (10070 10022 LOCKSHIFT))
(150 (10081 10033 LOCKSHIFT))
(151 (10079 10031 LOCKSHIFT))
(152 (10082 10034 LOCKSHIFT))
(153 (46 55 NOLOCKSHIFT))
(154 (10084 10036 LOCKSHIFT))
(155 (10094 10046 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (10087 10039 LOCKSHIFT))
(159 (33 61 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DORADO)))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
STOP

View File

@@ -0,0 +1,631 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 6-Jul-2023 08:52:04" {WMEDLEY}<library>virtualkeyboards>DOVEKEYBOARDS.;3 33268
:EDIT-BY rmk
:CHANGES-TO (VARS DOVEKEYBOARDSCOMS)
:PREVIOUS-DATE " 4-Jul-2023 23:19:33" {WMEDLEY}<library>virtualkeyboards>DOVEKEYBOARDS.;2)
(PRETTYCOMPRINT DOVEKEYBOARDSCOMS)
(RPAQQ DOVEKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DOVE))))
(ADDTOVAR VKBD.LOADED-KEYBOARDS
(DOVE (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
(101 (52 196 NOLOCKSHIFT))
(102 (54 198 NOLOCKSHIFT))
(103 (61887 61759 LOCKSHIFT))
(104 (55 199 NOLOCKSHIFT))
(105 (61888 61760 LOCKSHIFT))
(106 (61872 61744 LOCKSHIFT))
(107 (61860 61732 LOCKSHIFT))
(108 (48 126 NOLOCKSHIFT))
(109 (61892 61764 LOCKSHIFT))
(110 (203 207 NOLOCKSHIFT))
(111 (61919 61791 LOCKSHIFT))
(112 (47 191 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 195 NOLOCKSHIFT))
(117 (50 194 NOLOCKSHIFT))
(118 (61873 61745 LOCKSHIFT))
(119 (61858 61730 LOCKSHIFT))
(120 (61874 61746 LOCKSHIFT))
(121 (61859 61731 LOCKSHIFT))
(122 (57 202 NOLOCKSHIFT))
(123 (61886 61758 LOCKSHIFT))
(124 (61864 61736 LOCKSHIFT))
(125 (61903 61775 LOCKSHIFT))
(126 (61908 61780 LOCKSHIFT))
(127 (241 225 LOCKSHIFT))
(171 (187 170 LOCKSHIFT))
(129 (249 233 LOCKSHIFT))
(132 (49 193 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61905 61777 LOCKSHIFT))
(137 (61869 61741 LOCKSHIFT))
(138 (61877 61749 LOCKSHIFT))
(139 (61906 61778 LOCKSHIFT))
(140 (251 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (250 234 LOCKSHIFT))
(143 (59 58 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (171 186 LOCKSHIFT))
(148 (61904 61776 LOCKSHIFT))
(149 (61920 61792 LOCKSHIFT))
(150 (61921 61793 LOCKSHIFT))
(151 (61857 61729 LOCKSHIFT))
(152 (61863 61735 LOCKSHIFT))
(153 (56 200 NOLOCKSHIFT))
(154 (61900 61772 LOCKSHIFT))
(155 (239 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (246 230 LOCKSHIFT))
(159 (207 176 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(logic ((100 (53 37 NOLOCKSHIFT))
(101 (52 164 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61258 61260 NOLOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (61292 61293 NOLOCKSHIFT))
(106 (61271 61270 NOLOCKSHIFT))
(107 (61284 61285 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61307 61306 NOLOCKSHIFT))
(110 (45 177 NOLOCKSHIFT))
(111 (61269 61268 LOCKSHIFT))
(112 (172 174 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61240 61241 NOLOCKSHIFT))
(119 (61234 61235 NOLOCKSHIFT))
(120 (61266 61262 NOLOCKSHIFT))
(121 (61365 61365 NOLOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (61275 61274 NOLOCKSHIFT))
(124 (61300 61299 NOLOCKSHIFT))
(125 (61273 61272 NOLOCKSHIFT))
(126 (61282 61283 NOLOCKSHIFT))
(127 (61256 61257 NOLOCKSHIFT))
(171 (61356 61356 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61250 61251 NOLOCKSHIFT))
(137 (61298 61297 NOLOCKSHIFT))
(138 (61305 61303 NOLOCKSHIFT))
(139 (61265 61264 NOLOCKSHIFT))
(140 (61364 61364 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61281 233 NOLOCKSHIFT))
(143 (61351 61351 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (61357 61357 NOLOCKSHIFT))
(148 (61279 61278 NOLOCKSHIFT))
(149 (61239 61238 NOLOCKSHIFT))
(150 (61290 61290 NOLOCKSHIFT))
(151 (61263 61261 NOLOCKSHIFT))
(152 (61295 61295 NOLOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61252 61253 NOLOCKSHIFT))
(155 (61254 61255 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(MATH ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (61284 61285 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (174 61245 NOLOCKSHIFT))
(107 (61369 61363 NOLOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (61254 61255 NOLOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (173 61246 LOCKSHIFT))
(112 (47 61300 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (61282 61283 LOCKSHIFT))
(119 (61287 61286 NOLOCKSHIFT))
(120 (61301 61302 NOLOCKSHIFT))
(121 (61351 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (175 61247 LOCKSHIFT))
(124 (180 184 LOCKSHIFT))
(125 (172 61244 LOCKSHIFT))
(126 (61256 61257 LOCKSHIFT))
(127 (44 61250 NOLOCKSHIFT))
(171 (61298 61253 NOLOCKSHIFT))
(129 (93 61265 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (61356 61362 LOCKSHIFT))
(138 (61254 61291 NOLOCKSHIFT))
(139 (98 61360 NOLOCKSHIFT))
(140 (61309 177 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 61251 NOLOCKSHIFT))
(143 (61299 61252 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (95 94 NOLOCKSHIFT))
(148 (61358 82 LOCKSHIFT))
(149 (61296 61266 NOLOCKSHIFT))
(150 (61305 61303 NOLOCKSHIFT))
(151 (61308 61267 LOCKSHIFT))
(152 (61288 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (61357 61361 NOLOCKSHIFT))
(155 (61292 61293 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 61264 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
(101 (61396 61380 NOLOCKSHIFT))
(102 (61398 61382 NOLOCKSHIFT))
(103 (8557 8554 NOLOCKSHIFT))
(104 (61399 61383 NOLOCKSHIFT))
(105 (61232 8743 NOLOCKSHIFT))
(106 (61346 8571 NOLOCKSHIFT))
(107 (188 86 NOLOCKSHIFT))
(108 (61402 61386 NOLOCKSHIFT))
(109 (210 8738 NOLOCKSHIFT))
(110 (61437 61438 NOLOCKSHIFT))
(111 (163 8558 NOLOCKSHIFT))
(112 (61248 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (61395 61379 NOLOCKSHIFT))
(117 (61394 61378 NOLOCKSHIFT))
(118 (185 8553 NOLOCKSHIFT))
(119 (176 8546 NOLOCKSHIFT))
(120 (167 8744 NOLOCKSHIFT))
(121 (97 8745 NOLOCKSHIFT))
(122 (61401 61385 NOLOCKSHIFT))
(123 (162 8570 NOLOCKSHIFT))
(124 (61437 88 NOLOCKSHIFT))
(125 (111 8569 NOLOCKSHIFT))
(126 (61289 8737 NOLOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(171 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (61393 61377 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (61233 8742 NOLOCKSHIFT))
(137 (61438 67 NOLOCKSHIFT))
(138 (8739 74 NOLOCKSHIFT))
(139 (190 61436 NOLOCKSHIFT))
(140 (189 90 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (61249 62 NOLOCKSHIFT))
(143 (61352 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (95 61280 NOLOCKSHIFT))
(148 (212 8574 NOLOCKSHIFT))
(149 (61354 8573 NOLOCKSHIFT))
(150 (61286 8741 NOLOCKSHIFT))
(151 (165 8572 NOLOCKSHIFT))
(152 (61368 8740 NOLOCKSHIFT))
(153 (61400 61384 NOLOCKSHIFT))
(154 (173 175 NOLOCKSHIFT))
(155 (172 174 NOLOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61406 61368 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(DVORAK ((100 (49 42 NOLOCKSHIFT))
(101 (51 41 NOLOCKSHIFT))
(102 (57 37 NOLOCKSHIFT))
(103 (46 62 NOLOCKSHIFT))
(104 (48 38 NOLOCKSHIFT))
(105 (101 69 LOCKSHIFT))
(106 (103 71 LOCKSHIFT))
(107 (107 75 LOCKSHIFT))
(108 (54 45 NOLOCKSHIFT))
(109 (116 84 LOCKSHIFT))
(110 (56 95 NOLOCKSHIFT))
(111 (108 76 LOCKSHIFT))
(112 (122 90 LOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (53 40 NOLOCKSHIFT))
(117 (55 35 NOLOCKSHIFT))
(118 (44 60 NOLOCKSHIFT))
(119 (63 47 NOLOCKSHIFT))
(120 (111 79 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (52 164 NOLOCKSHIFT))
(123 (99 67 LOCKSHIFT))
(124 (113 81 LOCKSHIFT))
(125 (114 82 LOCKSHIFT))
(126 (110 78 LOCKSHIFT))
(127 (119 87 LOCKSHIFT))
(171 (44 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (33 64 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (117 85 LOCKSHIFT))
(137 (106 74 LOCKSHIFT))
(138 (104 72 LOCKSHIFT))
(139 (120 88 LOCKSHIFT))
(140 (59 58 NOLOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (118 86 LOCKSHIFT))
(143 (115 83 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (169 170 NOLOCKSHIFT))
(148 (112 80 LOCKSHIFT))
(149 (121 89 LOCKSHIFT))
(150 (105 73 LOCKSHIFT))
(151 (102 70 LOCKSHIFT))
(152 (100 68 LOCKSHIFT))
(153 (50 162 NOLOCKSHIFT))
(154 (98 66 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(GREEK ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (9830 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (9829 9797 LOCKSHIFT))
(106 (9849 9817 LOCKSHIFT))
(107 (115 9814 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (9837 9805 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (9843 9811 LOCKSHIFT))
(112 (47 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (9853 9821 LOCKSHIFT))
(119 (9835 9803 LOCKSHIFT))
(120 (9846 9814 LOCKSHIFT))
(121 (9825 9793 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (9836 9804 LOCKSHIFT))
(124 (9851 9819 LOCKSHIFT))
(125 (9842 9810 LOCKSHIFT))
(126 (9838 9806 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(171 (39 34 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (9850 9818 LOCKSHIFT))
(137 (9841 9809 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (9826 66 LOCKSHIFT))
(140 (9833 9801 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (95 94 NOLOCKSHIFT))
(148 (9845 9813 LOCKSHIFT))
(149 (9848 9816 LOCKSHIFT))
(150 (9828 9796 LOCKSHIFT))
(151 (9852 9820 LOCKSHIFT))
(152 (9834 9802 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (9840 9808 LOCKSHIFT))
(155 (9839 9807 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(ITALIAN ((171 (39 34 NOLOCKSHIFT))
(100 (53 61903 NOLOCKSHIFT))
(101 (52 61886 NOLOCKSHIFT))
(102 (54 61919 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (95 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 61872 NOLOCKSHIFT))
(117 (50 61857 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(171 (39 186 NOLOCKSHIFT))
(129 (93 125 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (95 170 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (91 123 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(SPANISH ((208 (161 191 NOLOCKSHIFT))
(171 (59 58 NOLOCKSHIFT))
(100 (53 61904 NOLOCKSHIFT))
(101 (52 61887 NOLOCKSHIFT))
(102 (54 61920 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (95 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 61873 NOLOCKSHIFT))
(117 (50 61858 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(171 (59 58 NOLOCKSHIFT))
(129 (185 186 NOLOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (61900 61772 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (161 191 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61925 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (169 170 NOLOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(FRENCH ((208 (61869 61741 NOLOCKSHIFT))
(171 (39 61857 NOLOCKSHIFT))
(100 (53 61905 NOLOCKSHIFT))
(101 (52 61888 NOLOCKSHIFT))
(102 (54 61921 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (95 63 NOLOCKSHIFT))
(115 (1 1 NOLOCKSHIFT) . IGNORE)
(116 (51 61874 NOLOCKSHIFT))
(117 (50 61859 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 171 NOLOCKSHIFT))
(171 (39 61857 NOLOCKSHIFT))
(129 (61872 61892 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 187 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (61869 61741 LOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 61919 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61873 61877 LOCKSHIFT))
(159 (61 43 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(GERMAN ((100 (53 37 NOLOCKSHIFT))
(101 (52 36 NOLOCKSHIFT))
(102 (54 126 NOLOCKSHIFT))
(103 (101 69 LOCKSHIFT))
(104 (55 38 NOLOCKSHIFT))
(105 (100 68 LOCKSHIFT))
(106 (117 85 LOCKSHIFT))
(107 (118 86 LOCKSHIFT))
(108 (48 41 NOLOCKSHIFT))
(109 (107 75 LOCKSHIFT))
(110 (45 45 NOLOCKSHIFT))
(111 (112 80 LOCKSHIFT))
(112 (251 63 NOLOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (51 35 NOLOCKSHIFT))
(117 (50 64 NOLOCKSHIFT))
(118 (119 87 LOCKSHIFT))
(119 (113 81 LOCKSHIFT))
(120 (115 83 LOCKSHIFT))
(121 (97 65 LOCKSHIFT))
(122 (57 40 NOLOCKSHIFT))
(123 (105 73 LOCKSHIFT))
(124 (120 88 LOCKSHIFT))
(125 (111 79 LOCKSHIFT))
(126 (108 76 LOCKSHIFT))
(127 (44 60 NOLOCKSHIFT))
(171 (39 34 NOLOCKSHIFT))
(129 (61863 61735 LOCKSHIFT))
(132 (49 33 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (102 70 LOCKSHIFT))
(137 (99 67 LOCKSHIFT))
(138 (106 74 LOCKSHIFT))
(139 (98 66 LOCKSHIFT))
(140 (122 90 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (46 62 NOLOCKSHIFT))
(143 (59 58 NOLOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (95 94 NOLOCKSHIFT))
(148 (114 82 LOCKSHIFT))
(149 (116 84 LOCKSHIFT))
(150 (103 71 LOCKSHIFT))
(151 (121 89 LOCKSHIFT))
(152 (104 72 LOCKSHIFT))
(153 (56 42 NOLOCKSHIFT))
(154 (110 78 LOCKSHIFT))
(155 (109 77 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (61908 61780 LOCKSHIFT))
(159 (61925 61797 LOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)
(STANDARD-RUSSIAN ((208 (41 40 NOLOCKSHIFT))
(171 (10073 10025 NOLOCKSHIFT))
(100 (34 52 NOLOCKSHIFT))
(101 (47 51 NOLOCKSHIFT))
(102 (58 53 NOLOCKSHIFT))
(103 (10085 10037 LOCKSHIFT))
(104 (44 54 NOLOCKSHIFT))
(105 (10067 10019 LOCKSHIFT))
(106 (10068 10020 LOCKSHIFT))
(107 (10078 10030 LOCKSHIFT))
(108 (63 57 NOLOCKSHIFT))
(109 (10077 10029 LOCKSHIFT))
(110 (37 48 NOLOCKSHIFT))
(111 (10073 10025 LOCKSHIFT))
(112 (10071 10023 LOCKSHIFT))
(115 (8 8 NOLOCKSHIFT) . IGNORE)
(116 (45 50 NOLOCKSHIFT))
(117 (61352 49 NOLOCKSHIFT))
(118 (10088 10040 LOCKSHIFT))
(119 (10075 10027 LOCKSHIFT))
(120 (10093 10045 LOCKSHIFT))
(121 (10086 10038 LOCKSHIFT))
(122 (95 56 NOLOCKSHIFT))
(123 (10090 10042 LOCKSHIFT))
(124 (10089 10041 LOCKSHIFT))
(125 (10091 10043 LOCKSHIFT))
(126 (10069 10021 LOCKSHIFT))
(127 (10066 10018 LOCKSHIFT))
(171 (10095 10047 LOCKSHIFT))
(129 (10092 10044 LOCKSHIFT))
(132 (167 43 NOLOCKSHIFT))
(165 (27 27 NOLOCKSHIFT) . IGNORE)
(134 (9 9 NOLOCKSHIFT) . IGNORE)
(135 (10065 10017 LOCKSHIFT))
(137 (10083 10035 LOCKSHIFT))
(138 (10080 10032 LOCKSHIFT))
(139 (10074 10026 LOCKSHIFT))
(140 (10097 10049 LOCKSHIFT))
(141 1SHIFTDOWN . 1SHIFTUP)
(142 (10096 10048 LOCKSHIFT))
(143 (10072 10024 LOCKSHIFT))
(144 (13 13 NOLOCKSHIFT) . IGNORE)
(208 (41 40 NOLOCKSHIFT))
(148 (10076 10028 LOCKSHIFT))
(149 (10070 10022 LOCKSHIFT))
(150 (10081 10033 LOCKSHIFT))
(151 (10079 10031 LOCKSHIFT))
(152 (10082 10034 LOCKSHIFT))
(153 (46 55 NOLOCKSHIFT))
(154 (10084 10036 LOCKSHIFT))
(155 (10094 10046 LOCKSHIFT))
(156 LOCKDOWN . LOCKUP)
(157 (32 32 NOLOCKSHIFT) . IGNORE)
(158 (10087 10039 LOCKSHIFT))
(159 (33 61 NOLOCKSHIFT))
(160 2SHIFTDOWN . 2SHIFTUP))
DOVE)))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
STOP

View File

@@ -1,13 +1,16 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED "25-May-95 14:32:35" {DSK}<project>medley2.0>library>KEYBOARDEDITOR.;4 51139
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
changes to%: (FNS EDITKEYBOARD VKBD.EDIT.CREATE-DISPLAY)
(FILECREATED " 6-Jul-2023 16:23:12" {WMEDLEY}<library>KEYBOARDEDITOR.;3 50717
previous date%: "25-May-95 11:35:16" {DSK}<project>medley2.0>library>KEYBOARDEDITOR.;2)
:EDIT-BY rmk
:CHANGES-TO (FNS VKBD.EDIT.CREATE-CHARACTERS-MENU)
:PREVIOUS-DATE "25-May-95 14:32:35" {WMEDLEY}<library>KEYBOARDEDITOR.;1)
(* ; "
Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights reserved.
Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT KEYBOARDEDITORCOMS)
@@ -15,14 +18,14 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
(RPAQQ KEYBOARDEDITORCOMS
((FILES VIRTUALKEYBOARDS)
(COMS
(* ;; "Editor for Configurations -- the description of the physical key layout, which keys are assignable, etc.")
(* ;; "Editor for Configurations -- the description of the physical key layout, which keys are assignable, etc.")
(FNS EDITCONFIGURATION VKBD.CONF.CHANGE-KEY-VALUE VKBD.CONF.DISPLAY-FIELD-VALUE
VKBD.CONF.DISPLAY-INFO-KEYBOARD VKBD.CONF.DISPLAY-KEY-INFO
VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS VKBD.CONF.ICONFN VKBD.CONF.PARSE-CONFIGURATION)
(BITMAPS VKBD.CONF.ICON))
(* ;; "EEditor for keyboard layouts per se:")
(* ;; "EEditor for keyboard layouts per se:")
(FNS EDITKEYBOARD VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU VKBD.EDIT.CREATE-COMMAND-MENU
VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU VKBD.EDIT-KEYBOARD-COMMAND
@@ -459,7 +462,8 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
ITEMWIDTH _ 29])
(VKBD.EDIT.CREATE-CHARACTERS-MENU
[LAMBDA (CHAR-SET-NUMBER FONT) (* sm "15-Aug-85 12:15")
[LAMBDA (CHAR-SET-NUMBER FONT) (* ; "Edited 6-Jul-2023 16:23 by rmk")
(* sm "15-Aug-85 12:15")
(PROG (EXISTING-MENU-INFO NEW-MENU)
[SETQ EXISTING-MENU-INFO (for CHARSET-FONT-MENU in VKBD.EDIT.CASH-MENUES
thereis (AND (EQP (CAR CHARSET-FONT-MENU)
@@ -468,21 +472,17 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
FONT]
(if EXISTING-MENU-INFO
then (RETURN (CADDR EXISTING-MENU-INFO)))
(PRINTOUT PROMPTWINDOW T "Wait. Bitmaps for character set " (OCTALSTRING CHAR-SET-NUMBER)
" are being retrieved. ")
(PRINTOUT PROMPTWINDOW T "Retrieving bitmaps for character set " (OCTALSTRING
CHAR-SET-NUMBER))
(SETQ NEW-MENU (create MENU
ITEMS _ (for I from 0 to 255 bind CODE bind ROTATED-I
collect (PROGN (SETQ ROTATED-I (SUB1 (
 VKBD.EDIT.ROTATED-NUMBER
(ADD1 I)
16 16)))
(LIST (GETCHARBITMAP (SETQ CODE
(VKBD.PARSE-CHAR-CODE
(LIST
CHAR-SET-NUMBER
ROTATED-I)))
FONT)
CODE)))
collect (SETQ ROTATED-I (SUB1 (VKBD.EDIT.ROTATED-NUMBER
(ADD1 I)
16 16)))
(SETQ CODE (LOGOR (LLSH CHAR-SET-NUMBER 8)
I))
(LIST (GETCHARBITMAP CODE FONT)
CODE))
MENUCOLUMNS _ 16
CENTERFLG _ T
ITEMHEIGHT _ 25
@@ -717,16 +717,16 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
("Accented Characters" 241)))
(RPAQQ VKBD.EDIT.MENU-ITEMS (("CharSet" VKBD.EDIT.SWITCH-CHAR-SET-COMMAND "Pops up a menu of all possible character set number. Selecting one will switch the displayed character set."
)
("Stop" VKBD.EDIT.STOP-COMMAND
)
("Stop" VKBD.EDIT.STOP-COMMAND
"Exit from the keyboard editor. Returns the new keyboard, but does not modify the original one."
)
("Quit" VKBD.EDIT.QUIT-COMMAND
)
("Quit" VKBD.EDIT.QUIT-COMMAND
"Exit from the keyboard editor. Modifies the roriginal keyboard and returns it ."
)
("Define" VKBD.EDIT.DEFINE-COMMAND
)
("Define" VKBD.EDIT.DEFINE-COMMAND
"Adds the edited keyboard in its current state to the set of known keyboards."
)))
)))
(RPAQQ VKBD.EDIT.NON-CHAR-ASSIGNMENTS (SHIFT CTRL META LOCK LOCKDOWN LOCKUP EVENT))
@@ -744,27 +744,26 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
VKBD.EDIT.MASK)
)
(VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU (LIST "Edit" '(ADD.PROCESS '(
 VKBD.EDIT-KEYBOARD-COMMAND
T))
"Calls the keyboard editor. Will prompt for name for the new keyboard, and will use the default keyboard as the initial keyboard"
VKBD.EDIT.BACKGROUND-MENU-SUBITEMS)
(VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU (LIST "Edit" '(ADD.PROCESS '(VKBD.EDIT-KEYBOARD-COMMAND
T))
"Calls the keyboard editor. Will prompt for name for the new keyboard, and will use the default keyboard as the initial keyboard"
VKBD.EDIT.BACKGROUND-MENU-SUBITEMS)
"Keyboard")
(PUTPROPS KEYBOARDEDITOR COPYRIGHT ("Venue & Xerox Corporation" 1985 1987 1990 1995))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3451 17311 (EDITCONFIGURATION 3461 . 3784) (VKBD.CONF.CHANGE-KEY-VALUE 3786 . 8411) (
VKBD.CONF.DISPLAY-FIELD-VALUE 8413 . 10186) (VKBD.CONF.DISPLAY-INFO-KEYBOARD 10188 . 12135) (
VKBD.CONF.DISPLAY-KEY-INFO 12137 . 12894) (VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS 12896 . 14277) (
VKBD.CONF.ICONFN 14279 . 15020) (VKBD.CONF.PARSE-CONFIGURATION 15022 . 17309)) (19637 42746 (
EDITKEYBOARD 19647 . 21947) (VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU 21949 . 22875) (
VKBD.EDIT.CREATE-COMMAND-MENU 22877 . 23227) (VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU 23229 . 23692)
(VKBD.EDIT-KEYBOARD-COMMAND 23694 . 25067) (VKBD.EDIT.ASSIGN-CHARACTER 25069 . 27743) (
VKBD.EDIT.ASSIGN-NON-CHARACTER 27745 . 28363) (VKBD.EDIT.CREATE-CHARACTER-SETS-MENU 28365 . 29404) (
VKBD.EDIT.CREATE-CHARACTERS-MENU 29406 . 31987) (VKBD.EDIT.CREATE-DISPLAY 31989 . 35222) (
VKBD.EDIT.DEFINE-COMMAND 35224 . 35626) (VKBD.EDIT.DO-MENU-COMMAND 35628 . 35838) (VKBD.EDIT.ICONFN
35840 . 36489) (VKBD.EDIT.INVERT-IF-LOCKED 36491 . 36924) (VKBD.EDIT.KEYBOARD-REPAINTFN 36926 . 37496)
(VKBD.EDIT.LARGE-WINDOW-REPAINTFN 37498 . 38093) (VKBD.EDIT.MAKE-CURRENT-KEY 38095 . 40147) (
VKBD.EDIT.QUIT-COMMAND 40149 . 40502) (VKBD.EDIT.STOP-COMMAND 40504 . 40730) (
VKBD.EDIT.SWITCH-CHAR-SET-COMMAND 40732 . 41658) (VKBD.EDIT.SWITCH-CHARACTER-SET 41660 . 42443) (
VKBD.EDIT.ROTATED-NUMBER 42445 . 42744)))))
(FILEMAP (NIL (3425 17285 (EDITCONFIGURATION 3435 . 3758) (VKBD.CONF.CHANGE-KEY-VALUE 3760 . 8385) (
VKBD.CONF.DISPLAY-FIELD-VALUE 8387 . 10160) (VKBD.CONF.DISPLAY-INFO-KEYBOARD 10162 . 12109) (
VKBD.CONF.DISPLAY-KEY-INFO 12111 . 12868) (VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS 12870 . 14251) (
VKBD.CONF.ICONFN 14253 . 14994) (VKBD.CONF.PARSE-CONFIGURATION 14996 . 17283)) (19611 42442 (
EDITKEYBOARD 19621 . 21921) (VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU 21923 . 22849) (
VKBD.EDIT.CREATE-COMMAND-MENU 22851 . 23201) (VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU 23203 . 23666)
(VKBD.EDIT-KEYBOARD-COMMAND 23668 . 25041) (VKBD.EDIT.ASSIGN-CHARACTER 25043 . 27717) (
VKBD.EDIT.ASSIGN-NON-CHARACTER 27719 . 28337) (VKBD.EDIT.CREATE-CHARACTER-SETS-MENU 28339 . 29378) (
VKBD.EDIT.CREATE-CHARACTERS-MENU 29380 . 31683) (VKBD.EDIT.CREATE-DISPLAY 31685 . 34918) (
VKBD.EDIT.DEFINE-COMMAND 34920 . 35322) (VKBD.EDIT.DO-MENU-COMMAND 35324 . 35534) (VKBD.EDIT.ICONFN
35536 . 36185) (VKBD.EDIT.INVERT-IF-LOCKED 36187 . 36620) (VKBD.EDIT.KEYBOARD-REPAINTFN 36622 . 37192)
(VKBD.EDIT.LARGE-WINDOW-REPAINTFN 37194 . 37789) (VKBD.EDIT.MAKE-CURRENT-KEY 37791 . 39843) (
VKBD.EDIT.QUIT-COMMAND 39845 . 40198) (VKBD.EDIT.STOP-COMMAND 40200 . 40426) (
VKBD.EDIT.SWITCH-CHAR-SET-COMMAND 40428 . 41354) (VKBD.EDIT.SWITCH-CHARACTER-SET 41356 . 42139) (
VKBD.EDIT.ROTATED-NUMBER 42141 . 42440)))))
STOP

Binary file not shown.

View File

@@ -1,17 +1,17 @@
(DEFINE-FILE-INFO PACKAGE "IL" READTABLE "XCL" BASE 10)
(FILECREATED "22-Dec-2018 22:58:47" 
|{DSK}<Users>kaplan>Local>medley3.5>lispcore>library>VIRTUALKEYBOARDS.;10| 141793
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|changes| |to:| (VARS VIRTUALKEYBOARDSCOMS VKBD.BACKGROUND-MENU-SUBITEMS
VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.WINDOW-MENU-SUBITEMS VKBD.ICON
VKBD.MASK MODEACTIONS)
(RECORDS KEYBOARDCONFIGURATION VIRTUALKEYBOARD)
(FILECREATED " 6-Jul-2023 15:55:10" |{WMEDLEY}<library>VIRTUALKEYBOARDS>VIRTUALKEYBOARDS.;16| 140655
|previous| |date:| "22-Dec-2018 22:52:44"
|{DSK}<Users>kaplan>Local>medley3.5>lispcore>library>VIRTUALKEYBOARDS.;9|)
:EDIT-BY |rmk|
:CHANGES-TO (VARS VIRTUALKEYBOARDSCOMS)
(FNS VKBD.INIT VKBD.LOAD-KEYBOARD-FILE METASHIFT)
:PREVIOUS-DATE "28-Jun-2023 11:52:23" |{WMEDLEY}<library>virtualkeyboards>VIRTUALKEYBOARDS.;9|
)
; Copyright (c) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1995, 1996, 2017, 2018 by Venue & Xerox Corporation. All rights reserved.
; Copyright (c) 1985-1988, 1990, 1992-1993, 1995-1996, 2017-2018 by Venue & Xerox Corporation.
(PRETTYCOMPRINT VIRTUALKEYBOARDSCOMS)
@@ -50,7 +50,8 @@
UNDERLINE NOTUNDERLINE SUBSCRIPT SUPERSCRIPT SMALLER LARGER MARGINS NOTMARGINS
LOOKS NOTLOOKS F11 NOTF11 F12 NOTF12))
(RECORDS KEYBOARDCONFIGURATION VIRTUALKEYBOARD)
(INITVARS (VKBD.KNOWN-KEYBOARDS NIL))
(INITVARS (VKBD.LOADED-KEYBOARDS NIL)
(VKBD.KNOWN-KEYBOARDS NIL))
(FILES (SOURCE)
KEYBOARDCONFIGS)
(VARS VKBD.BACKGROUND-MENU-SUBITEMS VKBD.NON-CHAR-ASSIGNMENTS-LABELS
@@ -60,6 +61,7 @@
VKBD.KNOWN-KEYBOARDS VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.ICON VKBD.MASK
CURRENTKEYBOARDCONFIG VKBD.CONFIGURATIONS VKBD.COMMONCODELABELS VKBD.COMMONKEYLABELS
VKBD.COMMONDEFAULTASSIGNMENT)
(INITVARS (CURRENTKEYBOARDCONFIG NIL))
(COMS (DECLARE\: FIRST (P (MOVD? '\\KEYBOARDEVENTFN '\\OLDKEYBOARDEVENTFN)))
(INITVARS (\\ORIGINALDEFAULTKEYACTION))
(FNS VKBD.\\KEYBOARDEVENTFN VKBD.RESETKEYACTIONTABLES)
@@ -75,11 +77,12 @@
'DEFAULT)))
(FNS FIXKEYBOARD FIXKEYBOARDCONFIG FIXKEYASSIGNMENTS)
(DECLARE\: DONTEVAL@LOAD DOCOPY (P (VKBD.INIT)))
(COMS (FNS METASHIFT)
(* \;
 "Call new definition if the old one had been called")
(P (AND (MEMB (MACHINETYPE)
'(MAIKO DORADO))
(COMS (P (MOVD? 'METASHIFT 'OLDMETASHIFT))
(FNS METASHIFT)
(* \;
 "Call new definition if the old one had been called")
(P (AND (MEMB (KEYBOARDTYPE)
'(X DORADO))
(EQUAL (KEYACTION 'BLANK-BOTTOM)
'(METADOWN . METAUP))
(METASHIFT T))))
@@ -217,61 +220,34 @@
'DEFAULT)))))))
(VKBD.CREATE-KEYACTION-TABLE
(LAMBDA (NEW-KEYBOARD OLDTABLE) (* \; "Edited 29-Feb-96 12:32 by rmk")
(LAMBDA (NEW-KEYBOARD OLDTABLE) (* \; "Edited 28-Jun-2023 11:52 by rmk")
(* \; "Edited 29-Feb-96 12:32 by rmk")
(PROG (KEYBOARDNAME FOUND KEYACTION-TABLE CONFIG)
(CL:UNLESS (COND
((AND (ATOM NEW-KEYBOARD)
(SETQ FOUND (FINDVIRTUALKEYBOARD NEW-KEYBOARD)))
(SETQ NEW-KEYBOARD FOUND))
((MEMB NEW-KEYBOARD VKBD.KNOWN-KEYBOARDS)))
(* |;;| "Use FOUND to preserve NEW-KEYBOARD for error")
(* |;;| "Use FOUND to preserve NEW-KEYBOARD for error")
(ERROR "INVALID KEYBOARD" NEW-KEYBOARD))
(SETQ KEYBOARDNAME (FETCH (VIRTUALKEYBOARD KEYBOARDNAME) OF NEW-KEYBOARD))
(COND
(OLDTABLE (SETQ KEYACTION-TABLE (RESETKEYACTION OLDTABLE)))
((SETQ KEYACTION-TABLE (GETPROP KEYBOARDNAME 'KEYACTIONTABLE))
(RETURN KEYACTION-TABLE))
(T (SETQ KEYACTION-TABLE (KEYACTIONTABLE))))
(SETQ NEW-KEYBOARD (VKBD.COMPLETE-KEYBOARD NEW-KEYBOARD))
(SETQ CONFIG (VKBD.GET-CONFIGURATION (FETCH (VIRTUALKEYBOARD KEYBOARDCONFIGURATION)
OF NEW-KEYBOARD)))
(FOR KEY-ASSIGNMENT IN (FETCH (VIRTUALKEYBOARD COMPLETEKEYASSIGNMENTS)
OF NEW-KEYBOARD) DO (OLDKEYACTION (CAR
KEY-ASSIGNMENT
)
(CDR KEY-ASSIGNMENT)
KEYACTION-TABLE))
OF NEW-KEYBOARD)))
(FOR KEY-ASSIGNMENT IN (FETCH (VIRTUALKEYBOARD COMPLETEKEYASSIGNMENTS) OF NEW-KEYBOARD)
DO (CL:UNLESS (MEMB (CAR KEY-ASSIGNMENT)
'(31 86))
(OLDKEYACTION (CAR KEY-ASSIGNMENT)
(CDR KEY-ASSIGNMENT)
KEYACTION-TABLE)))
(PUTPROP KEYBOARDNAME 'KEYACTIONTABLE KEYACTION-TABLE)
(RETURN KEYACTION-TABLE))))
(vkbd.windowmenufn
@@ -414,7 +390,9 @@
(setq |BackgroundMenu| nil)))
(VKBD.INIT
(LAMBDA NIL (* \; "Edited 14-Jun-2017 14:22 by kaplan")
(LAMBDA NIL (* \; "Edited 6-Jul-2023 15:14 by rmk")
(* \; "Edited 28-Jun-2023 10:40 by rmk")
(* \; "Edited 14-Jun-2017 14:22 by kaplan")
(* \; "Edited 16-Jun-92 11:14 by kaplan")
(* |;;| "Reads virtual keyboard file for current type (or default type), if it can be found. Keyboards that don't match current keyboard can be displayed but not installed (via PROCESS.KEYBOARD)")
@@ -423,35 +401,22 @@
(SETQ \\ORIGINALDEFAULTKEYACTION (KEYACTIONTABLE \\DEFAULTKEYACTION)))
(SETQ VKBD.COMMONCODELABELS (FOR X IN VKBD.COMMONCHARLABELS
COLLECT (IF (LISTP X)
THEN (IF (SMALLP (CAR X))
THEN X
ELSE (LIST (CHARCODE.DECODE
(CAR X))
(CADR X)))
ELSE (LIST (CHARCODE.DECODE X)
X))))
THEN (IF (SMALLP (CAR X))
THEN X
ELSE (LIST (CHARCODE.DECODE (CAR X))
(CADR X)))
ELSE (LIST (CHARCODE.DECODE X)
X))))
(VKBD.ADD-ITEM-TO-BACKGROUND-MENU "Keyboard" ''(SWITCHKEYBOARDS T NIL)
"Displays a menu for switching keyboards" VKBD.BACKGROUND-MENU-SUBITEMS)
(VKBD.WINDOWMENUINIT)
(LET (FILE (KT (KEYBOARDTYPE)))
(LET ((KT (KEYBOARDTYPE)))
(SETQ CURRENTKEYBOARDCONFIG (VKBD.GET-CONFIGURATION KT))
(COND
((SETQ FILE (COND
((AND KT (FINDFILE (PACK* KT "KEYBOARDS")
T)))
(T (FINDFILE (PACK* DEFAULTVIRTUALKEYBOARDTYPE "KEYBOARDS")
T))))
(VKBD.LOAD-KEYBOARD-FILE FILE)
(CL:WHEN (VKBD.LOAD-KEYBOARD-FILE KT)
(* |;;| "Loading a keyboard file may change our notion of KEYBOARDTYPE, because of new coercion paths. The default keyboard will be added for the new type")
(VKBD.ADD-DEFAULT-KEYBOARD))
(T
(* |;;| "Special printing here to avoid file-not-found error in case where user calls VKBD.LOAD-KEYBOARD-FILE directly")
(PROMPTPRINT "Note: virtual keyboard file for type " (OR (KEYBOARDTYPE)
DEFAULTVIRTUALKEYBOARDTYPE)
" keyboards not found"))))))
(VKBD.ADD-DEFAULT-KEYBOARD)))))
(VKBD.CREATE-DEFAULT-KEYBOARD
@@ -474,9 +439,10 @@
OF CONFIGURATION)))))
(VKBD.ADD-DEFAULT-KEYBOARD
(LAMBDA (KEYBOARDTYPE) (* \; "Edited 23-May-95 17:04 by rmk:")
(LAMBDA (KEYBOARDTYPE) (* \; "Edited 28-Jun-2023 10:45 by rmk")
(* \; "Edited 23-May-95 17:04 by rmk:")
(* |;;;| "It is useful practice to be able to switch back to the original key assignments. Thus the program is adding one special keyboard with the name DEFAULT which is the current keyboardtype's default keyboard.")
(* |;;;| "It is useful practice to be able to switch back to the original key assignments. Thus the program is adding one special keyboard with the name DEFAULT which is the current keyboardtype's default keyboard.")
(SETQ KEYBOARDTYPE (OR KEYBOARDTYPE (KEYBOARDTYPE)))
(BIND DEFAULT WHILE (SETQ DEFAULT (FINDVIRTUALKEYBOARD 'DEFAULT KEYBOARDTYPE))
@@ -504,114 +470,55 @@
THEN (VKBD.LOAD-KEYBOARD-FILE F REDEFINE? DELETE-FIRST? T)))))
(VKBD.LOAD-KEYBOARD-FILE
(LAMBDA (KEYBOARDTYPE REDEFINE? DELETE-CURRENT-DEFINITIONS?)
(* \; "Edited 6-Jul-2023 15:11 by rmk")
(* \; "Edited 4-Jul-2023 23:22 by rmk")
(CL:UNLESS KEYBOARDTYPE (SETQ KEYBOARDTYPE DEFAULTVIRTUALKEYBOARDTYPE))
(LAMBDA (FILENAME REDEFINE? DELETE-CURRENT-DEFINITIONS? PROMPTPRINT)
(* |;;| "Returns T if keyboards of type KEYBOARDTYPE found. Prints prompt warning and returns NIL if not found.")
(* \; "Edited 4-Mar-96 10:53 by rmk")
(* |;;| "Note: Can't switch to READFILE, since it uses OLD-INTERLISP readtable which doesn't honor vertical bars around numeric atoms.")
(LET (FILE (VKBDDIRS (CONS (MEDLEYDIR "library/virtualkeyboards/")
LISPUSERSDIRECTORIES))
(NEWKEYBOARDS (CDR (ASSOC KEYBOARDTYPE VKBD.LOADED-KEYBOARDS))))
(CL:UNLESS NEWKEYBOARDS
(* |;;| "If keyboards of type KEYBOARDTYPE have not previously been loaded, we look for a file <KEYBOARDTYPE>KEYBOARDS (e.g. XKEYBOARDS, SDLKEYBOARDS), defaulting to the directory that VIRTUALKEYBOARDS is coming from. It is assumed that that file will add the desired keyboards to VKBD.LOADED-KEYBOARDS,")
(* |;;| "Note: Can't switch to READFILE, since it uses OLD-INTERLISP readtable which doesn't honor vertical bars around numeric atoms.")
(CL:WHEN (SETQ FILE (FINDFILE (PACK* KEYBOARDTYPE "KEYBOARDS")
T VKBDDIRS))
(LOAD FILE T)
(SETQ NEWKEYBOARDS (CDR (ASSOC KEYBOARDTYPE VKBD.LOADED-KEYBOARDS)))))
(|if| NEWKEYBOARDS
|then| (COND
(DELETE-CURRENT-DEFINITIONS? (SETQ VKBD.KNOWN-KEYBOARDS NEWKEYBOARDS)
(VKBD.ADD-DEFAULT-KEYBOARD))
(T (FOR NEWKEYBOARD KN KC IN NEWKEYBOARDS
DO
(* |;;|
 "To make sure that COMPLETEDASSIGNMENTS cell (or any other new cells) exist--backward compatibility")
(SETQ NEWKEYBOARD (CREATE VIRTUALKEYBOARD USING NEWKEYBOARD))
(SETQ KN (FETCH KEYBOARDNAME OF NEWKEYBOARD))
(SETQ KC (FETCH KEYBOARDCONFIGURATION OF NEWKEYBOARD))
(FOR TAIL OLDKEYBOARD ON VKBD.KNOWN-KEYBOARDS
WHEN (AND (EQ KN (FETCH KEYBOARDNAME OF (SETQ OLDKEYBOARD
(CAR TAIL))))
(EQ KC (FETCH KEYBOARDCONFIGURATION OF OLDKEYBOARD)))
DO
(* |;;| "If REDEFINE?, then replace one with same name and configuration. Otherwise, keep the old one instead of installing the new one.")
(LET ((NEWKEYBOARDS (CL:WITH-OPEN-FILE (STREAM FILENAME :DIRECTION :INPUT)
(BIND KB DATE (*PACKAGE* _ *INTERLISP-PACKAGE*)
(RDTBL _ (FIND-READTABLE "INTERLISP"))
FIRST (SETQ DATE (READ STREAM RDTBL))
(CL:UNLESS (LISTP DATE)
(CL:WHEN (STRINGP DATE)
(SETQ DATE (CONCAT "Keyboards from " (FULLNAME STREAM
)
" [" DATE "]"))
(IF PROMPTPRINT
THEN (PROMPTPRINT DATE)
ELSE (PRINTOUT T DATE T)))
(SETQ DATE NIL)) WHILE (SKIPSEPRCODES STREAM RDTBL)
UNTIL (EQ 'STOP (SETQ KB (READ STREAM RDTBL))) COLLECT
KB
FINALLY (CL:WHEN DATE
(* |;;|
 "Was a LISTP date, must have been a keyboard")
(PUSH DATE $$VAL))))))
(COND
(DELETE-CURRENT-DEFINITIONS? (SETQ VKBD.KNOWN-KEYBOARDS NEWKEYBOARDS)
(VKBD.ADD-DEFAULT-KEYBOARD))
(T (FOR NEWKEYBOARD KN KC IN NEWKEYBOARDS
DO
(* |;;|
"To make sure that COMPLETEDASSIGNMENTS cell (or any other new cells) exist--backward compatibility")
(SETQ NEWKEYBOARD (CREATE VIRTUALKEYBOARD USING NEWKEYBOARD))
(SETQ KN (FETCH KEYBOARDNAME OF NEWKEYBOARD))
(SETQ KC (FETCH KEYBOARDCONFIGURATION OF NEWKEYBOARD))
(FOR TAIL OLDKEYBOARD ON VKBD.KNOWN-KEYBOARDS
WHEN (AND (EQ KN (FETCH KEYBOARDNAME OF (SETQ OLDKEYBOARD
(CAR TAIL))))
(EQ KC (FETCH KEYBOARDCONFIGURATION OF OLDKEYBOARD))
) DO
(* |;;| "If REDEFINE?, then replace one with same name and configuration. Otherwise, keep the old one instead of installing the new one.")
(COND
(REDEFINE? (RPLACA TAIL NEWKEYBOARD))
(T (RETURN))) FINALLY (SETQ
VKBD.KNOWN-KEYBOARDS
(NCONC1
VKBD.KNOWN-KEYBOARDS
NEWKEYBOARD))))
)))))
(COND
(REDEFINE? (RPLACA TAIL NEWKEYBOARD))
(T (RETURN))) FINALLY (SETQ VKBD.KNOWN-KEYBOARDS
(NCONC1 VKBD.KNOWN-KEYBOARDS
NEWKEYBOARD))))))
T
|else| (PROMPTPRINT "Note: Can't find virtual keyboard file for " KEYBOARDTYPE
" keyboards")
NIL))))
(vkbd.store-file-command
(lambda (f) (* \; "Edited 15-Dec-87 16:31 by Snow")
@@ -2412,29 +2319,29 @@
(NOTF12 621))
(DECLARE\: EVAL@COMPILE
(RECORD KEYBOARDCONFIGURATION (CONFIGURATIONNAME KBCDUMMY1 KEYREGIONS KBCDUMMY2 DEFAULTASSIGNMENT
KEYNAMESMAPPING KEYBOARDTYPE KEYLABELS KEYLABELSFONT
BACKGROUNDSHADE KEYBOARDDISPLAYFONT CHARLABELS)
(RECORD KEYBOARDCONFIGURATION (CONFIGURATIONNAME KBCDUMMY1 KEYREGIONS KBCDUMMY2 DEFAULTASSIGNMENT
KEYNAMESMAPPING KEYBOARDTYPE KEYLABELS KEYLABELSFONT
BACKGROUNDSHADE KEYBOARDDISPLAYFONT CHARLABELS)
(* |;;| "Dummy fields so length test still works")
(* |;;| "Dummy fields so length test still works")
(TYPE? (EQLENGTH DATUM (CONSTANT (LENGTH (RECORDFIELDNAMES
'
KEYBOARDCONFIGURATION
)))))
KEYBOARDTYPE _ (KEYBOARDTYPE)
KEYLABELSFONT _ DEFAULTKEYBOARDLABELSFONT BACKGROUNDSHADE _ 23130
KEYBOARDDISPLAYFONT _ DEFAULTKEYBOARDDISPLAYFONT)
(TYPE? (EQLENGTH DATUM (CONSTANT (LENGTH (RECORDFIELDNAMES
'KEYBOARDCONFIGURATION)
))))
KEYBOARDTYPE _ (KEYBOARDTYPE)
KEYLABELSFONT _ DEFAULTKEYBOARDLABELSFONT BACKGROUNDSHADE _ 23130
KEYBOARDDISPLAYFONT _ DEFAULTKEYBOARDDISPLAYFONT)
(RECORD VIRTUALKEYBOARD (KEYBOARDNAME KEYASSIGNMENTS KEYBOARDCONFIGURATION KEYBOARDDISPLAYFONT)
(HASHLINK VIRTUALKEYBOARD (COMPLETEKEYASSIGNMENTS VKBDHASHARRAY 20)))
(HASHLINK VIRTUALKEYBOARD (COMPLETEKEYASSIGNMENTS VKBDHASHARRAY 20)))
)
(DECLARE\: EVAL@COMPILE (GLOBALVARS VKBDHASHARRAY))
(SETUPHASHARRAY 'VKBDHASHARRAY 20)
(RPAQ? VKBD.LOADED-KEYBOARDS NIL)
(RPAQ? VKBD.KNOWN-KEYBOARDS NIL)
(FILESLOAD (SOURCE)
@@ -2485,11 +2392,11 @@
)))))
(RPAQQ VKBD.NON-CHAR-ASSIGNMENTS-LABELS ((SHIFT SHIFT)
(CTRL CTRL)
(META META)
(LOCK LOCK)
(LOCKUP LOCKUP)
(LOCKDOWN LOCKDOWN)))
(CTRL CTRL)
(META META)
(LOCK LOCK)
(LOCKUP LOCKUP)
(LOCKDOWN LOCKDOWN)))
(RPAQQ VKBD.WINDOW-MENU-SUBITEMS
(SUBITEMS ("Switch keyboard" (FUNCTION (LAMBDA (W)
@@ -2549,6 +2456,8 @@
VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.ICON VKBD.MASK CURRENTKEYBOARDCONFIG VKBD.CONFIGURATIONS
VKBD.COMMONCODELABELS VKBD.COMMONKEYLABELS VKBD.COMMONDEFAULTASSIGNMENT)
)
(RPAQ? CURRENTKEYBOARDCONFIG NIL)
(DECLARE\: FIRST
(MOVD? '\\KEYBOARDEVENTFN '\\OLDKEYBOARDEVENTFN)
@@ -2858,18 +2767,18 @@
(RPAQ? MODEKEYS )
(RPAQQ MODEACTIONS (EVENT CTRLUP CTRLDOWN 1SHIFTUP 1SHIFTDOWN 2SHIFTUP 2SHIFTDOWN LOCKUP LOCKDOWN
LOCKTOGGLE METAUP METADOWN FONTUP FONTDOWN FONTTOGGLE USERMODE1UP
USERMODE1DOWN USERMODE1TOGGLE USERMODE2UP USERMODE2DOWN USERMODE2TOGGLE
USERMODE3UP USERMODE3DOWN USERMODE3TOGGLE))
(RPAQQ MODEACTIONS (EVENT CTRLUP CTRLDOWN 1SHIFTUP 1SHIFTDOWN 2SHIFTUP 2SHIFTDOWN LOCKUP LOCKDOWN
LOCKTOGGLE METAUP METADOWN FONTUP FONTDOWN FONTTOGGLE USERMODE1UP
USERMODE1DOWN USERMODE1TOGGLE USERMODE2UP USERMODE2DOWN USERMODE2TOGGLE
USERMODE3UP USERMODE3DOWN USERMODE3TOGGLE))
(DECLARE\: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS MODEKEYS MODEACTIONS)
)
(ADDTOVAR BREAKRESETFORMS ((LAMBDA (K)
(PROCESS.KEYBOARD NIL K))
'DEFAULT))
(PROCESS.KEYBOARD NIL K))
'DEFAULT))
(DEFINEQ
(FIXKEYBOARD
@@ -3390,12 +3299,15 @@
(VKBD.INIT)
)
(MOVD? 'METASHIFT 'OLDMETASHIFT)
(DEFINEQ
(METASHIFT
(LAMBDA FLG (* \; "Edited 16-Jun-92 08:44 by rmk:")
(LAMBDA FLG (* \; "Edited 6-Jul-2023 09:21 by rmk")
(* \; "Edited 16-Jun-92 08:44 by rmk:")
(* |;;| "Sets interpretation of swat key to first arg, where T means meta-shift, NIL means original setting. Returns previous setting. This differs from LLKEY version in that it changes the \\DORADOKEYACTIONS and \\DEFAULTKEYACTION table to insure that the metashift remains in effect across keyboard switches.")
(* |;;| "Sets interpretation of swat key to first arg, where T means meta-shift, NIL means original setting. Returns previous setting. This differs from LLKEY version in that it changes the \\DORADOKEYACTIONS and \\DEFAULTKEYACTION table to insure that the metashift remains in effect across keyboard switches.")
(PROG* ((METASTATUS '(METADOWN . METAUP))
(ARGUMENT (AND (IGREATERP FLG 0)
@@ -3408,19 +3320,19 @@
OLDSETTING)
(SETQ OLDSETTING (KEYACTION 'BLANK-BOTTOM ARGUMENT))
(* |;;|
 "Update \\doradokeyactions table so we don't lose the change when we repalce the keyaction table.")
(* |;;|
 "Update \\doradokeyactions table so we don't lose the change when we repalce the keyaction table.")
(AND (EQ (MACHINETYPE)
'DORADO)
(COND
(ARGUMENT (PUTASSOC 'BLANK-BOTTOM ARGUMENT \\DORADOKEYACTIONS)
(KEYACTION 'BLANK-BOTTOM ARGUMENT \\DEFAULTKEYACTION))
(T (SETQ \\DORADOKEYACTIONS (|for| X |in| \\DORADOKEYACTIONS
|join| (AND (NEQ (CAR X)
'BLANK-BOTTOM)
(LIST X))))
(KEYACTION 'BLANK-BOTTOM NIL \\DEFAULTKEYACTION))))
(CL:WHEN (EQ (KEYBOARDTYPE)
'DORADO)
(COND
(ARGUMENT (PUTASSOC 'BLANK-BOTTOM ARGUMENT \\DORADOKEYACTIONS)
(KEYACTION 'BLANK-BOTTOM ARGUMENT \\DEFAULTKEYACTION))
(T (SETQ \\DORADOKEYACTIONS (|for| X |in| \\DORADOKEYACTIONS
|join| (AND (NEQ (CAR X)
'BLANK-BOTTOM)
(LIST X))))
(KEYACTION 'BLANK-BOTTOM NIL \\DEFAULTKEYACTION))))
(RETURN (COND
((EQUAL OLDSETTING METASTATUS)
T)
@@ -3432,8 +3344,8 @@
(* \; "Call new definition if the old one had been called")
(AND (MEMB (MACHINETYPE)
'(MAIKO DORADO))
(AND (MEMB (KEYBOARDTYPE)
'(X DORADO))
(EQUAL (KEYACTION 'BLANK-BOTTOM)
'(METADOWN . METAUP))
(METASHIFT T))
@@ -3450,38 +3362,38 @@
(PUTPROPS VIRTUALKEYBOARDS COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1990 1992 1993
1995 1996 2017 2018))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (5486 14142 (FINDVIRTUALKEYBOARD 5496 . 8650) (PROCESS.KEYBOARD 8652 . 11328) (
VKBD.CREATE-KEYACTION-TABLE 11330 . 13246) (VKBD.WINDOWMENUFN 13248 . 13515) (VKBD.WINDOWMENUINIT
13517 . 14140)) (14143 19504 (LOADKEYBOARDDISPLAYFONTS 14153 . 19502)) (19613 20837 (DEFINEKEYBOARD
19623 . 20835)) (20838 25256 (VKBD.ADD-ITEM-TO-BACKGROUND-MENU 20848 . 21256) (VKBD.INIT 21258 . 23796
) (VKBD.CREATE-DEFAULT-KEYBOARD 23798 . 24390) (VKBD.ADD-DEFAULT-KEYBOARD 24392 . 25254)) (25257 31597
(VKBD.LOAD-FILE-COMMAND 25267 . 25721) (VKBD.LOAD-KEYBOARD-FILE 25723 . 29558) (
VKBD.STORE-FILE-COMMAND 29560 . 29901) (VKBD.STORE-KEYBOARD-FILE 29903 . 31595)) (31598 40899 (
SWITCHKEYBOARDS 31608 . 33086) (VKBD.POP-MENU-AND-SWITCH-KEYBOARDS 33088 . 33458) (
VKBD.POP-UP-KEYBOARDS-MENU 33460 . 34842) (VKBD.GET-CONFIGURATION 34844 . 35762) (
VKBD.SUBCONFIGURATION 35764 . 40897)) (40900 81185 (VKBD.BUTTONEVENTFN 40910 . 43817) (
VKBD.CENTER-BITMAP-IN-REGION 43819 . 45343) (VKBD.CLEAR-KEY-DISPLAY 45345 . 47476) (
VKBD.CREATE-KEYBOARD-BITMAP 47478 . 49522) (VKBD.CREATE-KEYBOARD-DISPLAY 49524 . 52653) (
VKBD.CURSORMOVEDFN 52655 . 54559) (VKBD.DISPLAY-CHARACTER 54561 . 56519) (VKBD.DISPLAY-EMPTY-KEY-CAP
56521 . 67059) (VKBD.DISPLAY-KEY 67061 . 70268) (VKBD.DISPLAY-KEY-CHARACTERS 70270 . 71463) (
VKBD.DRAW-KEY-CAPS 71465 . 73653) (VKBD.ERASE-FRAME 73655 . 73978) (VKBD.EXTEND-REGION 73980 . 74569)
(VKBD.GET-KEY-AND-REGIONS-OF-CURSOR-POSITION 74571 . 75186) (VKBD.GET-KEY-REGIONS 75188 . 75444) (
VKBD.INVERT-KEY 75446 . 75736) (VKBD.INVERT-REGION 75738 . 76429) (VKBD.KEYBOARD-WINDOW-REPAINTFN
76431 . 78388) (VKBD.LOWER-HALF-REGION 78390 . 78790) (VKBD.POSITION-IS-IN-KEY-REGION 78792 . 79076) (
VKBD.REMOVE-KEYBOARD-COMMAND 79078 . 79535) (VKBD.UNION-REGIONS 79537 . 80682) (VKBD.UPPER-HALF-REGION
80684 . 81183)) (81186 100744 (VKBD.KEY-ASSOC 81196 . 81696) (VKBD.CHAR-ASSIGNMENTP 81698 . 81862) (
VKBD.COMPLETE-KEYBOARD 81864 . 84523) (VKBD.CTRL-ASSIGNMENTP 84525 . 84768) (VKBD.EVENT-ASSIGNMENTP
84770 . 85010) (VKBD.META-ASSIGNMENTP 85012 . 85255) (VKBD.FRAME-KEY 85257 . 87134) (
VKBD.GET-CURRENT-KEY-ASSIGNMENT 87136 . 87505) (VKBD.GET-NON-CHAR-LABEL 87507 . 88162) (VKBD.ICONFN
88164 . 88900) (VKBD.INVERT-LOCK-KEYS 88902 . 89580) (VKBD.INVERT-SHIFT-KEYS 89582 . 90264) (
VKBD.TRANSLATE-KEY-ID 90266 . 90945) (VKBD.KEY-ID-TO-KEY-NAMES 90947 . 91433) (
VKBD.KEYBOARD-IS-KEYBOARDTYPE-KEYBOARD 91435 . 92033) (VKBD.LOCK-ASSIGNMENTP 92035 . 92482) (
VKBD.LOCK-KEYP 92484 . 92802) (VKBD.LOCK/NOLOCK 92804 . 92963) (VKBD.LOCKDOWN-ASSIGNMENTP 92965 .
93259) (VKBD.LOCKUP-ASSIGNMENTP 93261 . 93551) (VKBD.PARSE-CHAR-CODE 93553 . 94052) (
VKBD.PARSE-KEY-ASSIGNMENT 94054 . 97510) (VKBD.RESET-KEYBOARD-WINDOW 97512 . 98105) (
VKBD.SEND-CHARACTER 98107 . 99616) (VKBD.SHIFT-ASSIGNMENTP 99618 . 100012) (VKBD.SHIFTED-CHAR 100014
. 100172) (VKBD.UNDEFINE-KEYBOARD 100174 . 100581) (VKBD.UNSHIFTED-CHAR 100583 . 100742)) (113812
116258 (VKBD.\\KEYBOARDEVENTFN 113822 . 115025) (VKBD.RESETKEYACTIONTABLES 115027 . 116256)) (116364
122515 (NEWKEYACTION 116374 . 122513)) (123170 139358 (FIXKEYBOARD 123180 . 124300) (FIXKEYBOARDCONFIG
124302 . 131526) (FIXKEYASSIGNMENTS 131528 . 139356)) (139411 141267 (METASHIFT 139421 . 141265)))))
(FILEMAP (NIL (5390 13914 (FINDVIRTUALKEYBOARD 5400 . 8554) (PROCESS.KEYBOARD 8556 . 11232) (
VKBD.CREATE-KEYACTION-TABLE 11234 . 13018) (VKBD.WINDOWMENUFN 13020 . 13287) (VKBD.WINDOWMENUINIT
13289 . 13912)) (13915 19276 (LOADKEYBOARDDISPLAYFONTS 13925 . 19274)) (19385 20609 (DEFINEKEYBOARD
19395 . 20607)) (20610 24555 (VKBD.ADD-ITEM-TO-BACKGROUND-MENU 20620 . 21028) (VKBD.INIT 21030 . 22982
) (VKBD.CREATE-DEFAULT-KEYBOARD 22984 . 23576) (VKBD.ADD-DEFAULT-KEYBOARD 23578 . 24553)) (24556 30484
(VKBD.LOAD-FILE-COMMAND 24566 . 25020) (VKBD.LOAD-KEYBOARD-FILE 25022 . 28445) (
VKBD.STORE-FILE-COMMAND 28447 . 28788) (VKBD.STORE-KEYBOARD-FILE 28790 . 30482)) (30485 39786 (
SWITCHKEYBOARDS 30495 . 31973) (VKBD.POP-MENU-AND-SWITCH-KEYBOARDS 31975 . 32345) (
VKBD.POP-UP-KEYBOARDS-MENU 32347 . 33729) (VKBD.GET-CONFIGURATION 33731 . 34649) (
VKBD.SUBCONFIGURATION 34651 . 39784)) (39787 80072 (VKBD.BUTTONEVENTFN 39797 . 42704) (
VKBD.CENTER-BITMAP-IN-REGION 42706 . 44230) (VKBD.CLEAR-KEY-DISPLAY 44232 . 46363) (
VKBD.CREATE-KEYBOARD-BITMAP 46365 . 48409) (VKBD.CREATE-KEYBOARD-DISPLAY 48411 . 51540) (
VKBD.CURSORMOVEDFN 51542 . 53446) (VKBD.DISPLAY-CHARACTER 53448 . 55406) (VKBD.DISPLAY-EMPTY-KEY-CAP
55408 . 65946) (VKBD.DISPLAY-KEY 65948 . 69155) (VKBD.DISPLAY-KEY-CHARACTERS 69157 . 70350) (
VKBD.DRAW-KEY-CAPS 70352 . 72540) (VKBD.ERASE-FRAME 72542 . 72865) (VKBD.EXTEND-REGION 72867 . 73456)
(VKBD.GET-KEY-AND-REGIONS-OF-CURSOR-POSITION 73458 . 74073) (VKBD.GET-KEY-REGIONS 74075 . 74331) (
VKBD.INVERT-KEY 74333 . 74623) (VKBD.INVERT-REGION 74625 . 75316) (VKBD.KEYBOARD-WINDOW-REPAINTFN
75318 . 77275) (VKBD.LOWER-HALF-REGION 77277 . 77677) (VKBD.POSITION-IS-IN-KEY-REGION 77679 . 77963) (
VKBD.REMOVE-KEYBOARD-COMMAND 77965 . 78422) (VKBD.UNION-REGIONS 78424 . 79569) (VKBD.UPPER-HALF-REGION
79571 . 80070)) (80073 99631 (VKBD.KEY-ASSOC 80083 . 80583) (VKBD.CHAR-ASSIGNMENTP 80585 . 80749) (
VKBD.COMPLETE-KEYBOARD 80751 . 83410) (VKBD.CTRL-ASSIGNMENTP 83412 . 83655) (VKBD.EVENT-ASSIGNMENTP
83657 . 83897) (VKBD.META-ASSIGNMENTP 83899 . 84142) (VKBD.FRAME-KEY 84144 . 86021) (
VKBD.GET-CURRENT-KEY-ASSIGNMENT 86023 . 86392) (VKBD.GET-NON-CHAR-LABEL 86394 . 87049) (VKBD.ICONFN
87051 . 87787) (VKBD.INVERT-LOCK-KEYS 87789 . 88467) (VKBD.INVERT-SHIFT-KEYS 88469 . 89151) (
VKBD.TRANSLATE-KEY-ID 89153 . 89832) (VKBD.KEY-ID-TO-KEY-NAMES 89834 . 90320) (
VKBD.KEYBOARD-IS-KEYBOARDTYPE-KEYBOARD 90322 . 90920) (VKBD.LOCK-ASSIGNMENTP 90922 . 91369) (
VKBD.LOCK-KEYP 91371 . 91689) (VKBD.LOCK/NOLOCK 91691 . 91850) (VKBD.LOCKDOWN-ASSIGNMENTP 91852 .
92146) (VKBD.LOCKUP-ASSIGNMENTP 92148 . 92438) (VKBD.PARSE-CHAR-CODE 92440 . 92939) (
VKBD.PARSE-KEY-ASSIGNMENT 92941 . 96397) (VKBD.RESET-KEYBOARD-WINDOW 96399 . 96992) (
VKBD.SEND-CHARACTER 96994 . 98503) (VKBD.SHIFT-ASSIGNMENTP 98505 . 98899) (VKBD.SHIFTED-CHAR 98901 .
99059) (VKBD.UNDEFINE-KEYBOARD 99061 . 99468) (VKBD.UNSHIFTED-CHAR 99470 . 99629)) (112553 114999 (
VKBD.\\KEYBOARDEVENTFN 112563 . 113766) (VKBD.RESETKEYACTIONTABLES 113768 . 114997)) (115105 121256 (
NEWKEYACTION 115115 . 121254)) (121893 138081 (FIXKEYBOARD 121903 . 123023) (FIXKEYBOARDCONFIG 123025
. 130249) (FIXKEYASSIGNMENTS 130251 . 138079)) (138168 140132 (METASHIFT 138178 . 140130)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -1,21 +1,23 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Nov-2021 22:05:58" {DSK}<home>larry>medley>lispusers>BACKGROUND-YIELD.;2 1597
(FILECREATED "28-Jul-2023 09:49:24" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;2 1770
changes to%: (VARS BACKGROUND-YIELD)
:EDIT-BY "lmm"
previous date%: "20-Sep-2021 11:37:28" {DSK}<home>larry>medley>lispusers>BACKGROUND-YIELD.;1)
:CHANGES-TO (FNS BACKGROUND-YIELD)
:PREVIOUS-DATE "14-Nov-2021 22:05:58" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;1
)
(PRETTYCOMPRINT BACKGROUND-YIELDCOMS)
(RPAQQ BACKGROUND-YIELDCOMS (
(* ;;
 " Add a call to BACKGROUNDFNS to yield when not otherwise busy")
(* ;; " Add a call to BACKGROUNDFNS to yield when not otherwise busy")
(FNS BACKGROUND-YIELD INIT-YIELD)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INIT-YIELD T)))
(VARS BACKGROUND-YIELD)))
(FNS BACKGROUND-YIELD INIT-YIELD)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INIT-YIELD T)))
(VARS BACKGROUND-YIELD)))
@@ -24,10 +26,13 @@
(DEFINEQ
(BACKGROUND-YIELD
[LAMBDA NIL (* ; "Edited 20-Sep-2021 11:37 by larry")
(IF (FIXP BACKGROUND-YIELD)
THEN (SUBRCALL YIELD BACKGROUND-YIELD)
(SUBRCALL CAUSE-INTERRUPT])
[LAMBDA NIL (* ; "Edited 28-Jul-2023 09:11 by lmm")
(* ; "Edited 20-Sep-2021 11:37 by larry")
(LET ((\BACKGROUND T))
(DECLARE (SPECVARS \BACKGROUND))
(IF (FIXP BACKGROUND-YIELD)
THEN (SUBRCALL YIELD BACKGROUND-YIELD)
(SUBRCALL CAUSE-INTERRUPT])
(INIT-YIELD
[LAMBDA (ONP) (* ; "Edited 19-Sep-2021 13:32 by larry")
@@ -46,5 +51,5 @@
(RPAQQ BACKGROUND-YIELD 833333)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (833 1482 (BACKGROUND-YIELD 843 . 1098) (INIT-YIELD 1100 . 1480)))))
(FILEMAP (NIL (806 1655 (BACKGROUND-YIELD 816 . 1271) (INIT-YIELD 1273 . 1653)))))
STOP

Binary file not shown.

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