Workflow from the Pros

24 views
Skip to first unread message

pixel...@gmail.com

unread,
Sep 15, 2025, 2:03:10 AM (14 days ago) Sep 15
to Medley Interlisp core
I'm still hitting the books as I work through InterLisp but I do wonder if a recorded session by one of the pros here might be helpful to people wanting to pitch in from the GitHub contributor side of things.

I think the general workflow is still a bit opaque to me when it comes to tackling a bug or feature to the system itself.

Maybe one of the pros here might be able to show their process for *finding* an offending bug, using the system tools to test and patch it, and then somehow getting it up as a code fix for approval. I think there is a lot of mystery around the native file system with regards to fixing code and getting that somehow up to github.

I can't speak for everyone but Medley is a very different OS than many folks are used to. So to see a pro's workflow and thought process in squashing a bug might be very valuable to getting more hands on deck with the maintenance. Maybe the bug is simply something that's known in advance and already solved but the process is demonstrated anyway.

But, perhaps for now you just want experts working on the stability of missing parts.

This is just an outsider's perspective anyway.
At some point, I'd probably like to start helping as I can. Right now I'm just bumping gently along the pool walls with my water wings on. ;)

- Ryan



Paolo Amoroso

unread,
Sep 15, 2025, 2:43:49 AM (14 days ago) Sep 15
to pixel...@gmail.com, Medley Interlisp core
This is something I wonder about too. For example how to set up Medley for development rather than use, what to recompile and how if a source file is changed, and so on. I'll bring this up for discussion at this Wednesday's meeting.


--
You received this message because you are subscribed to the Google Groups "Medley Interlisp core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lispcore+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/lispcore/02fefe1a-a80f-44c3-842a-f027af9ecef3n%40googlegroups.com.


--

Paolo Amoroso

unread,
Sep 15, 2025, 2:34:36 PM (13 days ago) Sep 15
to pixel...@gmail.com, Medley Interlisp core
We actually discussed this in today's implementation meeting.

The (very) short answer to the question of what is the workflow to modify the system is, you edit and test functions and Lisp objects as you do for user code, then call (CLEANUP) (think Unix make) which is supposed to do the right thing and compile what changed. This is what CLEANUP is supposed to do, but sometimes it silently fails to compile certain system files if you add Common Lisp code to Interlisp and thus implicitly change the file type. Anyway, we'll work on the videos you suggested.


Paolo Amoroso

unread,
Sep 15, 2025, 2:39:03 PM (13 days ago) Sep 15
to pixel...@gmail.com, Medley Interlisp core
More details in today's meeting notes under "Workflow Documentation" and "Common Lisp Integration".

Paolo Amoroso

unread,
Sep 16, 2025, 12:22:01 PM (12 days ago) Sep 16
to Medley Interlisp core
For working locally on the system is it better to directly clone the medley repo or fork the repo and clone the fork? Once I have a working tree I can create and manage PRs with the web or CLI GitHub client.

Aside from testing changes to the system (and of course for updating to the latest sources for my own usage), when else is it necessary to do a loadup? Prior to every commit?


Larry Masinter

unread,
Sep 17, 2025, 9:21:52 AM (11 days ago) Sep 17
to Paolo Amoroso, Interlisp core Medley
Historically doing a load up was rare and not very well documented… when we started in 2020 the last time there had been a loadup was 30 years, there were patch files to take the previous sysout and load in some changes.

"When else is it necessary to do a loadup" -- I think it's a stop-gap to having some better unit-tests.
--
LarryMasinter.net

On Sep 16, 2025, at 9:22 AM, Paolo Amoroso <paolo....@gmail.com> wrote:



Paolo Amoroso

unread,
Sep 22, 2025, 8:13:14 AM (6 days ago) Sep 22
to L...@acm.org, Interlisp core Medley
I think I have a grasp of how to make small changes to the Medley system itself, so I'd like to try fixing a simple issue such as #2226. It's a trivial and (hopefully) safe change that just involves deleting a duplicate line of code but it can help me get familiar with the setup and workflow. Can I go ahead?

Arun Welch

