1
0
mirror of synced 2026-03-15 06:44:17 +00:00

Compare commits

..

2 Commits

1434 changed files with 529701 additions and 88619 deletions

View File

@@ -3,7 +3,6 @@ name: Bug report (not specific)
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
@@ -23,13 +22,11 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Context (please complete the following information):**
- Are you using online.interlisp.org? [yes / no]
- OS: [e.g. macOS/Linux/Cygwin]
- OS Version: [e.g. Ventura, Ubuntu 24, Raspberry Pi OS]
- Display/window system: [e.g. X11, SDL, VNC, Web browser]
- Host arch: [e.g. x86_64, arm7l, arm64, SPARC]
- OS: [e.g. Mac/Linux/Cygwin]
- OS Version: [e.g. High Siera/Ubuntu 18/Raspbian]
- Host arch: [e.g. x86_64, arm7l, arm64, sparc]
- Maiko version: [e.g. commit ID from `git log | head`]
- `IL:MAKESYSDATE`: [ date ] or `(il:print-lisp-information)`: copy-paste or screenshot this
- IL:MAKESYSDATE: [ date ]
**Additional context**
Add any other context about the problem here.

View File

@@ -3,7 +3,6 @@ name: Documentation problem
about: Problems with this web site?
title: ''
labels: ''
assignees: ''
---

View File

@@ -3,7 +3,6 @@ name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---

View File

