Interlisp / medley

The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
https://Interlisp.org
MIT License
376 stars 19 forks source link

Reserved sysout for making inits #355

Closed rmkaplan closed 3 years ago

rmkaplan commented 3 years ago

The loadup scripts currently run the current -full to make the init.sysout.

But if the modifications to system files are such that they make a full.sysout that is somehow incompatible or buggy in some way (as in a change to the external format), then then the build process itself may fail during the debugging process.

I suggest making the loadup sequences depend on a separate, reserved sysout that does not change except under very rare update scenarios, and not whatever happens to be the current full. We should have a stable build platform independent of what we are trying to build.

masinter commented 3 years ago

building a new full doesn't install it where it will be used. That's why copy-all is a separate step. Could you give an example of what went wrong?

rmkaplan commented 3 years ago

But the standard scripts don’t know to go to tmp/ if you want to test other aspects (also, the whereis database is expected to have been oved out of tmp, in usual greeting files). So a an obvious trap is to run the copy script to get things set up…and then you can get into a situation where the environment for doing a makeinit (especially if you are fiddling with underying file formats, as for the external format adventure) has been corrupted. The copy script overwrites without preserving old versions. It is only a partial solution, but I think it is worth preserving a safe environment.

On Jul 26, 2021, at 2:45 PM, Larry Masinter @.***> wrote:

building a new full doesn't install it where it will be used. That's why copy-all is a separate step. Could you give an example of what went wrong?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/355#issuecomment-887048511, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJOHHAGUFN6DXH4KZLTTZXJOBANCNFSM5BAL7DVQ.

masinter commented 3 years ago

It might be better to get rid of copy-all and pick up RDSYS, exports.all, whereis.hash from tmp while you're testing using run-medley -new.

When you push commits to master, we'll automatically build a (beta) release. @hjellinek @stumbo maybe it would be better to run the loadup-init in a lisp.sysout that/s newer than lisp.venuesysout but, as you say, stable.

rmkaplan commented 3 years ago

Actually, what does RDSYS do? I never knew.

On Jul 27, 2021, at 3:07 PM, Larry Masinter @.***> wrote:

It might be better to get rid of copy-all and pick up RDSYS, exports.all, whereis.hash from tmp while you're testing using run-medley -new.

When you push commits to master, we'll automatically build a (beta) release. @hjellinek https://github.com/hjellinek @stumbo https://github.com/stumbo maybe it would be better to run the loadup-init in a lisp.sysout that/s newer than lisp.venuesysout but, as you say, stable.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/355#issuecomment-887866475, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJNRJV25VB4MKLTO5SLTZ4U3NANCNFSM5BAL7DVQ.

masinter commented 3 years ago

RDSYS reads a sysout and allows you to manipulate it using "renamed" functions. It's only used by makeinit and teleraid, afaik

masinter commented 3 years ago

This is saved in "loadups/starter.sysout". we'll update that when we have to (by making an incompatible change)