1
0
mirror of synced 2026-03-20 16:48:09 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Matt Heffron
d00a9c4367 Add fi and fl ligature glyphs 2025-08-08 21:54:11 -07:00
1077 changed files with 23305 additions and 28203 deletions

View File

@@ -1,68 +0,0 @@
name: Report an issue with the "Medley Interlisp for the Newcomer" primer
description: Use this template to report issues or make suggestions.
title: "[Primer] <short title here>"
labels:
- primer
- documentation
body:
- type: dropdown
id: problemType
attributes:
label: "What type of issue are you reporting?"
options:
- Suggested improvement
- Incorrect explanation / code sample
- Confusing explanation
- Outdated information
- Broken link
- Typo / Grammar
validations:
required: true
- type: dropdown
id: location
attributes:
label: "Section of the primer where the issue occurs"
options:
- Introduction
- Medley online and Medley Local
- Understanding and Navigating the Interface
- Understanding Lisp Syntax
- Atoms, Functions and Lists
- Variable Bindings and Scope
- Iterators and Conditionals
- The File Browser
- Debugging
- Editing functions with SEdit
- Build Your First Interactive Program
- Saving Your Work
- TEdit, The WYSIWYG Editor
- Drawing and Displaystreams
- Making a Graph with Grapher
- Additional Resources
- General Feedback (not specific to a section)
validations:
required: true
- type: textarea
id: issueLocationDetails
attributes:
label: "Please provide more details about the location of the issue"
description: "For example, the specific page title, section heading, or url."
validations:
required: false
- type: textarea
id: issueDescription
attributes:
label: "Description of the issue"
description: "Please provide a detailed description of the issue you encountered."
validations:
required: true
- type: textarea
id: suggestedFix
attributes:
label: "Suggested fix or improvement"
description: "If you have a suggestion for how to fix or improve the issue, please provide it here."
validations:
required: false
- type: markdown
attributes:
value: "## Thank you for helping us improve the **Medley Interlisp for the Newcomer** primer!"

View File

@@ -1,6 +1,6 @@
name: New "What People Are Saying" entry
description: 'Suggest a new entry for the "What People Are Saying" page'
title: "What People Are Saying suggestion"
name: "New entry for **What People Are Saying**"
description: "Suggest a new entry for the **What People are Saying** page"
title: "What People are Saying suggestion"
body:
- type: dropdown
id: contentType
@@ -24,7 +24,7 @@ body:
id: additionalInformation
attributes:
label: Additional information
description: "Use this space to supply any additional information on the suggested item."
description: "Use this space to supply any addiitonal information on the suggested item."
validations:
required: false
- type: markdown

View File