unread,
Sep 22, 2025, 8:23:53 AM (6 days ago) Sep 22
to Paolo Amoroso, L...@acm.org, Interlisp core Medley
I think if we expect people to get permission before working on a fix that is an unnecessary bit of gatekeeping against the spirit of the project.
Go for it, submit a PR at which point it can be reviewed.

Arun

On Sep 22, 2025, at 7:13 AM, Paolo Amoroso <paolo....@gmail.com> wrote:



Paolo Amoroso

unread,
Sep 22, 2025, 8:38:37 AM (6 days ago) Sep 22
to Arun Welch, L...@acm.org, Interlisp core Medley
Thanks Arun, It's actually more a matter of awareness and thinking aloud than permission. Since, as advised in the discussions we had, I'll directly work on a branch of the Medley repo rather than a fork, I wanted all to be aware.

Paolo Amoroso

unread,
Sep 23, 2025, 10:59:46 AM (5 days ago) Sep 23
to Interlisp core Medley
I'm working on issue #2226. After creating and switching to a branch of my working tree, in Medley I FILESLOADed BROWSER, edited the function GET.BROWSE.PP.WINDOW, tested it, and called CLEANUP. CLEANUP asked this question to which I answered yes. Is it the correct answer?

cleanup-browser.png
Then it saved the source and compiled files to ~/il regardless of the directory currently connected in Medley, such as ~/medley/medley/library (in the working tree) as in the screenshot or ~/il. How can I make Medley write changed files back to their own directories?

Paolo Amoroso

unread,
Sep 23, 2025, 3:49:35 PM (5 days ago) Sep 23
to Interlisp core Medley
Should I just manually copy the modified files in ~/il over the old files in the working tree?

Larry Masinter

unread,
Sep 23, 2025, 9:50:22 PM (5 days ago) Sep 23
to Paolo Amoroso, Interlisp core Medley
(FILESLOAD SAMEDIR) -- warn you and do not MAKEFILE Into a directory you didn't load the file form.
Maybe it should be set in SYSLOAD (FILESLOAD SYSLOAD) which loads exports.all and sets some other parameters for "hacking the system" mode.


--


Paolo Amoroso

unread,
Sep 24, 2025, 7:27:01 AM (4 days ago) Sep 24
to Larry Masinter, Interlisp core Medley
(FILESLOAD SYSLOAD) yields the error "File SYSLOAD not found". But I did CD {MEDLEY}library> and then (FILESLOAD (FROM {MEDLEY}library>) BROWSER) and this time CLEANUP wrote the files to the library directory.

I committed to a branch and git push issued this error:

paolo@lispmachine:~/medley/medley$ git push
fatal: The current branch pa1--2226-duplicate-code has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin pa1--2226-duplicate-code

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

I did the former:

paolo@lispmachine:~/medley/medley$ git push --set-upstream origin pa1--2226-duplicate-code
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 16 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.16 KiB | 1.16 MiB/s, done.
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
remote:
remote: Create a pull request for 'pa1--2226-duplicate-code' on GitHub by visiting:
remote:      https://github.com/Interlisp/medley/pull/new/pa1--2226-duplicate-code
remote:
To github.com:Interlisp/medley.git
 * [new branch]        pa1--2226-duplicate-code -> pa1--2226-duplicate-code
branch 'pa1--2226-duplicate-code' set up to track 'origin/pa1--2226-duplicate-code'.

which added to Medley's GitHub repo an option to create a pull request. I proceeded and now finally have PR #2295 ready for review.

Matt Heffron

unread,
Sep 24, 2025, 9:20:01 PM (4 days ago) Sep 24
to Paolo Amoroso, Larry Masinter, Interlisp core Medley

It’s not SYSLOAD, the file that I think Larry meant was SYSEDIT, which does load exports.all, etc.

The file you need is: (FILESLOAD SAMEDIR) and maybe also AUTOSAMEDIR

 

Matt

image001.png

Paolo Amoroso

unread,
Sep 25, 2025, 1:57:34 AM (4 days ago) Sep 25
to Matt Heffron, Larry Masinter, Interlisp core Medley
Got it, thanks. I did load SYSEDIT.

Reply all
Reply to author
Forward
0 new messages