@@ -63,6 +63,31 @@ defaults:
jobs:
######################################################################################
# Regularize the inputs so they can be referenced the same way whether they are
# the result of a workflow_dispatch or a workflow_call
inputs:
runs-on: ubuntu-latest
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then
echo "workflow_dispatch";
echo "draft=${{ github.event.inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ github.event.inputs.force }}" >> $GITHUB_OUTPUT;
else
echo "workflow_call";
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
fi
######################################################################################
@@ -70,14 +95,15 @@ jobs:
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-24.04
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -99,24 +125,24 @@ jobs:
build_and-push:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
needs: [sentry]
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Find latest release (draft or normal)
# and download its assets
- name: Download linux debs from latest (draft) release
run: |
tag=""
if [ "${{ inputs.draft }}" = "true" ];
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
then
tag=$(gh release list | grep Draft | head -n 1 | awk '{ print $3 }')
fi
@@ -151,11 +177,10 @@ jobs:
repo_name="${GITHUB_REPOSITORY#*/}"
docker_namespace="$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')"
docker_image="${docker_namespace}/${repo_name}"
if [ "${{ inputs.draft }}" = "false" ];
if [ "${{ needs.inputs.outputs.draft }}" = "false" ];
then
docker_tags="${docker_image}:latest,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
platforms="linux/amd64"
#,linux/arm64
platforms="linux/amd64,linux/arm64"
else
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
@@ -170,19 +195,18 @@ jobs:
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@master
with:
platforms: linux/amd64
# ,linux/arm64,linux/arm/v7
platforms: linux/amd64,linux/arm64,linux/arm/v7
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@master
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
uses: docker/login-action@v3
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@@ -191,7 +215,7 @@ jobs:
# checked out and the release tars just downloaded.
# Push the result to Docker Hub
- name: Build Docker Image for Push to Docker Hub
uses: docker/build-push-action@v5
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
@@ -213,17 +237,17 @@ jobs:
complete:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [sentry, build_and-push]
needs: [inputs, sentry, build_and-push]
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -60,20 +60,46 @@ 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
inputs:
runs-on: ubuntu-latest
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' = 'null' ];
then
echo "workflow_dispatch";
echo "draft=${{ github.event.inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ github.event.inputs.force }}" >> $GITHUB_OUTPUT;
else
echo "workflow_call";
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
fi
# JOB: sentry #######################################################################
# Use sentry-action to determine if this release has already been built
# based on the latest commit to the repo
sentry:
runs-on: ubuntu-24.04
needs: inputs
runs-on: ubuntu-latest
outputs:
release_not_built: ${{ steps.check.outputs.release_not_built }}
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -96,7 +122,7 @@ jobs:
loadup:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
outputs:
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
@@ -107,15 +133,15 @@ jobs:
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
release_url: ${{ steps.push.outputs.html_url }}
needs: [sentry]
needs: [inputs, sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -123,7 +149,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Setup release tag
- name: Setup Release Tag
@@ -137,7 +163,7 @@ jobs:
id: maiko
run: |
tag=""
if [ "${{ inputs.draft }}" = "true" ];
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
then
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
if [ $? -eq 0 ];
@@ -193,7 +219,7 @@ jobs:
# Checkout Notecards and tar it in the tarballsdir
- name: Checkout Notecards
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
@@ -236,14 +262,14 @@ jobs:
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
tag: ${{ env.MEDLEY_RELEASE_TAG }}
draft: ${{ inputs.draft }}
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@v4
uses: actions/upload-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -257,18 +283,18 @@ jobs:
#
linux_installer:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
needs: [sentry, loadup]
needs: [inputs, sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Environment variables
- name: Environment variables
@@ -285,7 +311,7 @@ jobs:
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -319,7 +345,7 @@ jobs:
mv medley-full-linux-x86_64-*.tgz medley.tgz
- name: Save medley tar for use in cygwin installers
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: medley-tar
path: |
@@ -333,12 +359,12 @@ jobs:
#
macos_installer:
runs-on: macos-14
runs-on: macos-12
needs: [sentry, loadup]
needs: [inputs, sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
# if: false
defaults:
@@ -349,7 +375,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Environment variables
- name: Environment variables
@@ -366,7 +392,7 @@ jobs:
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -406,10 +432,10 @@ jobs:
runs-on: windows-2022
needs: [sentry, loadup, linux_installer]
needs: [inputs, sentry, loadup, linux_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
outputs:
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
@@ -418,7 +444,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Store the values output from loadup job as environment variables
- name: Environment Variables
@@ -437,7 +463,7 @@ jobs:
# Retrieve medley tars from artifact store
- name: Retrieve medley tar
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: medley-tar
path: installers/cygwin/
@@ -507,12 +533,12 @@ jobs:
downloads_page:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
needs: [sentry, loadup, linux_installer, macos_installer, cygwin_installer]
needs: [inputs, sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == 'true'
|| needs.inputs.outputs.force == 'true'
steps:
@@ -530,7 +556,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v4
uses: actions/checkout@v3
# Upload a dummy file to release
@@ -561,7 +587,7 @@ jobs:
local_template="installers/downloads_page/medley_downloads.html"
local_filename="medley_downloads.html"
local_manpath="docs/man-page/man_medley.html"
if [ "${{ inputs.draft }}" = "true" ];
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
then
remote_filename="draft_downloads"
remote_manname="man_draft.html"
@@ -606,24 +632,24 @@ jobs:
complete:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
outputs:
build_successful: ${{ steps.output.outputs.build_successful }}
needs: [sentry, loadup, downloads_page]
needs: [inputs, sentry, loadup, downloads_page]
steps:
# Delete the tarballs artifact
- name: Delete tarballs artifact
uses: geekyeggo/delete-artifact@v5
uses: geekyeggo/delete-artifact@v2
with:
name: tarballs
failOnError: false
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -3,7 +3,6 @@
#
# Interlisp webflow to build a Medley release and push it to github.
# And to build a multiplatform Docker image for the release and push it to Docker Hub.
# And to kickoff a build and deploy workflow for Medley-online within the online repo.
#
# This workflow just calls two reuseable workflows to the two task:
# buildLoadup.yml and buildDocker.yml
@@ -15,12 +14,12 @@
# ******************************************************************************
name: "Build/Push Release, Docker, OIO"
name: "Build/Push Release & Docker"
# Run this workflow on ...
on:
schedule:
- cron: '17 9 * * 3'
- cron: '0 9 * * 1'
workflow_dispatch:
inputs:
@@ -69,14 +68,14 @@ jobs:
# the result of a workflow_dispatch or a workflow_call
inputs:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' != '{}' ];
if [ '${{ toJSON(inputs) }}' != 'null' ];
then
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
@@ -112,26 +111,3 @@ jobs:
######################################################################################
# Run HCFILES and push to files.interlisp.org
do_HCFILES:
needs: [inputs, do_release]
uses: ./.github/workflows/doHCFILES.yml
with:
draft: ${{ needs.inputs.outputs.draft }}
secrets: inherit
######################################################################################
# Kickoff workflow in online repo to build and deploy Medley docker image to oio
do_oio:
runs-on: ubuntu-24.04
needs: [inputs, do_docker]
steps:
- name: trigger-oio-buildAndDeploy
run: |
if [ ! "${{ needs.inputs.outputs.draft }}" = "true" ]
then
gh workflow run buildAndDeployMedleyDocker.yml --repo Interlisp/online --ref main
fi
env:
GITHUB_TOKEN: ${{ secrets.ONLINE_TOKEN }}

View File

@@ -1,146 +0,0 @@
#*******************************************************************************
# doHCFILES.yml
#
# Interlisp workflow to run HCFILES. HCFILES prints out PDF files for all of the
# files in the Medley directory and posts them on files.interlisp.org.
#
# This workflow is designed to be kickjed off by the buildReleaseInclDocker
# workflow running in the Medley repo, once the release has been completed successfully
#
# Copyright 2024 by Interlisp.org
#
# ******************************************************************************
name: Run HCFILES
# Run this workflow on ...
on:
workflow_dispatch:
inputs:
draft:
description: "Mark this as a draft release"
type: choice
options:
- 'false'
- 'true'
workflow_call:
inputs:
draft:
description: "Mark this as a draft release"
required: false
type: string
default: 'false'
secrets:
OIO_SSH_KEY:
required: true
MU_TOKEN:
required: true
defaults:
run:
shell: bash
jobs:
run_HCFILES:
runs-on: ubuntu-24.04
steps:
- name: Checkout Medley repo
uses: actions/checkout@v4
- name: Checkout maiko
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/maiko
path: ./maiko
- name: Checkout notecards
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- name: Checkout loops
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/loops
path: ./loops
- name: Checkout test
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/test
path: ./test
- name: Cleanup .git for notecards, loops, test
run: rm -rf ./notecards/.git ./loops/.git ./test/.git
- name: Download Maiko
run: |
gh release download --output /tmp/maiko.tgz \
--repo ${{ github.repository_owner }}/maiko \
--pattern '*-linux.x86_64.tgz'
tar -xzf /tmp/maiko.tgz
touch ./maiko/linux.x86_64/.skip
env:
GH_TOKEN: ${{ secrets.MU_TOKEN }}
- name: Install vnc & ghostscript (ps2pdf)
run: |
sudo apt-get update
sudo apt-get install -y tightvncserver
sudo apt-get install -y ghostscript
- name: Build apps.sysout
run: |
Xvnc -geometry 1280x720 :0 &
export DISPLAY=":0"
scripts/loadup-all.sh -apps
- name: Run HCFILES
run: |
export DISPLAY=":0"
scripts/do_hcfiles.sh
- name: Push Medley files (including created pdf files) to files.interlisp.org
run: |
# create a tar file of all of the directories to be pushed
tarfile=/tmp/source-$$.tgz
tar -c -z -f ${tarfile} --exclude=.git .
# set up ssh identity
eval $(ssh-agent)
ssh-add - <<< "${SSH_KEY}"
# set destination directory on files.interlisp.org
if [ "${{ inputs.draft }}" = "true" ]
then
dest=/srv/oio/files/development/medley
else
dest=/srv/oio/files/production/medley
fi
# Push tar file up to files.interlisp.org
batchfile=/tmp/batch-$$
echo "-put ${tarfile} ${dest}.tgz" > ${batchfile}
sftp -o StrictHostKeyChecking=no -b ${batchfile} ubuntu@files.interlisp.org
# now tar is up, untar it and juggle backups
scriptfile=/tmp/script-$$
# create script file to do the work
cat > ${scriptfile} <<EOF
rm -rf ${dest}.new
mkdir -p ${dest}.new
tar -C ${dest}.new -x -z -f ${dest}.tgz
rm -f ${dest}.tgz
rm -rf ${dest}.oldold
if [ -e ${dest}.old ]; then mv ${dest}.old ${dest}.oldold; fi
if [ -e ${dest} ]; then mv ${dest} ${dest}.old; fi
mv ${dest}.new ${dest}
EOF
# execute the script file via ssh
ssh -aTxo BatchMode=yes ubuntu@files.interlisp.org /bin/sh -s < ${scriptfile}
env:
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}

22
.gitignore vendored
View File

@@ -5,18 +5,6 @@ tmp/*
# releases directory
releases/*
# maiko directory
maiko/
# all PDFs (those explicitly checked in aren't ignored
# normally when you have derived files, you ignore them from git
# because they will get regenerated when you rebuild.
# MEDLEY-UTILS HCFILES regenerates
# index.html files are also produced by HCFILES
*.pdf
index.html
# all loadup files
@@ -24,25 +12,15 @@ loadups/exports.all
library/RDSYS*
loadups/lisp.sysout
loadups/full.sysout
# not currently included but might as well ignore it
loadups/fuller.sysout
loadups/*.dribble
loadups/whereis.hash
loadups/apps.sysout
loadups/fuller.database
loadups/build/
loadups/branches
loadups/gitinfo
# manual cross-reference files
*.IMPTR
# (Accidentally) created sysouts at any level
*.sysout
*.SYSOUT
#compiled code -- leave in for now
# *.lcom

View File

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

View File

@@ -3,7 +3,7 @@
First, we want to thank you for helping reach the goal of restoring Medley Interlisp
to the point where it is as useful today as it was 30 years ago.
This guide is meant to help you make useful contributions, whether to the [Maiko](https://github.com/Interlisp/maiko) C-based virtual machine implementation, the [Medley](https://github.com/Interlisp/medley) Lisp code (in Interlisp and Common Lisp), or [documentation](https://interlisp.org/software/using-medley). There are a number of [GitHub](https://github.com/Interlisp/medley/discussions/categories/github-use) problems that could use some attention.
This guide is meant to help you make useful contributions, whether to the [Maiko](https://github.com/Interlisp/maiko) C-based virtual machine implementation, the [Medley](https://github.com/Interlisp/medley) Lisp code (in Interlisp and Common Lisp), or [documentation](https://github.com/Interlisp/medley/wiki). There are a number of [GitHub](https://github.com/Interlisp/medley/discussions/categories/github-use) problems that could use some attention.
## Working with Maiko
@@ -17,8 +17,6 @@ The current arrangement of files and extentions is awkward for working on the im
* The most useful contributions are reproducible errors -- things that don't work as documented.
* Second most useful are reports of unexpected behavior -- things that aren't documented but behave unexpectedly.
To report these errors and behaviors [open an issue](https://github.com/Interlisp/medley/issues).
## Reporting a bug or feature request
* Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/Interlisp/medley/issues) or [Discussions](https://github.com/Interlisp/medley/discussions). Note that all issues and Discussions are found in the Medley repository, using labels to distinguish. Discussions are for questions or topics where there is some disagreement or uncertainty about the "right" direction.
* If you're unable to find a discussion or open issue addressing the problem, open a new one. Be sure to include a title
@@ -26,7 +24,7 @@ and clear description, as much relevant information as possible. Use the issue t
## Did you write a patch that fixes a bug?
* Some bug fixes and "improvements" have unintended consequences, well beyond what you might expect for well-written modern code. We don't have testing new builds automated or integrated. Be sure you've tested your patch.
* Open a new GitHub pull request with the patch.
* Open a new [GitHub pull request](https://github.com/Interlisp/maiko/pulls) with the patch.
* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
* Keep Pull Requests small and easily reviewable. https://www.thedroidsonroids.com/blog/splitting-pull-request for
a writeup of good practices.

View File

@@ -1,6 +1,6 @@
MIT License
Copyright © 2024 Interlisp.org. Portions originally copyrighted by Xerox, Venue, John Sybalsky, and other contributors.
Copyright Interlisp.org contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,18 +1,18 @@
(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS" "LISP") (EXPORT "CLOS-ICON"
"CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE
10)
(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS") (EXPORT "CLOS-ICON"
"CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE
10)
(IL:FILECREATED "28-Apr-2025 18:32:38" 
IL:|{DSK}<Users>arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;4| 91934
(IL:FILECREATED " 5-Dec-2023 12:07:41" IL:{CLOS}NEW-CLOS-BROWSER.\;3 91622
:EDIT-BY "akw"
:EDIT-BY "mth"
:CHANGES-TO (IL:PROPS (IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT))
:PREVIOUS-DATE "26-Apr-2025 17:16:46"
IL:|{DSK}<Users>arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;3|)
:PREVIOUS-DATE " 5-Dec-2023 00:58:05" IL:{CLOS}NEW-CLOS-BROWSER.\;2)
; Copyright (c) 1991, 2020, 2023 by Venue.
(IL:PRETTYCOMPRINT IL:NEW-CLOS-BROWSERCOMS)
(IL:RPAQQ IL:NEW-CLOS-BROWSERCOMS
@@ -275,7 +275,7 @@ IL:|{DSK}<Users>arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;3
(IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT (:PACKAGE (PROGN (XCL:DEFPACKAGE
"CLOS-BROWSER"
(:USE "CLOS" "LISP")
(:USE "CLOS")
(:EXPORT "CLOS-ICON"
"CLOS-BROWSER"
"ADD-BROWSER-METHOD"
@@ -1159,14 +1159,9 @@ Below this line operates on individual slots and methods."
(DOCUMENTATION (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS)))
(DEFMETHOD CLOS-BROWSER::PRINT-CLASS ((CLOS-BROWSER::SELF CLOS-BROWSER::CLOS-BROWSER-NODE))
(IF (IL:HASDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES)
(PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES))
(IL:PROMPTPRINT "No Printable Definition for the class " (SLOT-VALUE CLOS-BROWSER::SELF
'WEB::NAME))))
(PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS)
'CLOS::NAME)
'CLOS-BROWSER::CLASSES)))
(DEFMETHOD CLOS-BROWSER::SPECIALIZE-CLASS ((CLOS-BROWSER::NODE CLOS-BROWSER::CLOS-BROWSER-NODE)
&OPTIONAL CLOS-BROWSER::FORM CLOS-BROWSER::NEW-CLASS-NAME)
@@ -1216,8 +1211,7 @@ Below this line operates on individual slots and methods."
(RETURN))))))
(IL:SETCURSOR CLOS-BROWSER::ORIGINALCURSOR))))))
(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE)
(IL:* IL:\; "Edited 26-Apr-2025 14:31 by arunwelch")
(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE)
(LET ((CLOS-BROWSER::ORIGINALCURSOR (IL:CURSOR)))
(UNWIND-PROTECT
(PROGN (IL:SETCURSOR IL:WAITINGCURSOR)
@@ -1230,7 +1224,8 @@ Below this line operates on individual slots and methods."
(IL:* IL:|;;| "check for bug")
(WHEN (SYMBOLP CLOS-BROWSER::SUB-CLASS)
(SETQ CLOS-BROWSER::SUB-CLASS (FIND-CLASS CLOS-BROWSER::SUB-CLASS)))
(SETQ CLOS-BROWSER::SUB-CLASS (CLOS::SYMBOL-CLASS CLOS-BROWSER::SUB-CLASS
)))
(DOLIST (CLOS-BROWSER::BROWSER (SLOT-VALUE CLOS-BROWSER:CLOS-ICON
'CLOS-BROWSER::CLASS-BROWSERS))
(DOLIST (CLOS-BROWSER::SUPER-CLASS (SLOT-VALUE CLOS-BROWSER::SUB-CLASS
@@ -1392,12 +1387,14 @@ Below this line operates on individual slots and methods."
(0 (FORMAT T "Unspecialized methods cannot be copied. ~A" (CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD NIL)))
(1 (SETQ CLOS-BROWSER::FROM-CLASS (CAR CLOS-BROWSER::NON-T-CLASSES)))
(OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (FIND-CLASS (IL:PROMPTFORWORD
(FORMAT NIL
(OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (CLOS::SYMBOL-CLASS
(IL:PROMPTFORWORD (FORMAT NIL
"Which class in ~A do you wish to move from?"
(CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD
NIL))))))))
(
CLOS::FULL-METHOD-NAME
CLOS-BROWSER::METHOD
NIL))))))))
(IL:* IL:|;;| "should contain from-class. If it is not the same, abort.")
@@ -1468,7 +1465,7 @@ Below this line operates on individual slots and methods."
 "fix bug in the inconsistent way CLOS objects store T class specializers and do method lookup.")
(WHEN (EQ CLOS-BROWSER::CLASS T)
(SETQ CLOS-BROWSER::CLASS (FIND-CLASS T)))
(SETQ CLOS-BROWSER::CLASS (CLOS::SYMBOL-CLASS T)))
(LET ((CLOS-BROWSER::NODE (CLOS-BROWSER::BROWSER-CONTAINS-P
CLOS-BROWSER::CLASS CLOS-BROWSER::BROWSER)))
(WHEN CLOS-BROWSER::NODE
@@ -1585,8 +1582,7 @@ Below this line operates on individual slots and methods."
(IL:|if| PACKAGE
IL:|then| (IN-PACKAGE PACKAGE))))
(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE)
(IL:* IL:\; "Edited 26-Apr-2025 14:25 by arunwelch")
(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE)
"Retrieves a list of all the classes for a given package. When map-on-package is t this can be very slow."
(IL:* IL:|;;| "The maphash is always fast, whereas for some strange reason map-on-package varys among packages greatly.")
@@ -1598,7 +1594,7 @@ Below this line operates on individual slots and methods."
(DO-SYMBOLS (CLOS-BROWSER::SYM PACKAGE)
(IF (AND (EQ (SYMBOL-PACKAGE CLOS-BROWSER::SYM)
PACKAGE)
(FIND-CLASS CLOS-BROWSER::SYM T))
(CLOS::SYMBOL-CLASS CLOS-BROWSER::SYM T))
(PUSH CLOS-BROWSER::SYM CLOS-BROWSER::CLASSES)))
(MAPHASH #'(LAMBDA (CLOS-BROWSER::KEY CLOS-BROWSER::VAL)
(IF (EQ (SYMBOL-PACKAGE CLOS-BROWSER::KEY)
@@ -1627,16 +1623,17 @@ Below this line operates on individual slots and methods."
IL:|BackgroundMenuCommands|)
(SETQ IL:|BackgroundMenu| NIL)
(IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:COPYRIGHT ("Venue" 1991 2020 2023))
(IL:DECLARE\: IL:DONTCOPY
(IL:FILEMAP (NIL (11846 13516 (CLOS-BROWSER:BROWSE-CLASS 11846 . 13516)) (13518 14861 (
CLOS-BROWSER::COLLECT-FAMILY 13518 . 14861)) (14863 16895 (CLOS-BROWSER::MAKE-NODES 14863 . 16895)) (
16897 17572 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16897 . 17572)) (17574 18506 (CLOS-BROWSER::BROWSER-CONTAINS-P
17574 . 18506)) (42339 42663 (CLOS-BROWSER::EDIT 42339 . 42663)) (42665 48259 (
CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42665 . 48259)) (48261 49739 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS
48261 . 49739)) (49741 51031 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49741 . 51031)) (65408 66025 (
CLOS-BROWSER::COMPLETE-ADD-METHOD 65408 . 66025)) (66027 68239 (CLOS-BROWSER::COMPLETE-SPECIALIZE
66027 . 68239)) (68241 69946 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 68241 . 69946)) (69948 70113 (
CLOS-BROWSER::THIS-CLASS-NODE-P 69948 . 70113)) (70115 70217 (CLOS::CLASS-DIRECT-METHODS 70115 . 70217
)) (86738 87753 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86738 . 87753)) (88064 89648 (CLOS-BROWSER::IN-SELECT-PACKAGE
88064 . 89648)) (89650 90900 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89650 . 90900)))))
(IL:FILEMAP (NIL (11770 13440 (CLOS-BROWSER:BROWSE-CLASS 11770 . 13440)) (13442 14785 (
CLOS-BROWSER::COLLECT-FAMILY 13442 . 14785)) (14787 16819 (CLOS-BROWSER::MAKE-NODES 14787 . 16819)) (
16821 17496 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16821 . 17496)) (17498 18430 (CLOS-BROWSER::BROWSER-CONTAINS-P
17498 . 18430)) (42263 42587 (CLOS-BROWSER::EDIT 42263 . 42587)) (42589 48183 (
CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42589 . 48183)) (48185 49663 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS
48185 . 49663)) (49665 50955 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49665 . 50955)) (64981 65598 (
CLOS-BROWSER::COMPLETE-ADD-METHOD 64981 . 65598)) (65600 67812 (CLOS-BROWSER::COMPLETE-SPECIALIZE
65600 . 67812)) (67814 69482 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 67814 . 69482)) (69484 69649 (
CLOS-BROWSER::THIS-CLASS-NODE-P 69484 . 69649)) (69651 69753 (CLOS::CLASS-DIRECT-METHODS 69651 . 69753
)) (86457 87472 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86457 . 87472)) (87783 89367 (CLOS-BROWSER::IN-SELECT-PACKAGE
87783 . 89367)) (89369 90516 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89369 . 90516)))))
IL:STOP

Binary file not shown.

Binary file not shown.

View File

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

Binary file not shown.

View File

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

BIN
docs/Medley-Primer.pdf Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
See [Using Medley](https://interlisp.org/software/using-medley)
for a list of available documentation. Much of the documentation still
See [Documentation links](https://github.com/Interlisp/medley/wiki/Documentation)
a complete list of available documentation. Much of the documentation still
needs review and updating.
This directory has source (.TEDIT) for some documents that are found elsewhere.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

267
docs/ReleaseNote/LOT.pdf Normal file
View File

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

1372
docs/ReleaseNote/PREFACE.pdf Normal file

File diff suppressed because it is too large Load Diff

View File

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

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

157
docs/ReleaseNote/TABS2L.pdf Normal file
View File

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

View File

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

View File

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

View File

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

3930
docs/ReleaseNote/TOC.pdf Normal file

File diff suppressed because it is too large Load Diff

View File

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

Binary file not shown.

View File

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

File diff suppressed because it is too large Load Diff

BIN
docs/ReleaseNote/test.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
docs/Sun-Users-Guide.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,372 +1,107 @@
<h1>NAME</h1>
<p><strong>medley</strong> — starts up Medley Interlisp</p>
<h1>SYNOPSIS</h1>
<p><strong>medley</strong> [ flags ... ] [ <em>SYSOUT_FILE</em> ] [ --
<em>PASS_ON_ARGS</em> ]</p>
<p><strong>medley</strong> [ flags ... ] [ <em>SYSOUT_FILE</em> ] [ -- <em>PASS_ON_ARGS</em> ]</p>
<h1>DESCRIPTION</h1>
<p>Starts Medley Interlisp in a window.</p>
<h1>OPTIONS</h1>
<p><strong>MEDLEYDIR</strong> is an environment variable set by Medley
and used by many of the options described below. MEDLEYDIR is the top
level directory of the Medley installation that contains the specific
medley script that is invoked after all symbolic links are resolved. In
the standard global installation this will be
/usr/local/interlisp/medley. But Medley can be installed in multiple
places on any given machine and hence MEDLEYDIR is computed on each
invocation of medley.</p>
<p><strong>MEDLEYDIR</strong> is an environment variable set by Medley and used by many of the options described below. MEDLEYDIR is the top level directory of the Medley installation that contains the specific medley script that is invoked after all symbolic links are resolved. In the standard global installation this will be /usr/local/interlisp/medley. But Medley can be installed in multiple places on any given machine and hence MEDLEYDIR is computed on each invocation of medley.</p>
<h2>Flags</h2>
<dl>
<dt>-h, --help</dt>
<dd>
<p>Prints out a brief summary of the flags and arguments to medley.</p>
<dt><strong>-h, --help</strong></dt>
<dd><p>Prints out a brief summary of the flags and arguments to medley.</p>
</dd>
<dt>-z [+], --man [+]</dt>
<dd>
<p>Show the man page for medley. If the <strong>+</strong> parameter is
specified, then no pager is used when displaying the man page.</p>
<dt><strong>-z, --man</strong></dt>
<dd><p>Show the man page for medley</p>
</dd>
<dt>-c [<em>FILE</em> | -], --config [<em>FILE</em> | -]</dt>
<dd>
<p>Use <em>FILE</em> as the config file for this run of Medley. See
information on <em>CONFIG FILE</em> below.</p>
<p>If the given value is “-”, then suppress the use of a config file for
this run of Medley.</p>
<dt><strong>-f, --full</strong></dt>
<dd><p>Start Medley from the standard “full” sysout. full.sysout includes a complete Interlisp and CommonLisp environment with a standard set of development tools. It does not include any of the applications built using Medley. (See <em>SYSOUT_FILE</em> below for more information on starting sysouts.)</p>
</dd>
<dt>-f, --full</dt>
<dd>
<p>Start Medley from the standard “full” sysout. full.sysout includes a
complete Interlisp and CommonLisp environment with a standard set of
development tools. It does not include any of the applications built
using Medley.</p>
<p>(See <em>SYSOUT_FILE</em> below for more information on starting
sysouts.)</p>
<dt><strong>-l, --lisp</strong></dt>
<dd><p>Start Medley from the standard “lisp” sysout. lisp.sysout only includes the basic Interlisp and CommonLisp environment. (See <em>SYSOUT_FILE</em> below for more information on starting sysouts.)</p>
</dd>
<dt>-l, --lisp</dt>
<dd>
<p>Start Medley from the standard “lisp” sysout. lisp.sysout only
includes the basic Interlisp and CommonLisp environment.</p>
<p>(See <em>SYSOUT_FILE</em> below for more information on starting
sysouts.)</p>
<dt><strong>-a, --apps</strong></dt>
<dd><p>Start Medley from the standard “apps” sysout. apps.sysout includes everything in full.sysout plus Medley applications including Notecards, Rooms and CLOS. It also includes pre-installed links to key Medley documentation. (See <em>SYSOUT_FILE</em> below for more information on starting sysouts.)</p>
</dd>
<dt>-a, --apps</dt>
<dd>
<p>Start Medley from the standard “apps” sysout. apps.sysout includes
everything in full.sysout plus Medley applications including Notecards,
Rooms and CLOS. It also includes pre-installed links to key Medley
documentation.</p>
<p>(See <em>SYSOUT_FILE</em> below for more information on starting
sysouts.)</p>
<dt><strong>-e, --interlisp (relevent only when --apps is specified)</strong></dt>
<dd><p>Make the initial Exec window within Medley be an Interlisp Exec. Default is to start in an XCL Exec.</p>
</dd>
<dt>-u, --continue</dt>
<dd>
<p>Nullify any prior setting of the sysout file (e.g., from the config
file) - causing Medley to start from the virtual memory file resulting
from the previous invocation (with the same values for id and
logindir), if any. If there is no matching virtual memory file, Medley
will start from the full.sysout (see -f/full above).</p>
<p>Equivalent to “-y -”.</p>
<p>(See <em>SYSOUT FILE</em> section below.)</p>
<dt><strong>-n, --noscroll</strong></dt>
<dd><p>Ordinarily Medley displays scroll bars to enable the user to pan the Medley virtual display within the Medley window. This is true even when the entire virtual display fits within the window. Specifying --noscroll turns off the scroll bars. Note: If --noscroll is specified and the virtual screen is larger than the window, there will be no way to pan to the non-visible parts of the virtual display.</p>
</dd>
<dt>-y [<em>SYSOUT_FILE</em> | -], --sysout [<em>SYSOUT-FILE</em> |
-]</dt>
<dd>
<p>Start Medley from the specified <em>SYSOUT-FILE</em>. This is an
alternative to specifying the <em>SYSOUT-FILE</em> as the last argument
on the command line (but before any <em>PASS_ON_ARGS</em>). It can be
used to specify the <em>SYSOUT-FILE</em> in the config file (see
information on <em>CONFIG FILE</em> below).</p>
<p>If the given value is “-”, then any prior setting of the sysout file
(e.g., from the config file) is nullified (see -u/continue above).</p>
<p>(See <em>SYSOUT FILE</em> section below.)</p>
<dt><strong>-g <em>WxH</em>, --geometry <em>WxH</em></strong></dt>
<dd><p>Sets the size of the X Window (or VNC window) that Medley runs in to be Width x Height. (Full X Windows geomtery specification with +X+Y is not currently supported). If --geometry is not specified but --screensize is, then the window size will be determined based on the --screensize values and the --noscroll flag. If neither --geometry nor --screensize is provided, then the window size is set to 1440x900 if --noscroll is set and 1462x922 if --noscroll is not set.</p>
</dd>
<dt>-e [+ | -], --interlisp [+ | -]</dt>
<dd>
<p>If value is “+” or no value, make the initial Exec window within
Medley be an Interlisp Exec. If value is “-”, make the initial Exec
window be the default XCL Exec.</p>
<p>This flag applies only when the apps flag is used.</p>
<dt><strong>-s <em>WxH</em>, --screensize <em>WxH</em></strong></dt>
<dd><p>Sets the size of the virtual display as seen from Medleys point of view. The Medley window is an unscaled viewport onto this virtual display. If --screensize is not specified but --geometry is, then the virtual display size will be set so that the entire virtual display fits into the given window geometry. If neither --screensize nor --geometry is provided, then the screen size is set to 1440x900.</p>
</dd>
<dt>-n [+ | -], --noscroll [+ | -]</dt>
<dd>
<p>Medley ordinarily displays scroll bars to enable the user to pan the
Medley virtual display within the Medley window. This is true even when
the entire virtual display fits within the window.</p>
<p>Specifying “-n +” (noscroll +) turns off scroll bars. Specifying “-n
-” (scroll -) turns on scroll bars. Specifying -n (noscroll) with no
value is equivalent to specifying “noscroll +”.</p>
<p>Default is scroll bars off.</p>
<p>Note: If scroll bars are off and the virtual screen is larger than
the window, there will be no way to pan to the non-visible parts of the
virtual display.</p>
<dt><strong>-t <em>STRING</em>, --title <em>STRING</em></strong></dt>
<dd><p>Use STRING as title of Medley window. Ignored when when the --vnc flag is set or when running on Windows (Docker) installations.</p>
</dd>
<dt>-g [<em>WxH</em> | -], --geometry [<em>WxH</em> | -]</dt>
<dd>
<p>Sets the size of the X Window (or VNC window) that Medley runs in to
be Width x Height. (Full X Windows geometry specification with +X+Y is
not currently supported).</p>
<p>If a value of “-” is given, geometry is set to the default value.</p>
<p>If --geometry is not specified but --screensize is, then the window
size will be determined based on the --screensize values and the
--noscroll flag. If neither --geometry nor --screensize is provided,
then the window size is set to 1440x900 if --noscroll is set and
1462x922 if --noscroll is not set.</p>
<p>(Also see note below under <em>CONFIG FILE</em> on the use of
geometry and screensize in config files.)</p>
<dt><strong>-d <em>:N</em>, --display <em>:N</em> ** <strong>Not</strong> applicable to Windows (Docker) installations **</strong></dt>
<dd><p>Use X display :N. Defaults to the value of $DISPLAY. This flag is ignored when the --vnc flag is set as well as on Windows (Docker) installations.</p>
</dd>
<dt>-s [<em>WxH</em> | -], --screensize [<em>WxH</em> | -]</dt>
<dd>
<p>Sets the size of the virtual display as seen from Medleys point of
view. The Medley window is an unscaled viewport onto this virtual
display.</p>
<p>If a value of “-” is given, screensize is set to the default
value.</p>
<p>If --screensize is not specified but --geometry is, then the virtual
display size will be set so that the entire virtual display fits into
the given window geometry. If neither --screensize nor --geometry is
provided, then the screen size is set to 1440x900.</p>
<p>(Also see note below under <em>CONFIG FILE</em> on the use of
geometry and screensize in config files.)</p>
<dt><strong>-v, --vnc ** <strong>Applicable</strong> only to WSL installations **</strong></dt>
<dd><p>Use a VNC window running on the Windows side instead of an X window. The VNC window will folllow the Windows desktop scaling setting allowing for much more usable Medley on high resolution displays. On WSL, X windows do not scale well. This flag is always set for WSL1 installations.</p>
</dd>
<dt>-ps [<em>N</em> | -], pixelscale [<em>N</em> | -] **
<strong>Applicable only when display is SDL-based (e.g., on
Windows/Cygwin)</strong> **</dt>
<dd>
<p>Sets the pixel scaling factor to <em>N</em>, an integer</p>
<p>If value of “-” is given, the pixel scale factor is set to its
default of 1.</p>
<dt><strong>-i [<em>ID_STRING</em> | - | --], --id [<em>ID_STRING</em> | - | --]</strong></dt>
<dd><p>Use ID_STRING as the id for this run of Medley, iunless ID_STRING is “-” or “--”. If ID_STRING is “-”, then use the basename of $MEDLEYDIR as the id. If ID_STRING is “--”, then use the basename of the parent directory of $MEDLEYDIR as the id. Only one instance of Medley with a given id can run at a time. The id is used to distinguish the virtual memory stores so that multiple instances of Medley can run simultaneously. Default id is “default”.</p>
</dd>
<dt>-t [<em>STRING</em> | -], --title [<em>STRING</em> | -]</dt>
<dd>
<p>Use <em>STRING</em> as title of Medley window.</p>
<p>If <em>STRING</em> includes the character sequence “%i”, then the
value of the id string (see id flag below) prefixed by “::” will be
substituited for the “%i”. Example: if the id is “run_45” and
<em>STRING</em> is “Medley Interlisp %i”, then the actual window title
will be “Medley Interlisp :: run_45”.</p>
<p>If the value of “-” is given, sets the title to its default value
(“Medley Interlisp %i”).</p>
<p>This flag is ignored when when the --vnc flag is set.</p>
<dt><strong>-m <em>N</em>, --mem <em>N</em></strong></dt>
<dd><p>Set Medley to run in <em>N</em> MB of virtual memory. Defaults to 256MB.</p>
</dd>
<dt>-d [<em>:N</em> | -], --display [<em>:N</em> | -]</dt>
<dd>
<p>Use X display <em>:N</em>.</p>
<p>If value is “-”, reset display to its default value. Default value is
the value of $DISPLAY.</p>
<p>On platforms that support both SDL and X Windows, set the value of -d
(display) to “SDL” to select using SDL instead of X Windows.</p>
<p>This flag is ignored on the Windows/Cygwin platform and when the
--vnc flag is set on Windows System for Linux.</p>
<dt><strong>-p <em>FILE</em>, --vmem <em>FILE</em></strong></dt>
<dd><p>Use FILE as the Medley virtual memory (vmem) store. FILE must be writeable by the current user. Care must be taken not to use the same vmem FILE for two instances of Medley running simultaneously. The --id flag will not protect against vmem collisions when the --vmem flag is used. Default is to store the vmem in LOGINDIR/vmem/lisp_XXX.virtualmem, where XXX is the id of this Medley run (see --id flag above). See --logindir below for setting of LOGINDIR. On Windows (Docker) installations, <em>FILE</em> is specified in the Medley file system, not the host Windows file system.</p>
</dd>
<dt>-v [+ | -] , --vnc [+ | -] ** <strong>Applicable only to WSL
installations</strong> **</dt>
<dd>
<p>If value is “+” or no value is given, then use a VNC window running
on the Windows side instead of an X window. If value is “-”, then do not
use a VNC window, relying instead on a standard X Window.</p>
<p>A VNC window will folllow the Windows desktop scaling setting
allowing for much more usable Medley on high resolution displays. On
WSL, X windows do not scale well.</p>
<p>This flag is always set for WSL1 installations.</p>
<dt><strong>-r [<em>FILE</em> | -], --greet [<em>FILE</em> | -]</strong></dt>
<dd><p>Use FILE as the Medley greetfile, unless FILE is “-” in which case Medley will start up without using a greetfile. The default Medley greetfile is $MEDLEYDIR/greetfiles/MEDLEYDIR-INIT, except when the --apps flag is used in which case it is $MEDLEYDIR/greetfiles/APPS-INIT. On Windows (Docker) installations, <em>FILE</em> is specified in the Medley file system, not the host Windows file system.</p>
</dd>
<dt>-i [<em>ID_STRING</em> | - | --], --id [<em>ID_STRING</em> | - |
--]</dt>
<dd>
<p>Use <em>ID_STRING</em> as the id for this run of Medley, unless the
given value is “-”, “--”, or “---”.</p>
<p>Only one instance of Medley can be run simultaneously for any given
id.</p>
<p><em>ID-STRING</em> can consist of any alphanumeric character plus the
underscore (_) character, ending (optionally) in a “+” character. If
<em>ID_STRING</em> ends with a “+” (including just a singleton “+”),
then Medley will add a number to the id to make it unique among
currently running Medley intsances.</p>
<p>If the given value is “-”, then the id will be (re)set to “default”
(e.g., if it was previously set in the config file). If it is “--”, then
id will be set to the basename of $MEDLEYDIR. If ID_STRING is “---”,
then id will be set to the basename of the parent directory of
$MEDLEYDIR.</p>
<p>Default id is “default”.</p>
<dt><strong>-x [<em>DIR</em> | -], --logindir [<em>DIR</em> | -] ** <strong>On</strong> Linux and WSL installations **</strong></dt>
<dd><p>Use DIR as LOGINDIR in Medley, unless DIR is “-”, in which case use $MEDLEYDIR/logindir. DIR (or $MEDLEYDIR/logindir) must be writeable by the current user. LOGINDIR defaults to $HOME/il. LOGINDIR is used by Medley as the working directory on start-up and where it loads any “personal” initialization file from.</p>
</dd>
<dt>-m [<em>N</em> | -], --mem [<em>N</em> | -]</dt>
<dd>
<p>Set Medley to run in <em>N</em> MB of virtual memory. Defaults to
256MB.</p>
<dt><strong>-x [<em>DIR</em> | -], --logindir [<em>DIR</em> | -] ** <strong>On</strong> Windows (Docker) installations **</strong></dt>
<dd><p>Map DIR in the Windows host file system to /home/medley/il in the Medley file system (in the Docker container). LOGINDIR is always /home/medley/il from Medleys standpoint. The “-” value is not valid in this case.</p>
</dd>
</dl>
<p>If a value of “-” is given, resets to default value.</p>
<dl>
<dt>-p [<em>FILE</em> | -], --vmem [<em>FILE</em> | -]</dt>
<dd>
<p>Use <em>FILE</em> as the Medley virtual memory (vmem) store.
<em>FILE</em> must be writeable by the current user.</p>
<p>Care must be taken not to use the same vmem FILE for two instances of
Medley running simultaneously. The --id flag will not protect against
vmem collisions when the --vmem flag is used.</p>
<p>If the value “-” is given, then resets the vmem file to the
default.</p>
<p>Default is to store the vmem in LOGINDIR/vmem/lisp_III.virtualmem,
where III is the id of this Medley run (see --id flag above). See
--logindir below for setting of LOGINDIR.</p>
<dt><strong>-u, --update ** <strong>Windows</strong> (Docker) installations only **</strong></dt>
<dd><p>Before running Medley, do a pull to retrieve the latest interlisp/medley docker image from Docker Hub.</p>
</dd>
<dt>-r [<em>FILE</em> | -], --greet [<em>FILE</em> | -]</dt>
<dd>
<p>Use <em>FILE</em> as the Medley greetfile.</p>
<p>If the given value is “-”, Medley will start up without using a
greetfile.</p>
<p>The default Medley greetfile is $MEDLEYDIR/greetfiles/MEDLEYDIR-INIT,
except when the --apps flag is used in which case it is
$MEDLEYDIR/greetfiles/APPS-INIT.</p>
<p>On Windows/Cygwin installations, <em>FILE</em> is specified in the
Medley file system, not the host Windows file system.</p>
<dt><strong>-b, --background ** <strong>Windows</strong> (Docker) installations only **</strong></dt>
<dd><p>Run Medley in background rather than foreground.</p>
</dd>
<dt>-cm [<em>FILE</em> | -], --rem.cm [<em>FILE</em> | -]</dt>
<dd>
<p>Use <em>FILE</em> as the REM.CM file that Medley reads and executes
at startup - after any greet files. Usually used only for loadups and
other maintenance operations .</p>
<p>If the given value is “-”, Medley will start up without using REM.CM
file.</p>
<p>There is no default Medley REM.CM file.</p>
<p>On Windows/Cygwin installations, <em>FILE</em> is specified in the
Medley file system, not the host Windows file system.</p>
<dt><strong>-p <em>PORT</em>, --port <em>PORT</em> ** <strong>Windows</strong> (Docker) installations only **</strong></dt>
<dd><p>Use <em>PORT</em> as the port that VNC viewer uses to contact the VNC server within the Docker container. Default is 5900.</p>
</dd>
<dt>-x [<em>DIR</em> | - | ], --logindir [<em>DIR</em> | - | ]</dt>
<dd>
<p>Use <em>DIR</em> as LOGINDIR in Medley. <em>DIR</em> must be
writeable by the current user.</p>
<p>LOGINDIR is used by Medley as the working directory on start-up and
where it loads any “personal” initialization file from.</p>
<p>If the given value is “-”, then reset LOGINDIR to its default value.
If the given value is “–”, uses $MEDLEYDIR/logindir as LOGINDIR.</p>
<p>LOGINDIR defaults to $HOME/il.</p>
<p>On Windows/Cygwin installations, <em>FILE</em> is specified in the
Medley file system, not the host Windows file system.</p>
</dd>
<dt>-nh <em>Host:Port:Mac:Debug</em>, --nethub
<em>Host:Port:Mac:Debug</em></dt>
<dd>
<p>Set the parameters for using Nethub XNS networking. <em>Host</em> is
the full domain name of the nethub host. <em>Port</em> is the port on
<em>Host</em> that nethub is using. <em>Mac</em> is the Mac address that
this instance of Medley should use when contacting the nethub host.
<em>Debug</em> is the level of nethub debug information that should be
printed on stdout (value is 0, 1, or 2). A <em>Host</em> value is
required and serves to turn nethub functionality on. <em>Port</em>,
<em>Mac</em> and <em>Debug</em> parameters are optional and will default
if left off.</p>
<p>If any of the parameters have a value of “-”, any previous setting
(e.g., in a config file) for the parameter will be reset to the default
value - which in the case of <em>Host</em> is the null string, turning
nethub functionality off.</p>
</dd>
<dt>-nf, -NF, nofork</dt>
<dd>
<p>No fork. Relevant only to the Medley loadup workflow.</p>
</dd>
<dt>-prog <em>EXE</em>, maikoprog <em>EXE</em></dt>
<dd>
<p>Use <em>EXE</em> as the basename of the Maiko executable. Relevant
only to the Medley loadup workflow.</p>
</dd>
<dt>maikodir <em>DIR</em></dt>
<dd>
<p>Use <em>DIR</em> as the directory containing the Maiko emulator. For
testing purposes only.</p>
</dd>
<dt>-cc [<em>FILE</em> | -], --repeat [<em>FILE</em> | -]</dt>
<dd>
<p>Run Medley once. And then as long as <em>FILE</em> exists and is
greater then zero length, repeatedly run Medley using <em>FILE</em> as
the REM.CM file that Medley reads and executes at startup. Each run of
Medley can change the contents of <em>FILE</em> to effect the subsequent
run of Medley. To end the cycle, Medley needs to delete <em>FILE</em>.
WIthin Medley, <em>FILE</em> can be found as the value of the
environment variable LDEREPEATCM.</p>
<p>On Windows/Cygwin installations, <em>FILE</em> is specified in the
Medley file system, not the host Windows file system.</p>
</dd>
<dt>-am, automation</dt>
<dd>
<p>Useful only when using vnc (and always on WSL1). When calling medley
as part of an automation script, often Medley will run for a very short
time (&lt; a couple of seconds). This can cause issues with medley code
that detects Xvnc server failures. Setting this flag notifies Medley
that very short Medley sessions are possible and the Xvnc error
detection needs to be adjusted accordingly.</p>
</dd>
<dt>-tg [<em>TAG</em> | -], --tag [<em>TAG</em> | -]</dt>
<dd>
<p>By default, sysout files are loaded from the MEDLEYDIR/loadups
directory. If “--tag <em>TAG</em>” is specified, then by default sysout
files are loaded from the MEDLEYDIR/loadups/tagged/TAG directory. The
sysouts in these directories are created using a loadups script with the
--tag flag set. See the loadup man page. If <em>TAG</em> is “-”, then
the name of the active git branch for MEDLEYDIR (if any) is used as
<em>TAG</em>.</p>
<dt><strong>-w [<em>DISTRO</em> | -], --wsl [<em>DISTRO</em> | -] ** <strong>Windows</strong> (Docker) installations only **</strong></dt>
<dd><p>Run Medley in the context of the named WSL <em>DISTRO</em> instead of within Docker. If <em>DISTRO</em> is “-”, used the default WSL distro. Equivalent to typing “wsl -d <em>DISTRO</em> medley ...” into a Command or Powershell window.</p>
</dd>
</dl>
<h2>Other Options</h2>
<dl>
<dt><em>SYSOUT_FILE</em></dt>
<dd>
<p>The pathname of the file to use as a sysout for Medley to start from.
If SYSOUT_FILE is not provided and none of the flags (--apps, --full,
--lisp) is used, then Medley will start from the saved virtual memory
file from the previous session with the same ID_STRING as this run. If
no such virtual memory file exists, then Medley will start from the
standard full.sysout (equivalent to specifying the --full flag). On
Windows (Docker) installations, <em>SYSOUT_FILE</em> is specified in the
Medley file system, not the host Windows file system.</p>
<dt><strong><em>SYSOUT_FILE</em></strong></dt>
<dd><p>The pathname of the file to use as a sysout for Medley to start from. If SYSOUT_FILE is not provided and none of the flags (--apps, --full, --lisp) is used, then Medley will start from the saved virtual memory file from the previous session with the same ID_STRING as this run. If no such virtual memory file exists, then Medley will start from the standard full.sysout (equivalent to specifying the --full flag). On Windows (Docker) installations, <em>SYSOUT_FILE</em> is specified in the Medley file system, not the host Windows file system.</p>
</dd>
<dt><em>PASS_ON_ARGS</em></dt>
<dd>
<p>All arguments after the “--” flag, are passed unaltered to the Maiko
emulator.</p>
<dt><strong><em>PASS_ON_ARGS</em></strong></dt>
<dd><p>All arguments after the “--” flag, are passed unaltered to lde via run-medley.</p>
</dd>
</dl>
<h1>CONFIG FILE</h1>
<p>A config file can be used to “pre-specify” any of the above command
line arguments. The config file consists of command line arguments
(flags or flag-value pairs), <em>one per line</em>. These arguments are
read from the config file and prepended to the arguments actually given
on the command line. Since later arguments override earlier arguments,
any argument actually given on the command line will override a
conflicting argument given in the config file.</p>
<p>Unless specified using the -c (config) argument, the default config
file will be $MEDLEYDIR/.medley_config, if it exists, and
$HOME/.medley_config, otherwise.</p>
<p>Specifying, “-c -” or “config -” on the command line will suppress
the use of config files for the current run of Medley.</p>
<p><em>Note:</em> care must be taken when using -g (geometry) and/or -s
(screensize) arguments in config files. If only one of these is
specified, then the other is conputed. But if both are specified, then
the specified dimensions are used as given. Unexpected results can arise
if one is specified in the config file but the other is specified on the
command line. In this case, the two specified dimensions will be used as
given. It will not be the case, as might be expected, that the dimension
given in the config file will be overridden by a dimension computed from
the dimension given on the command line.</p>
<h1>OTHER FILES</h1>
<h1>FILES</h1>
<dl>
<dt>$HOME/il</dt>
<dd>
<p>Default Medley LOGINDIR</p>
<dt><strong>$HOME/il</strong></dt>
<dd><p>Default Medley LOGINDIR</p>
</dd>
<dt>$HOME/il/vmem/lisp.virtualmem</dt>
<dd>
<p>Default virtual memory file</p>
<dt><strong>$HOME/il/vmem/lisp.virtualmem</strong></dt>
<dd><p>Default virtual memory file</p>
</dd>
<dt>$HOME/il/INIT(.LCOM)</dt>
<dd>
<p>Default personal init file</p>
<dt><strong>$HOME/il/INIT(.LCOM)</strong></dt>
<dd><p>Default personal init file</p>
</dd>
<dt>$MEDLEYDIR/greetfiles/MEDLEYDIR-INIT(.LCOM)</dt>
<dd>
<p>Default Medley greetfile</p>
<dt><strong>$MEDLEYDIR/greetfiles/MEDLEYDIR-INIT(.LCOM)</strong></dt>
<dd><p>Default Medley greetfile</p>
</dd>
</dl>
<h1>BUGS</h1>
<p>See GitHub Issues:
&lt;https://github.com/Interlisp/medley/issues&gt;</p>
<p>See GitHub Issues: &lt;https://github.com/Interlisp/medley/issues&gt;</p>
<h1>COPYRIGHT</h1>
<p>Copyright(c) 2023-2024 by Interlisp.org</p>
<p>Copyright(c) 2023 by Interlisp.org</p>

View File

@@ -1,29 +1,15 @@
.\" Automatically generated by Pandoc 3.1.3
.\" Automatically generated by Pandoc 2.5
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.ad l
.TH "MEDLEY" "1" "" "" "Start Medley Interlisp"
.nh
.nh \" Turn off hyphenation by default.
.SH NAME
.PP
\f[B]medley\f[R] \[em] starts up Medley Interlisp
.SH SYNOPSIS
.PP
\f[B]medley\f[R] [ flags \&...
] [ \f[I]SYSOUT_FILE\f[R] ] [ -- \f[I]PASS_ON_ARGS\f[R] ]
\f[B]medley\f[R] [ flags \&... ] [ \f[I]SYSOUT_FILE\f[R] ] [ \-\-
\f[I]PASS_ON_ARGS\f[R] ]
.SH DESCRIPTION
.PP
Starts Medley Interlisp in a window.
@@ -42,436 +28,193 @@ hence MEDLEYDIR is computed on each invocation of medley.
.PP
\
.TP
-h, --help
.B \-h, \-\-help
Prints out a brief summary of the flags and arguments to medley.
.TP
-z [+], --man [+]
Show the man page for medley.
If the \f[B]+\f[R] parameter is specified, then no pager is used when
displaying the man page.
.B \-z, \-\-man
Show the man page for medley
.TP
-c [\f[I]FILE\f[R] | -], --config [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the config file for this run of Medley.
See information on \f[I]CONFIG FILE\f[R] below.
.RS
.PP
If the given value is \[lq]-\[rq], then suppress the use of a config
file for this run of Medley.
.RE
.TP
-f, --full
.B \-f, \-\-full
Start Medley from the standard \[lq]full\[rq] sysout.
full.sysout includes a complete Interlisp and CommonLisp environment
with a standard set of development tools.
It does not include any of the applications built using Medley.
.RS
.PP
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-l, --lisp
.B \-l, \-\-lisp
Start Medley from the standard \[lq]lisp\[rq] sysout.
lisp.sysout only includes the basic Interlisp and CommonLisp
environment.
.RS
.PP
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-a, --apps
.B \-a, \-\-apps
Start Medley from the standard \[lq]apps\[rq] sysout.
apps.sysout includes everything in full.sysout plus Medley applications
including Notecards, Rooms and CLOS.
It also includes pre-installed links to key Medley documentation.
.RS
.PP
It also includes pre\-installed links to key Medley documentation.
(See \f[I]SYSOUT_FILE\f[R] below for more information on starting
sysouts.)
.RE
.TP
-u, --continue
Nullify any prior setting of the sysout file (e.g., from the config
file) - causing Medley to start from the virtual memory file resulting
from the previous invocation (with the same values for \[en]id and
\[en]logindir), if any.
If there is no matching virtual memory file, Medley will start from the
full.sysout (see -f/\[en]full above).
.RS
.PP
Equivalent to \[lq]-y -\[rq].
.PP
(See \f[I]SYSOUT FILE\f[R] section below.)
.RE
.B \-e, \-\-interlisp (relevent only when \-\-apps is specified)
Make the initial Exec window within Medley be an Interlisp Exec.
Default is to start in an XCL Exec.
.TP
-y [\f[I]SYSOUT_FILE\f[R] | -], --sysout [\f[I]SYSOUT-FILE\f[R] | -]
Start Medley from the specified \f[I]SYSOUT-FILE\f[R].
This is an alternative to specifying the \f[I]SYSOUT-FILE\f[R] as the
last argument on the command line (but before any
\f[I]PASS_ON_ARGS\f[R]).
It can be used to specify the \f[I]SYSOUT-FILE\f[R] in the config file
(see information on \f[I]CONFIG FILE\f[R] below).
.RS
.PP
If the given value is \[lq]-\[rq], then any prior setting of the sysout
file (e.g., from the config file) is nullified (see -u/\[en]continue
above).
.PP
(See \f[I]SYSOUT FILE\f[R] section below.)
.RE
.TP
-e [+ | -], --interlisp [+ | -]
If value is \[lq]+\[rq] or no value, make the initial Exec window within
Medley be an Interlisp Exec.
If value is \[lq]-\[rq], make the initial Exec window be the default XCL
Exec.
.RS
.PP
This flag applies only when the \[en]apps flag is used.
.RE
.TP
-n [+ | -], --noscroll [+ | -]
Medley ordinarily displays scroll bars to enable the user to pan the
.B \-n, \-\-noscroll
Ordinarily Medley displays scroll bars to enable the user to pan the
Medley virtual display within the Medley window.
This is true even when the entire virtual display fits within the
window.
.RS
.PP
Specifying \[lq]-n +\[rq] (\[en]noscroll +) turns off scroll bars.
Specifying \[lq]-n -\[rq] (\[en]scroll -) turns on scroll bars.
Specifying -n (\[en]noscroll) with no value is equivalent to specifying
\[lq]\[en]noscroll +\[rq].
.PP
Default is scroll bars off.
.PP
Note: If scroll bars are off and the virtual screen is larger than the
window, there will be no way to pan to the non-visible parts of the
Specifying \-\-noscroll turns off the scroll bars.
Note: If \-\-noscroll is specified and the virtual screen is larger than
the window, there will be no way to pan to the non\-visible parts of the
virtual display.
.RE
.TP
-g [\f[I]WxH\f[R] | -], --geometry [\f[I]WxH\f[R] | -]
.B \-g \f[I]WxH\f[R], \-\-geometry \f[I]WxH\f[R]
Sets the size of the X Window (or VNC window) that Medley runs in to be
Width x Height.
(Full X Windows geometry specification with +X+Y is not currently
(Full X Windows geomtery specification with +X+Y is not currently
supported).
.RS
.PP
If a value of \[lq]-\[rq] is given, geometry is set to the default
value.
.PP
If --geometry is not specified but --screensize is, then the window size
will be determined based on the --screensize values and the --noscroll
flag.
If neither --geometry nor --screensize is provided, then the window size
is set to 1440x900 if --noscroll is set and 1462x922 if --noscroll is
not set.
.PP
(Also see note below under \f[I]CONFIG FILE\f[R] on the use of geometry
and screensize in config files.)
.RE
If \-\-geometry is not specified but \-\-screensize is, then the window
size will be determined based on the \-\-screensize values and the
\-\-noscroll flag.
If neither \-\-geometry nor \-\-screensize is provided, then the window
size is set to 1440x900 if \-\-noscroll is set and 1462x922 if
\-\-noscroll is not set.
.TP
-s [\f[I]WxH\f[R] | -], --screensize [\f[I]WxH\f[R] | -]
.B \-s \f[I]WxH\f[R], \-\-screensize \f[I]WxH\f[R]
Sets the size of the virtual display as seen from Medley\[cq]s point of
view.
The Medley window is an unscaled viewport onto this virtual display.
.RS
.PP
If a value of \[lq]-\[rq] is given, screensize is set to the default
value.
.PP
If --screensize is not specified but --geometry is, then the virtual
If \-\-screensize is not specified but \-\-geometry is, then the virtual
display size will be set so that the entire virtual display fits into
the given window geometry.
If neither --screensize nor --geometry is provided, then the screen size
is set to 1440x900.
.PP
(Also see note below under \f[I]CONFIG FILE\f[R] on the use of geometry
and screensize in config files.)
.RE
If neither \-\-screensize nor \-\-geometry is provided, then the screen
size is set to 1440x900.
.TP
-ps [\f[I]N\f[R] | -], \[en]pixelscale [\f[I]N\f[R] | -]\ \ \ \ ** \f[B]Applicable only when display is SDL-based (e.g., on Windows/Cygwin)\f[R] **
Sets the pixel scaling factor to \f[I]N\f[R], an integer
.RS
.PP
If value of \[lq]-\[rq] is given, the pixel scale factor is set to its
default of 1.
.RE
.B \-t \f[I]STRING\f[R], \-\-title \f[I]STRING\f[R]
Use STRING as title of Medley window.
Ignored when when the \-\-vnc flag is set or when running on Windows
(Docker) installations.
.TP
-t [\f[I]STRING\f[R] | -], --title [\f[I]STRING\f[R] | -]
Use \f[I]STRING\f[R] as title of Medley window.
.RS
.PP
If \f[I]STRING\f[R] includes the character sequence \[lq]%i\[rq], then
the value of the id string (see \[en]id flag below) prefixed by
\[lq]::\[rq] will be substituited for the \[lq]%i\[rq].
Example: if the id is \[lq]run_45\[rq] and \f[I]STRING\f[R] is
\[lq]Medley Interlisp %i\[rq], then the actual window title will be
\[lq]Medley Interlisp :: run_45\[rq].
.PP
If the value of \[lq]-\[rq] is given, sets the title to its default
value (\[lq]Medley Interlisp %i\[rq]).
.PP
This flag is ignored when when the --vnc flag is set.
.RE
.B \-d \f[I]:N\f[R], \-\-display \f[I]:N\f[R]\ \ \ \ ** \f[B]Not applicable to Windows (Docker) installations\f[R] **
Use X display :N.
Defaults to the value of $DISPLAY.
This flag is ignored when the \-\-vnc flag is set as well as on Windows
(Docker) installations.
.TP
-d [\f[I]:N\f[R] | -], --display [\f[I]:N\f[R] | -]
Use X display \f[I]:N\f[R].
.RS
.PP
If value is \[lq]-\[rq], reset display to its default value.
Default value is the value of $DISPLAY.
.PP
On platforms that support both SDL and X Windows, set the value of -d
(\[en]display) to \[lq]SDL\[rq] to select using SDL instead of X
Windows.
.PP
This flag is ignored on the Windows/Cygwin platform and when the --vnc
flag is set on Windows System for Linux.
.RE
.TP
-v [+ | -] , --vnc [+ | -]\ \ \ \ ** \f[B]Applicable only to WSL installations\f[R] **
If value is \[lq]+\[rq] or no value is given, then use a VNC window
running on the Windows side instead of an X window.
If value is \[lq]-\[rq], then do not use a VNC window, relying instead
on a standard X Window.
.RS
.PP
A VNC window will folllow the Windows desktop scaling setting allowing
.B \-v, \-\-vnc\ \ \ \ ** \f[B]Applicable only to WSL installations\f[R] **
Use a VNC window running on the Windows side instead of an X window.
The VNC window will folllow the Windows desktop scaling setting allowing
for much more usable Medley on high resolution displays.
On WSL, X windows do not scale well.
.PP
This flag is always set for WSL1 installations.
.RE
.TP
-i [\f[I]ID_STRING\f[R] | - | --], --id [\f[I]ID_STRING\f[R] | - | --]
Use \f[I]ID_STRING\f[R] as the id for this run of Medley, unless the
given value is \[lq]-\[rq], \[lq]--\[rq], or \[lq]---\[rq].
.RS
.PP
Only one instance of Medley can be run simultaneously for any given id.
.PP
\f[I]ID-STRING\f[R] can consist of any alphanumeric character plus the
underscore (_) character, ending (optionally) in a \[lq]+\[rq]
character.
If \f[I]ID_STRING\f[R] ends with a \[lq]+\[rq] (including just a
singleton \[lq]+\[rq]), then Medley will add a number to the id to make
it unique among currently running Medley intsances.
.PP
If the given value is \[lq]-\[rq], then the id will be (re)set to
\[lq]default\[rq] (e.g., if it was previously set in the config file).
If it is \[lq]--\[rq], then id will be set to the basename of
$MEDLEYDIR.
If ID_STRING is \[lq]---\[rq], then id will be set to the basename of
the parent directory of $MEDLEYDIR.
.PP
.B \-i [\f[I]ID_STRING\f[R] | \- | \-\-], \-\-id [\f[I]ID_STRING\f[R] | \- | \-\-]
Use ID_STRING as the id for this run of Medley, iunless ID_STRING is
\[lq]\-\[rq] or \[lq]\-\-\[rq].
If ID_STRING is \[lq]\-\[rq], then use the basename of $MEDLEYDIR as the
id.
If ID_STRING is \[lq]\-\-\[rq], then use the basename of the parent
directory of $MEDLEYDIR as the id.
Only one instance of Medley with a given id can run at a time.
The id is used to distinguish the virtual memory stores so that multiple
instances of Medley can run simultaneously.
Default id is \[lq]default\[rq].
.RE
.TP
-m [\f[I]N\f[R] | -], --mem [\f[I]N\f[R] | -]
.B \-m \f[I]N\f[R], \-\-mem \f[I]N\f[R]
Set Medley to run in \f[I]N\f[R] MB of virtual memory.
Defaults to 256MB.
.PP
If a value of \[lq]-\[rq] is given, resets to default value.
.TP
-p [\f[I]FILE\f[R] | -], --vmem [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the Medley virtual memory (vmem) store.
\f[I]FILE\f[R] must be writeable by the current user.
.RS
.PP
.B \-p \f[I]FILE\f[R], \-\-vmem \f[I]FILE\f[R]
Use FILE as the Medley virtual memory (vmem) store.
FILE must be writeable by the current user.
Care must be taken not to use the same vmem FILE for two instances of
Medley running simultaneously.
The --id flag will not protect against vmem collisions when the --vmem
flag is used.
.PP
If the value \[lq]-\[rq] is given, then resets the vmem file to the
default.
.PP
Default is to store the vmem in LOGINDIR/vmem/lisp_III.virtualmem, where
III is the id of this Medley run (see --id flag above).
See --logindir below for setting of LOGINDIR.
.RE
.TP
-r [\f[I]FILE\f[R] | -], --greet [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the Medley greetfile.
.RS
.PP
If the given value is \[lq]-\[rq], Medley will start up without using a
greetfile.
.PP
The default Medley greetfile is $MEDLEYDIR/greetfiles/MEDLEYDIR-INIT,
except when the --apps flag is used in which case it is
$MEDLEYDIR/greetfiles/APPS-INIT.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
The \-\-id flag will not protect against vmem collisions when the
\-\-vmem flag is used.
Default is to store the vmem in LOGINDIR/vmem/lisp_XXX.virtualmem, where
XXX is the id of this Medley run (see \-\-id flag above).
See \-\-logindir below for setting of LOGINDIR.
On Windows (Docker) installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-cm [\f[I]FILE\f[R] | -], --rem.cm [\f[I]FILE\f[R] | -]
Use \f[I]FILE\f[R] as the REM.CM file that Medley reads and executes at
startup - after any greet files.
Usually used only for loadups and other maintenance operations .
.RS
.PP
If the given value is \[lq]-\[rq], Medley will start up without using
REM.CM file.
.PP
There is no default Medley REM.CM file.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
.B \-r [\f[I]FILE\f[R] | \-], \-\-greet [\f[I]FILE\f[R] | \-]
Use FILE as the Medley greetfile, unless FILE is \[lq]\-\[rq] in which
case Medley will start up without using a greetfile.
The default Medley greetfile is $MEDLEYDIR/greetfiles/MEDLEYDIR\-INIT,
except when the \-\-apps flag is used in which case it is
$MEDLEYDIR/greetfiles/APPS\-INIT.
On Windows (Docker) installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-x [\f[I]DIR\f[R] | - | \[en]], --logindir [\f[I]DIR\f[R] | - | \[en]]
Use \f[I]DIR\f[R] as LOGINDIR in Medley.
\f[I]DIR\f[R] must be writeable by the current user.
.RS
.PP
LOGINDIR is used by Medley as the working directory on start-up and
where it loads any \[lq]personal\[rq] initialization file from.
.PP
If the given value is \[lq]-\[rq], then reset LOGINDIR to its default
value.
If the given value is \[lq]\[en]\[rq], uses $MEDLEYDIR/logindir as
LOGINDIR.
.PP
.B \-x [\f[I]DIR\f[R] | \-], \-\-logindir [\f[I]DIR\f[R] | \-]\ \ \ \ ** \f[B]On Linux and WSL installations\f[R] **
Use DIR as LOGINDIR in Medley, unless DIR is \[lq]\-\[rq], in which case
use $MEDLEYDIR/logindir.
DIR (or $MEDLEYDIR/logindir) must be writeable by the current user.
LOGINDIR defaults to $HOME/il.
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
LOGINDIR is used by Medley as the working directory on start\-up and
where it loads any \[lq]personal\[rq] initialization file from.
.TP
-nh \f[I]Host:Port:Mac:Debug\f[R], --nethub \f[I]Host:Port:Mac:Debug\f[R]
Set the parameters for using Nethub XNS networking.
\f[I]Host\f[R] is the full domain name of the nethub host.
\f[I]Port\f[R] is the port on \f[I]Host\f[R] that nethub is using.
\f[I]Mac\f[R] is the Mac address that this instance of Medley should use
when contacting the nethub host.
\f[I]Debug\f[R] is the level of nethub debug information that should be
printed on stdout (value is 0, 1, or 2).
A \f[I]Host\f[R] value is required and serves to turn nethub
functionality on.
\f[I]Port\f[R], \f[I]Mac\f[R] and \f[I]Debug\f[R] parameters are
optional and will default if left off.
.RS
.PP
If any of the parameters have a value of \[lq]-\[rq], any previous
setting (e.g., in a config file) for the parameter will be reset to the
default value - which in the case of \f[I]Host\f[R] is the null string,
turning nethub functionality off.
.RE
.B \-x [\f[I]DIR\f[R] | \-], \-\-logindir [\f[I]DIR\f[R] | \-]\ \ \ \ ** \f[B]On Windows (Docker) installations\f[R] **
Map DIR in the Windows host file system to /home/medley/il in the Medley
file system (in the Docker container).
LOGINDIR is always /home/medley/il from Medley\[cq]s standpoint.
The \[lq]\-\[rq] value is not valid in this case.
.TP
-nf, -NF, \[en]nofork
No fork.
Relevant only to the Medley loadup workflow.
.B \-u, \-\-update\ \ \ \ ** \f[B]Windows (Docker) installations only\f[R] **
Before running Medley, do a pull to retrieve the latest interlisp/medley
docker image from Docker Hub.
.TP
-prog \f[I]EXE\f[R], \[en]maikoprog \f[I]EXE\f[R]
Use \f[I]EXE\f[R] as the basename of the Maiko executable.
Relevant only to the Medley loadup workflow.
.B \-b, \-\-background\ \ \ \ ** \f[B]Windows (Docker) installations only\f[R] **
Run Medley in background rather than foreground.
.TP
\[en]maikodir \f[I]DIR\f[R]
Use \f[I]DIR\f[R] as the directory containing the Maiko emulator.
For testing purposes only.
.B \-p \f[I]PORT\f[R], \-\-port \f[I]PORT\f[R]\ \ \ \ ** \f[B]Windows (Docker) installations only\f[R] **
Use \f[I]PORT\f[R] as the port that VNC viewer uses to contact the VNC
server within the Docker container.
Default is 5900.
.TP
-cc [\f[I]FILE\f[R] | -], --repeat [\f[I]FILE\f[R] | -]
Run Medley once.
And then as long as \f[I]FILE\f[R] exists and is greater then zero
length, repeatedly run Medley using \f[I]FILE\f[R] as the REM.CM file
that Medley reads and executes at startup.
Each run of Medley can change the contents of \f[I]FILE\f[R] to effect
the subsequent run of Medley.
To end the cycle, Medley needs to delete \f[I]FILE\f[R].
WIthin Medley, \f[I]FILE\f[R] can be found as the value of the
environment variable LDEREPEATCM.
.RS
.PP
On Windows/Cygwin installations, \f[I]FILE\f[R] is specified in the
Medley file system, not the host Windows file system.
.RE
.TP
-am, \[en]automation
Useful only when using \[en]vnc (and always on WSL1).
When calling medley as part of an automation script, often Medley will
run for a very short time (< a couple of seconds).
This can cause issues with medley code that detects Xvnc server
failures.
Setting this flag notifies Medley that very short Medley sessions are
possible and the Xvnc error detection needs to be adjusted accordingly.
.TP
-tg [\f[I]TAG\f[R] | -], --tag [\f[I]TAG\f[R] | -]
By default, sysout files are loaded from the MEDLEYDIR/loadups
directory.
If \[lq]--tag \f[I]TAG\f[R]\[rq] is specified, then by default sysout
files are loaded from the MEDLEYDIR/loadups/tagged/TAG directory.
The sysouts in these directories are created using a loadups script with
the --tag flag set.
See the loadup man page.
If \f[I]TAG\f[R] is \[lq]-\[rq], then the name of the active git branch
for MEDLEYDIR (if any) is used as \f[I]TAG\f[R].
.B \-w [\f[I]DISTRO\f[R] | \-], \-\-wsl [\f[I]DISTRO\f[R] | \-]\ \ \ \ ** \f[B]Windows (Docker) installations only\f[R] **
Run Medley in the context of the named WSL \f[I]DISTRO\f[R] instead of
within Docker.
If \f[I]DISTRO\f[R] is \[lq]\-\[rq], used the default WSL distro.
Equivalent to typing \[lq]wsl \-d \f[I]DISTRO\f[R] medley \&...\[rq]
into a Command or Powershell window.
.SS Other Options
.PP
\
.TP
\f[I]SYSOUT_FILE\f[R]
.B \f[I]SYSOUT_FILE\f[R]
The pathname of the file to use as a sysout for Medley to start from.
If SYSOUT_FILE is not provided and none of the flags (--apps, --full,
--lisp) is used, then Medley will start from the saved virtual memory
file from the previous session with the same ID_STRING as this run.
If SYSOUT_FILE is not provided and none of the flags (\-\-apps,
\-\-full, \-\-lisp) is used, then Medley will start from the saved
virtual memory file from the previous session with the same ID_STRING as
this run.
If no such virtual memory file exists, then Medley will start from the
standard full.sysout (equivalent to specifying the --full flag).
standard full.sysout (equivalent to specifying the \-\-full flag).
On Windows (Docker) installations, \f[I]SYSOUT_FILE\f[R] is specified in
the Medley file system, not the host Windows file system.
.TP
\f[I]PASS_ON_ARGS\f[R]
All arguments after the \[lq]--\[rq] flag, are passed unaltered to the
Maiko emulator.
.SH CONFIG FILE
.PP
A config file can be used to \[lq]pre-specify\[rq] any of the above
command line arguments.
The config file consists of command line arguments (flags or flag-value
pairs), \f[I]one per line\f[R].
These arguments are read from the config file and prepended to the
arguments actually given on the command line.
Since later arguments override earlier arguments, any argument actually
given on the command line will override a conflicting argument given in
the config file.
.PP
Unless specified using the -c (\[en]config) argument, the default config
file will be $MEDLEYDIR/.medley_config, if it exists, and
$HOME/.medley_config, otherwise.
.PP
Specifying, \[lq]-c -\[rq] or \[lq]\[en]config -\[rq] on the command
line will suppress the use of config files for the current run of
Medley.
.PP
\f[I]Note:\f[R] care must be taken when using -g (\[en]geometry) and/or
-s (\[en]screensize) arguments in config files.
If only one of these is specified, then the other is conputed.
But if both are specified, then the specified dimensions are used as
given.
Unexpected results can arise if one is specified in the config file but
the other is specified on the command line.
In this case, the two specified dimensions will be used as given.
It will not be the case, as might be expected, that the dimension given
in the config file will be overridden by a dimension computed from the
dimension given on the command line.
.SH OTHER FILES
.B \f[I]PASS_ON_ARGS\f[R]
All arguments after the \[lq]\-\-\[rq] flag, are passed unaltered to lde
via run\-medley.
.SH FILES
.TP
$HOME/il
.B $HOME/il
Default Medley LOGINDIR
.TP
$HOME/il/vmem/lisp.virtualmem
.B $HOME/il/vmem/lisp.virtualmem
Default virtual memory file
.TP
$HOME/il/INIT(.LCOM)
.B $HOME/il/INIT(.LCOM)
Default personal init file
.TP
$MEDLEYDIR/greetfiles/MEDLEYDIR-INIT(.LCOM)
.B $MEDLEYDIR/greetfiles/MEDLEYDIR\-INIT(.LCOM)
Default Medley greetfile
.SH BUGS
.PP
See GitHub Issues: <https://github.com/Interlisp/medley/issues>
.SH COPYRIGHT
.PP
Copyright(c) 2023-2024 by Interlisp.org
Copyright(c) 2023 by Interlisp.org

Binary file not shown.

View File

@@ -1,4 +1,4 @@
% MEDLEY(1) | Start Medley Interlisp
% MEDLEY(1) | Start Medley Interlisp
---
adjusting: l
@@ -38,239 +38,107 @@ Flags
-h, \-\-help
: Prints out a brief summary of the flags and arguments to medley.
-z [+], \-\-man [+]
: Show the man page for medley. If the **+** parameter is specified, then no pager is used when
displaying the man page.
-c [*FILE* | -], \-\-config [*FILE* | -]
: Use *FILE* as the config file for this run of Medley. See information on *CONFIG FILE* below.
If the given value is "-",
then suppress the use of a config file for this run of Medley.
-z, \-\-man
: Show the man page for medley
-f, \-\-full
: Start Medley from the standard "full" sysout. full.sysout includes a complete Interlisp and CommonLisp environment
with a standard set of development tools. It does not include any of the applications built using Medley.
(See *SYSOUT_FILE* below for more information on starting sysouts.)
(See *SYSOUT_FILE* below for more information on starting sysouts.)
-l, \-\-lisp
: Start Medley from the standard "lisp" sysout. lisp.sysout only includes the basic Interlisp and
CommonLisp environment.
(See *SYSOUT_FILE* below for more information on starting sysouts.)
(See *SYSOUT_FILE* below for more information on starting sysouts.)
-a, \-\-apps
: Start Medley from the standard "apps" sysout. apps.sysout includes everything in full.sysout plus Medley
applications including Notecards, Rooms and CLOS. It also includes pre-installed links to key Medley
documentation.
(See *SYSOUT_FILE* below for more information on starting sysouts.)
(See *SYSOUT_FILE* below for more information on starting sysouts.)
-e, \-\-interlisp (relevent only when \-\-apps is specified)
: Make the initial Exec window within Medley be an Interlisp Exec. Default is to start in an XCL Exec.
-u, \-\-continue
: Nullify any prior setting of the sysout file (e.g., from the config file) - causing Medley to start from
the virtual memory file resulting from the previous invocation (with the same values for --id and --logindir),
if any. If there is no matching virtual memory file, Medley will start from the full.sysout (see -f/--full above).
Equivalent to "-y -".
(See *SYSOUT FILE* section below.)
-y [*SYSOUT_FILE* | -], \-\-sysout [*SYSOUT-FILE* | -]
: Start Medley from the specified *SYSOUT-FILE*. This is an alternative to specifying the *SYSOUT-FILE*
as the last argument on the command line (but before any *PASS_ON_ARGS*). It can be used to specify the
*SYSOUT-FILE* in the config file (see information on *CONFIG FILE* below).
If the given value is "-", then
any prior setting of the sysout file (e.g., from the config file) is nullified (see -u/--continue above).
(See *SYSOUT FILE* section below.)
-e [+ | -], \-\-interlisp [+ | -]
: If value is "+" or no value, make the initial Exec window within Medley be an Interlisp Exec.
If value is "-", make the initial Exec window be the default XCL Exec.
This flag applies only when the --apps flag is used.
-n [+ | -], \-\-noscroll [+ | -]
: Medley ordinarily displays scroll bars to enable the user to pan the Medley virtual display within the
Medley window. This is true even when the entire virtual display fits within the window.
Specifying
"-n +" (--noscroll +) turns off scroll bars. Specifying "-n -" (--scroll -) turns on scroll bars.
Specifying -n (--noscroll) with no value is equivalent to specifying "--noscroll +".
Default is scroll bars off.
Note: If scroll bars are off and the virtual screen is larger
-n, \-\-noscroll
: Ordinarily Medley displays scroll bars to enable the user to pan the Medley virtual display within the
Medley window. This is true even when the entire virtual display fits within the window. Specifying
\-\-noscroll turns off the scroll bars. Note: If \-\-noscroll is specified and the virtual screen is larger
than the window, there will be no way to pan to the non-visible parts of the virtual display.
-g [*WxH* | -], \-\-geometry [*WxH* | -]
-g *WxH*, \-\-geometry *WxH*
: Sets the size of the X Window (or VNC window) that Medley runs in to be Width x Height. (Full X Windows
geometry specification with +X+Y is not currently supported).
If a value of "-" is given, geometry is set to the default value.
If \-\-geometry is not specified but \-\-screensize is,
geomtery specification with +X+Y is not currently supported). If \-\-geometry is not specified but \-\-screensize is,
then the window size will be determined based on the \-\-screensize values and the \-\-noscroll flag. If neither
\-\-geometry nor \-\-screensize is provided, then the window size is set to 1440x900 if \-\-noscroll is set and 1462x922
if \-\-noscroll is not set.
(Also see note below under *CONFIG FILE* on the use of geometry and screensize
in config files.)
-s [*WxH* | -], \-\-screensize [*WxH* | -]
: Sets the size of the virtual display as seen from Medley's point of view. The Medley window is an unscaled viewport onto this virtual display.
If a value of "-" is given, screensize is set to the default value.
If \-\-screensize is not specified but
-s *WxH*, \-\-screensize *WxH*
: Sets the size of the virtual display as seen from Medley's point of view.
The Medley window is an unscaled viewport onto this virtual display. If \-\-screensize is not specified but
\-\-geometry is, then the virtual display size will be set so that the entire virtual display fits into the given
window geometry. If neither \-\-screensize nor \-\-geometry is provided, then the screen size is set to 1440x900.
(Also see note below under *CONFIG FILE* on the use of geometry and screensize in config files.)
-t *STRING*, \-\-title *STRING*
: Use STRING as title of Medley window. Ignored when when the \-\-vnc flag is set or when running on Windows (Docker)
installations.
-ps [*N* | -], --pixelscale [*N* | -]&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Applicable only when display is SDL-based (e.g., on Windows/Cygwin)** \*\*
: Sets the pixel scaling factor to *N*, an integer
-d *:N*, \-\-display *:N*&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Not applicable to Windows (Docker) installations** \*\*
~ Use X display :N. Defaults to the value of $DISPLAY. This flag is ignored when the \-\-vnc flag is set as
well as on Windows (Docker) installations.
If value of "-" is given, the pixel scale factor is set to its default of 1.
-t [*STRING* | -], \-\-title [*STRING* | -]
: Use *STRING* as title of Medley window.
If *STRING* includes the character sequence "%i", then the value of the id string (see --id flag below)
prefixed by ":: " will be substituited for the "%i". Example: if the id is "run_45" and *STRING* is "Medley Interlisp %i", then the actual window
title will be "Medley Interlisp :: run_45".
If the value of "-" is given, sets the title to its default value ("Medley Interlisp %i").
This flag is ignored when when the \-\-vnc flag is set.
-d [*:N* | -], \-\-display [*:N* | -]
: Use X display *:N*.
If value is "-", reset display to its default value. Default value is the value of $DISPLAY.
On platforms that support both SDL and X Windows, set the value of -d (--display) to "SDL" to select using SDL instead of X Windows.
This flag is ignored on the Windows/Cygwin platform and when the \-\-vnc flag is
set on Windows System for Linux.
-v [+ | -] , \-\-vnc [+ | -]&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Applicable only to WSL installations** \*\*
: If value is "+" or no value is given, then use a VNC window running on the Windows side instead of an X window. If value is "-", then do not
use a VNC window, relying instead on a standard X Window.
A VNC window will folllow the Windows desktop scaling setting allowing
-v, \-\-vnc&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Applicable only to WSL installations** \*\*
: Use a VNC window running on the Windows side instead of an X window.
The VNC window will folllow the Windows desktop scaling setting allowing
for much more usable Medley on high resolution displays. On WSL, X windows
do not scale well.
This flag is always set for WSL1 installations.
do not scale well. This flag is always set for WSL1 installations.
-i [*ID_STRING* | - | \-\-], \-\-id [*ID_STRING* | - | \-\-]
: Use *ID_STRING* as the id for this run of Medley, unless the given value is "-", "\-\-", or "\-\-\-".
: Use ID_STRING as the id for this run of Medley, iunless ID_STRING is "-" or "\-\-".
If ID_STRING is "-", then use the basename of $MEDLEYDIR as the id.
If ID_STRING is "\-\-", then use the basename of the parent directory of $MEDLEYDIR as the id.
Only one instance of Medley with a given id can run at a time.
The id is used to distinguish the virtual memory stores so that multiple
instances of Medley can run simultaneously. Default id is "default".
Only one instance of Medley can be run simultaneously for any given id.
*ID-STRING* can consist of any alphanumeric
character plus the underscore (_) character, ending (optionally) in a "+" character. If *ID_STRING* ends with a "+"
(including just a singleton "+"),
then Medley will add a number to the id to make it unique among currently running Medley intsances.
If the given value is "-", then the id will be (re)set to "default" (e.g., if it was previously set in the
config file). If it is "\-\-", then id will be set to the basename of $MEDLEYDIR.
If ID_STRING is "\-\-\-", then id will be set to the basename of the parent directory of $MEDLEYDIR.
Default id is "default".
-m [*N* | -], \-\-mem [*N* | -]
-m *N*, \-\-mem *N*
: Set Medley to run in *N* MB of virtual memory. Defaults to 256MB.
If a value of "-" is given, resets
to default value.
-p [*FILE* | -], \-\-vmem [*FILE* | -]
: Use *FILE* as the Medley virtual memory (vmem) store. *FILE* must be writeable by the current user.
Care must be taken not to use the same vmem FILE for two instances of Medley running simultaneously.
-p *FILE*, \-\-vmem *FILE*
: Use FILE as the Medley virtual memory (vmem) store. FILE must be writeable by the current user.
Care must be taken not to use the same vmem FILE for two instances of Medley running simultaneously.
The \-\-id flag will not protect against vmem collisions when the \-\-vmem flag is used.
If the value "-" is given, then resets the vmem file to the default.
Default is to store the vmem in LOGINDIR/vmem/lisp_III.virtualmem, where III is the id of this
Medley run (see \-\-id flag above). See \-\-logindir below for setting of LOGINDIR.
Default is to store the vmem in LOGINDIR/vmem/lisp_XXX.virtualmem, where XXX is the id of this
Medley run (see \-\-id flag above). See \-\-logindir below for setting of LOGINDIR. On Windows (Docker) installations, *FILE* is specified in the Medley file system, not the host Windows file system.
-r \[*FILE* | -], \-\-greet \[*FILE* | -]
: Use *FILE* as the Medley greetfile.
If the given value is "-", Medley will start up without using a greetfile.
The default Medley greetfile
: Use FILE as the Medley greetfile, unless FILE is "-" in which case
Medley will start up without using a greetfile. The default Medley greetfile
is $MEDLEYDIR/greetfiles/MEDLEYDIR-INIT, except when the \-\-apps flag is used
in which case it is $MEDLEYDIR/greetfiles/APPS-INIT.
On Windows/Cygwin installations, *FILE* is
in which case it is $MEDLEYDIR/greetfiles/APPS-INIT. On Windows (Docker) installations, *FILE* is
specified in the Medley file system, not the host Windows file system.
-cm \[*FILE* | -], \-\-rem.cm \[*FILE* | -]
: Use *FILE* as the REM&#46;CM file that Medley reads and executes at startup - after any greet files. Usually used only for loadups and other maintenance operations .
-x \[*DIR* | -], \-\-logindir \[*DIR* | -]&nbsp;&nbsp;&nbsp;&nbsp;\*\* **On Linux and WSL installations** \*\*
: Use DIR as LOGINDIR in Medley, unless DIR is "-", in which case use
\$MEDLEYDIR/logindir. DIR (or \$MEDLEYDIR/logindir) must be writeable by the current user.
LOGINDIR defaults to \$HOME/il. LOGINDIR is used by Medley as the working directory on start-up
and where it loads any "personal" initialization file from.
If the given value is "-", Medley will start up without using REM&#46;CM file.
-x \[*DIR* | -], \-\-logindir \[*DIR* | -]&nbsp;&nbsp;&nbsp;&nbsp;\*\* **On Windows (Docker) installations** \*\*
: Map DIR in the Windows host file system to /home/medley/il in the Medley
file system (in the Docker container). LOGINDIR is always /home/medley/il from Medley's standpoint. The "-" value is not valid in this case.
There is no default Medley REM&#46;CM file.
-u, \-\-update&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Windows (Docker) installations only** \*\*
: Before running Medley, do a pull to retrieve the latest interlisp/medley docker image from Docker Hub.
On Windows/Cygwin installations, *FILE* is
specified in the Medley file system, not the host Windows file system.
-b, \-\-background&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Windows (Docker) installations only** \*\*
: Run Medley in background rather than foreground.
-x \[*DIR* | - | --], \-\-logindir \[*DIR* | - | --]
: Use *DIR* as LOGINDIR in Medley. *DIR* must be writeable by the current user.
-p *PORT*, \-\-port *PORT*&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Windows (Docker) installations only** \*\*
: Use *PORT* as the port that VNC viewer uses to contact the VNC server within the Docker container. Default is 5900.
LOGINDIR is used by Medley as the working directory on start-up
and where it loads any "personal" initialization file from.
If the given value is "-", then reset LOGINDIR to its default value.
If the given value is "--", uses \$MEDLEYDIR/logindir as LOGINDIR.
LOGINDIR defaults to \$HOME/il.
On Windows/Cygwin installations, *FILE* is
specified in the Medley file system, not the host Windows file system.
-nh *Host:Port:Mac:Debug*, \-\-nethub *Host:Port:Mac:Debug*
: Set the parameters for using Nethub XNS networking. *Host* is the full domain name of the nethub host. *Port* is the port on *Host* that nethub is using.
*Mac* is the Mac address that this instance of Medley should use when contacting the nethub host. *Debug* is the level of nethub debug information
that should be printed on stdout (value is 0, 1, or 2). A *Host* value is required and serves to turn nethub functionality on. *Port*, *Mac* and *Debug*
parameters are optional and will default if left off.
If any of the parameters have a value of "-", any previous setting (e.g., in a config file)
for the parameter will be reset to the default value - which in the case of *Host* is the null string, turning nethub functionality off.
-nf, -NF, --nofork
: No fork. Relevant only to the Medley loadup workflow.
-prog *EXE*, --maikoprog *EXE*
: Use *EXE* as the basename of the Maiko executable. Relevant only to the Medley loadup workflow.
--maikodir *DIR*
: Use *DIR* as the directory containing the Maiko emulator. For testing purposes only.
-cc \[*FILE* | -], \-\-repeat \[*FILE* | -]
: Run Medley once. And then as long as *FILE* exists and is greater then zero length, repeatedly run Medley using *FILE* as the REM&#46;CM file that Medley reads and executes at startup. Each run of Medley can change the contents of *FILE* to effect the subsequent run of Medley. To end the cycle, Medley needs to delete *FILE*. WIthin Medley, *FILE* can be found as the value of the environment variable LDEREPEATCM.
On Windows/Cygwin installations, *FILE* is
specified in the Medley file system, not the host Windows file system.
-am, --automation
: Useful only when using --vnc (and always on WSL1). When calling medley as part of an automation script, often Medley
will run for a very short time (< a couple of seconds). This can cause issues with medley code that detects Xvnc server failures.
Setting this flag notifies Medley that very short Medley sessions are possible and the Xvnc error detection needs to be adjusted accordingly.
-tg [*TAG* | -], \-\-tag [*TAG* | -]
: By default, sysout files are loaded from the MEDLEYDIR/loadups directory.
If "\-\-tag *TAG*" is specified, then by default sysout files are loaded from the
MEDLEYDIR/loadups/tagged/TAG directory. The sysouts in these directories are created using
a loadups script with the \-\-tag flag set. See the loadup man page.
If *TAG* is "-", then the name of the active git branch for MEDLEYDIR (if any) is used as
*TAG*.
-w \[*DISTRO* | -], \-\-wsl \[*DISTRO* | -]&nbsp;&nbsp;&nbsp;&nbsp;\*\* **Windows (Docker) installations only** \*\*
: Run Medley in the context of the named WSL *DISTRO* instead of within Docker. If *DISTRO* is "-", used the default WSL distro. Equivalent to typing "wsl -d *DISTRO* medley ..." into a Command or Powershell window.
Other Options
@@ -286,33 +154,11 @@ If no such virtual memory file exists, then Medley will start from the standard
specified in the Medley file system, not the host Windows file system.
*PASS_ON_ARGS*
: All arguments after the "\-\-" flag, are passed unaltered to the Maiko emulator.
: All arguments after the "\-\-" flag, are passed unaltered to lde via run-medley.
CONFIG FILE
===========
A config file can be used to "pre-specify" any of the above command line arguments.
The config file consists of command line arguments (flags or flag-value pairs), *one per line*.
These arguments are read from the config file and prepended to the arguments actually given on
the command line. Since later arguments override earlier arguments, any argument actually given
on the command line will override a conflicting argument given in the config file.
Unless specified using the -c (--config) argument, the default config file will be $MEDLEYDIR/.medley_config,
if it exists, and $HOME/.medley_config, otherwise.
Specifying, "-c -" or "--config -" on the command line will suppress the use of config files for the
current run of Medley.
*Note:* care must be taken when using -g (--geometry) and/or -s (--screensize) arguments in config files.
If only one of these is specified, then the other is conputed. But if both are specified, then the specified
dimensions are used as given. Unexpected results can arise if one is specified in the config file
but the other is specified on the command line. In this case, the two specified dimensions will be used as given.
It will not be the case, as might be expected, that the dimension given in the config file will be overridden
by a dimension computed from the dimension given on the command line.
OTHER FILES
===========
FILES
=====
\$HOME/il
: Default Medley LOGINDIR
@@ -335,4 +181,4 @@ See GitHub Issues: <https://github.com/Interlisp/medley/issues>
COPYRIGHT
=========
Copyright(c) 2023-2024 by Interlisp.org
Copyright(c) 2023 by Interlisp.org

Binary file not shown.

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

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

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

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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