@@ -21,18 +21,18 @@ name: 'Build/Push Docker Image'
on:
workflow_dispatch:
inputs:
github_release_tag:
description: "Tag for the Github Release to use for building this Medley Docker image"
type: string
default: "Latest"
draft:
description: "Mark this as a draft release"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
@@ -40,21 +40,16 @@ on:
description: "'True' if medley docker build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
github_release_tag:
description: "Tag for the Github Release to use for building this Medley Docker image"
required: false
type: string
default: "Latest"
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
secrets:
DOCKER_USERNAME:
required: true
@@ -82,7 +77,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -109,27 +104,25 @@ jobs:
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Find named or latest release
# Find latest release (draft or normal)
# and download its assets
- name: Download linux debs from named or latest release
- name: Download linux debs from latest (draft) release
run: |
tag=""
if [ "${{ inputs.github_release_tag }}" = "Latest" ];
if [ "${{ inputs.draft }}" = "true" ];
then
tag=$(gh release list | grep Draft | head -n 1 | awk '{ print $3 }')
fi
if [ -z "${tag}" ];
then
tag=$(gh release list | grep Latest | head -n 1 | awk '{ print $3 }')
else
tag=$(echo "${{ inputs.github_release_tag }}" | sed 's/[[:space:]]//g')
set +e
gh release view ${tag} --repo ${{ github.repository_owner }}/medley
if [ $? -ne 0 ]; then echo "!!!!!!! Error: Cannot find Medley release ${tag} on github Medley repo. Exiting."; exit 1; fi
set -e
fi
mkdir -p release_debs
gh release download ${tag} -D release_debs -p '*-linux-*.deb'
@@ -137,7 +130,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Get Maiko and Medley release information from name of deb files
# just downloaded from the Medley github release
# just downloaded from the Medley latest release
- name: Get info about Miako and Medley releases
id: release_info
run: |
@@ -149,7 +142,7 @@ jobs:
echo "MEDLEY_RELEASE=${medley_release}" >> ${GITHUB_ENV}
echo "MAIKO_RELEASE=${maiko_release}" >> ${GITHUB_ENV}
# re gex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
# Set repo env variables
- name: Set repo/docker env variables
@@ -164,7 +157,7 @@ jobs:
platforms="linux/amd64"
#,linux/arm64
else
docker_tags="${docker_image}:draft,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}""
docker_tags="${docker_image}:draft"
platforms="linux/amd64"
fi
echo "REPO_NAME=${repo_name}" >> ${GITHUB_ENV}
@@ -177,7 +170,7 @@ jobs:
# Setup the Docker Machine Emulation environment.
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64
# ,linux/arm64,linux/arm/v7
@@ -185,11 +178,11 @@ jobs:
# Setup the Docker Buildx funtion
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v4
uses: docker/setup-buildx-action@v3
# Login into DockerHub - required to store the created image
- name: Login to DockerHub
uses: docker/login-action@v4
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@@ -198,7 +191,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@v7
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
build-args: |
@@ -230,7 +223,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -20,43 +20,35 @@ name: Build/Push Medley Release
on:
workflow_dispatch:
inputs:
maiko_release:
description: "What maiko release to use"
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
successful:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
github_release_tag:
description: "Github Release tag for release created in this run"
value: ${{ jobs.loadup.outputs.github_release_tag }}
inputs:
maiko_release:
description: "What maiko release to use"
required: false
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
secrets:
OIO_SSH_KEY:
required: true
@@ -81,7 +73,7 @@ jobs:
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -108,7 +100,6 @@ jobs:
outputs:
combined_release_tag: ${{ steps.job_outputs.outputs.COMBINED_RELEASE_TAG }}
github_release_tag: ${{ steps.job_outputs.outputs.GITHUB_RELEASE_TAG }}
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
@@ -119,12 +110,12 @@ jobs:
needs: [sentry]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}
@@ -132,33 +123,35 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Setup release tag
- name: Setup Release Tag
id: tag
uses: ./../actions/release-tag-action
# Get Maiko release information, use maiko release tag from input or Latest
# Get Maiko release information, retrieves the name of the latest (draft)
# release. Used to download the correct Maiko release
# Find latest release (draft or normal)
- name: Get maiko release information
id: maiko
run: |
tag=""
if [ "${{ inputs.maiko_release }}" = "Latest" ];
if [ "${{ inputs.draft }}" = "true" ];
then
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
if [ $? -eq 0 ];
then
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
fi
fi
if [ -z "${tag}" ];
then
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
else
tag=$(echo "${{ inputs.maiko_release }}" | sed 's/[[:space:]]//g')
set +e
gh release view ${tag} --repo ${{ github.repository_owner }}/maiko
if [ $? -ne 0 ]; then echo "!!!!!!! Error: Cannot find Maiko release ${tag}. Exiting."; exit 1; fi
set -e
fi
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
env:
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
# Setup environment variables & establish job outputs
- name: Setup Environment Variables
run: |
@@ -174,12 +167,10 @@ jobs:
- name: Even More Environment Variables
run: |
echo "COMBINED_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}_${MAIKO_SHORT_RELEASE_TAG}" >>${GITHUB_ENV}
echo "GITHUB_RELEASE_TAG=medley-${COMBINED_RELEASE_TAG}" >>${GITHUB_ENV}
- name: Establish job outputs
id: job_outputs
run: |
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "GITHUB_RELEASE_TAG=${GITHUB_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
@@ -202,7 +193,7 @@ jobs:
# Checkout Notecards and tar it in the tarballsdir
- name: Checkout Notecards
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
@@ -232,7 +223,7 @@ jobs:
- name: Delete existing release with same tag (if any)
uses: cb80/delrel@latest
with:
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
continue-on-error: true
- name: Push the release
@@ -244,7 +235,7 @@ jobs:
# ${{ env.TARBALL_DIR }}/notecards.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
draft: ${{ inputs.draft }}
prerelease: false
generateReleaseNotes: true
@@ -252,7 +243,7 @@ jobs:
# Save the tarball directory for subsequent jobs
- name: Save tarballs
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -271,13 +262,13 @@ jobs:
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
@@ -294,7 +285,7 @@ jobs:
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -315,7 +306,7 @@ jobs:
artifacts:
${{ env.DEBS_DIR }}/*.deb,
${{ env.TARS_DIR }}/*.tgz
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -328,7 +319,7 @@ jobs:
mv medley-full-linux-x86_64-*.tgz medley.tgz
- name: Save medley tar for use in cygwin installers
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v4
with:
name: medley-tar
path: |
@@ -347,7 +338,7 @@ jobs:
needs: [sentry, loadup]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
# if: false
defaults:
@@ -358,7 +349,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Environment variables
- name: Environment variables
@@ -375,7 +366,7 @@ jobs:
# Get the tarballs
- name: Get tarballs
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: tarballs
path: ${{ env.TARBALL_DIR }}
@@ -396,7 +387,7 @@ jobs:
artifacts:
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
${{ env.ARTIFACTS_DIR }}/*.zip
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -418,7 +409,7 @@ jobs:
needs: [sentry, loadup, linux_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
outputs:
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
@@ -427,7 +418,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Store the values output from loadup job as environment variables
- name: Environment Variables
@@ -435,8 +426,6 @@ jobs:
run: |
$crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=$crt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$grt="${{ needs.loadup.outputs.github_release_tag }}"
echo "GITHUB_RELEASE_TAG=$grt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
@@ -448,7 +437,7 @@ jobs:
# Retrieve medley tars from artifact store
- name: Retrieve medley tar
uses: actions/download-artifact@v8
uses: actions/download-artifact@v4
with:
name: medley-tar
path: installers/cygwin/
@@ -502,7 +491,7 @@ jobs:
with:
allowUpdates: true
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -523,7 +512,7 @@ jobs:
needs: [sentry, loadup, linux_installer, macos_installer, cygwin_installer]
if: |
needs.sentry.outputs.release_not_built == 'true'
|| inputs.force == true
|| inputs.force == 'true'
steps:
@@ -532,8 +521,6 @@ jobs:
run: |
crt="${{ needs.loadup.outputs.combined_release_tag }}"
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
grt="${{ needs.loadup.outputs.github_release_tag }}"
echo "GITHUB_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
@@ -543,7 +530,7 @@ jobs:
# Checkout latest commit
- name: Checkout Medley
uses: actions/checkout@v6
uses: actions/checkout@v4
# Upload a dummy file to release
@@ -557,7 +544,7 @@ jobs:
with:
allowUpdates: true
artifacts: placeholder.txt
tag: ${{ env.GITHUB_RELEASE_TAG }}
tag: ${{ env.MEDLEY_RELEASE_TAG }}
token: ${{ secrets.GITHUB_TOKEN }}
omitBodyDuringUpdate: true
omitDraftDuringUpdate: true
@@ -629,14 +616,14 @@ jobs:
steps:
# Delete the tarballs artifact
- name: Delete tarballs artifact
uses: geekyeggo/delete-artifact@v6
uses: geekyeggo/delete-artifact@v5
with:
name: tarballs
failOnError: false
# Checkout the actions for this repo owner
- name: Checkout Actions
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/.github
path: ./Actions_${{ github.sha }}

View File

@@ -24,22 +24,18 @@ on:
workflow_dispatch:
inputs:
maiko_release:
description: "What maiko release to use"
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
type: boolean
default: false
online:
description: "Deploy this release online"
type: boolean
default: true
type: choice
options:
- 'false'
- 'true'
force:
description: "Force build even if build already successfully completed for this commit"
type: boolean
default: false
type: choice
options:
- 'false'
- 'true'
workflow_call:
outputs:
@@ -47,26 +43,16 @@ on:
description: "'True' if medley build completed successully"
value: ${{ jobs.complete.outputs.build_successful }}
inputs:
maiko_release:
description: "What maiko release to use"
required: false
type: string
default: 'Latest'
draft:
description: "Mark this as a draft release"
required: false
type: boolean
default: false
online:
description: "Deploy this release online"
required: false
type: boolean
default: true
type: string
default: 'false'
force:
description: "Force build even if build already successfully completed for this commit"
required: false
type: boolean
default: false
type: string
default: 'false'
defaults:
run:
@@ -77,56 +63,75 @@ 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-24.04
outputs:
draft: ${{ steps.one.outputs.draft }}
force: ${{ steps.one.outputs.force }}
steps:
- id: one
run: >
if [ '${{ toJSON(inputs) }}' != '{}' ];
then
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
else
echo "draft=false" >> $GITHUB_OUTPUT;
echo "force=false" >> $GITHUB_OUTPUT;
fi
######################################################################################
# Build Loadup
do_release:
needs: inputs
uses: ./.github/workflows/buildLoadup.yml
with:
maiko_release: ${{ inputs.maiko_release }}
draft: ${{ inputs.draft }}
force: ${{ inputs.force }}
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
outputs:
github_release_tag: ${{ needs.do_release.outputs.github_release_tag }}
######################################################################################
# Build Docker Image
do_docker:
needs: [do_release]
needs: [inputs, do_release]
uses: ./.github/workflows/buildDocker.yml
with:
github_release_tag: ${{ needs.do_release.outputs.github_release_tag }}
draft: ${{ inputs.draft }}
force: ${{ inputs.force }}
draft: ${{ needs.inputs.outputs.draft }}
force: ${{ needs.inputs.outputs.force }}
secrets: inherit
######################################################################################
# Run HCFILES and push to files.interlisp.org
do_HCFILES:
needs: [do_release]
needs: [inputs, do_release]
uses: ./.github/workflows/doHCFILES.yml
with:
draft: ${{ inputs.draft }}
draft: ${{ needs.inputs.outputs.draft }}
secrets: inherit
######################################################################################
# Kickoff workflow in online repo to build and deploy Medley docker image to oio
do_oio:
if: ${{ inputs.online }} == true
runs-on: ubuntu-24.04
needs: [do_release, do_docker]
needs: [inputs, do_docker]
steps:
- name: trigger-oio-buildAndDeploy
run: |
gh workflow run buildAndDeployMedleyDocker.yml \
--repo Interlisp/online --ref main \
-f github_release_tag=${{ needs.do_release.outputs.github_release_tag }} \
-f draft=${{ inputs.draft }}
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

@@ -50,28 +50,28 @@ jobs:
steps:
- name: Checkout Medley repo
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Checkout maiko
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/maiko
path: ./maiko
- name: Checkout notecards
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/notecards
path: ./notecards
- name: Checkout loops
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/loops
path: ./loops
- name: Checkout test
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/test
path: ./test

2
.gitignore vendored
View File

@@ -31,7 +31,7 @@ loadups/whereis.hash
loadups/apps.sysout
loadups/fuller.database
loadups/build/
loadups/tagged
loadups/branches
loadups/gitinfo

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,14 +1,12 @@
# Medley
The [Medley Interlisp Project](https://interlisp.org) aims to preserve, revive, and modernize the [Interlisp](https://interlisp.org) software development environment for rapid prototyping, research and Artificial Intelligence created at Xerox PARC since the 1970s.
This repository is for the Lisp environment of [Medley](https://interlisp.org).
This repository is for the Lisp environment of the [Medley](https://interlisp.org) release of Interlisp. Other repositories hold additional subsystems and applications such as [Maiko](https://github.com/Interlisp/maiko), the implementation (in C) of the Medley virtual machine, the [LOOPS](https://github.com/Interlisp/loops) object-oriented extension of Interlisp, and the [NoteCards](https://github.com/Interlisp/notecards) hypermedia system.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, Windows (with or without WSL), and in a web browser.
[Install and Run](https://interlisp.org/software/install-and-run) covers ways to install and start up Medley on Linux systems, MacOS, and Windows (with or without WSL).
[Using Medley](https://interlisp.org/software/using-medley/) has an overview and pointers to documentation.
The [Glossary](https://interlisp.org/history/glossary) defines system-specific terms such as "loadup" and "sysout".
[Interlisp/maiko](https://github.com/Interlisp/maiko), is the repo for the implementation (in C) of the Medley virtual machine.
## Releases
@@ -69,9 +67,25 @@ If you have a high-resolution display, note that much of the graphics was design
Medley presumes you have a 3-button mouse; the scroll-wheel on some mice acts as one, with some difficulty. Go into XQuartz Preferences/Input and check "Emulate three button mouse" option.
### Running Medley Interlisp
### Running Medley Interlisp (obsolete)
The primer [Medley Interlisp for the Newcomer](https://primer.interlisp.org) eases new users into the Interlisp environment. It assumes no prior knowledge of Lisp and covers the user interface, programming and debugging, windows and graphics, and more. We recommend consulting this document to learn how to run and use the system.
The `run-medley` script in this repo sets up some convenient defaults. Running Medley can be done by typing:
```
$ cd medley
$ ./run-medley
```
Or, if you wish to start Medley up with a different SYSOUT:
```
$ cd medley
$ ./run-medley <SYSOUT-file-name>
```
The first time the system is run it loads the system image that comes
with the system. When you exit the system (or "do a `SaveVM`" menu
option) the state of your machine is saved in a file named
`~/lisp.virtualmem`. Subsequent system startups load the
`~/lisp.virtualmem` image by default.
### Exiting The System
@@ -109,7 +123,7 @@ Each directory should have a README.md, but briefly
* BUILDING.md -- instructions on how to make your own loadups
* clos -- early implementation of Common Lisp Object System
* CLTL2 -- files submitted to bring Medley up to the conformance to "Common Lisp, the Language" 2nd edition. Not enough to conform to the ANSI standard lisp.
* docs -- Documentation files (in TEdit format, PDFs, or online help
* docs -- Documentation files (in TEdit format, PDFs, or online help; look [here](https://github.com/Interlisp/medley/Documentation))
* fonts -- raster fonts (or font widths) in various resolutions for display, postscript, interpress, press formats
* greetfiles -- various configuration setups
* internal -- These _were_ internal to Venue

View File

@@ -0,0 +1,2 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>Medley-Primer-OnePage</title></head><frameset cols="310pt,*" rows="94%"><frame src="Medley-Primer-OnePage_files/headings.htm" name="headings"/><frame src="Medley-Primer-OnePage_files/content.htm" name="content"/></frameset></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

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