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

Loading Truckin balks at recognizing ":" in comments in Truckin code. #1819

Open skaisler opened 2 months ago

skaisler commented 2 months ago

Documented several attempts at resolving the problem here. LOOPS-LoadIssue.docx LispShots.docx TRUCKIN.txt

Expected behavior Should not balk on new comment style format, e.g.. (* : "comment including :")

This is transient.

Context (please complete the following information):

Additional context Add any other context about the problem here.

MattHeffron commented 2 months ago

In loops/users/CONVERSION-AIDS the CONVERT-METHODS function is using the "OLD-INTERLISP-FILE" readtable and using TEDIT to change (DEFINEQ ...) into (DEFINE-METHOD-FNS ...) expressions. Likewise CONVERT-LOOPS-FILES uses the "OLD-INTERLISP-FILE" when processing files. It appears the TRUCKIN file has been processed by this. This processing converts comments. What I do not see is anything that would indicate why the converted comments aren't reading correctly! There doesn't appear to be anything that changes the "INTERLISP" readtable to affect LOAD.

masinter commented 2 months ago

from https://github.com/masinter/homedir file LARRY there is a function GETLOOPS:

(GETLOOPS [LAMBDA NIL (* ; "Edited 19-Oct-2022 17:00 by lmm") (FILESLOAD LOADLOOPS) (LOADLOOPS) (COND ((CL:Y-OR-N-P "Load Truckin?") (CNDIR "../truckin") (FILESLOAD TRUCKINLOAD) (OR (BOUNDP 'TRUCKINVARS) (SETQ TRUCKINVRS)) (LoadTruckin))) (COND ((CL:Y-OR-N-P "Load sources?") (pushnew DIRECTORIES TruckinPlayersDirectory) (FOR X IN (REVERSE FILELST) WHEN (NOT (MEMBER X BEFOREFILES)) DO (LOAD X 'PROP) (MASTERSCOPE `(ANALYZE ANY ON ',X])

w;hich loads all of loops compiled and sources. Without any conversions or errors.

What's missing in this is the file LOOPSMS which should be loaded (FILESLOAD LOOPSMS) after the call to LOADLOOPS but before loading the sources and calling . ANALYZE.

MattHeffron commented 2 months ago

After some experimenting to figure out why GETLOOPS was failing, I added to it:

(GETLOOPS
  [LAMBDA NIL                                                (* ; "Edited  2-Sep-2024 23:18 by mth")
                                                             (* ; "Edited 19-Oct-2022 17:00 by lmm")
    (CL:UNLESS (AND (BOUNDP 'BEFOREFILES)                    (* ; "mth - added this to set BEFOREFILES")
                    BEFOREFILES)
        (SETQ BEFOREFILES (COPY FILELST)))
    (FILESLOAD LOADLOOPS)
    (LOADLOOPS)
    (COND
       ((CL:Y-OR-N-P "Load Truckin?")
        (CNDIR "../truckin")
        (FILESLOAD TRUCKINLOAD)
        (OR (BOUNDP 'TRUCKINVARS)
            (SETQ TRUCKINVRS))
        (LoadTruckin)))
    (COND
       ((CL:Y-OR-N-P "Load sources?")
        (pushnew DIRECTORIES TruckinPlayersDirectory)
        (for X in (REVERSE FILELST) when (NOT (MEMBER X BEFOREFILES))
           do (LOAD X 'PROP)
              (MASTERSCOPE `(ANALYZE ANY ON ',X])

Then it loaded LOOPS and Truckin correctly, but failed in the MASTERSCOPE analysis of Truckin. image

masinter commented 2 months ago

I forgot have to add LOOPSMS after LOADLOOPS--LarryMasinter.netOn Sep 4, 2024, at 11:56 AM, Matt Heffron @.**> wrote: After some experimenting to figure out why GETLOOPS was failing, I added to it: (GETLOOPS [LAMBDA NIL ( ; "Edited 2-Sep-2024 23:18 by mth") ( ; "Edited 19-Oct-2022 17:00 by lmm") (CL:UNLESS (AND (BOUNDP 'BEFOREFILES) ( ; "mth - added this to set BEFOREFILES") BEFOREFILES) (SETQ BEFOREFILES (COPY FILELST))) (FILESLOAD LOADLOOPS) (LOADLOOPS) (COND ((CL:Y-OR-N-P "Load Truckin?") (CNDIR "../truckin") (FILESLOAD TRUCKINLOAD) (OR (BOUNDP 'TRUCKINVARS) (SETQ TRUCKINVRS)) (LoadTruckin))) (COND ((CL:Y-OR-N-P "Load sources?") (pushnew DIRECTORIES TruckinPlayersDirectory) (for X in (REVERSE FILELST) when (NOT (MEMBER X BEFOREFILES)) do (LOAD X 'PROP) (MASTERSCOPE `(ANALYZE ANY ON ',X]) Then it loaded LOOPS and Truckin correctly, but failed in the MASTERSCOPE analysis of Truckin. image.png (view on web)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

skaisler commented 2 months ago

We knew that Interlisp/LOOPS did not like "#", but I am still confused why it did not like rando occurrences of ":".

I suggest we explicitly spell this out so we can document it in a technical not e ont he website.

Steve K.

On Thu, Sep 5, 2024 at 1:28 PM Larry Masinter @.***> wrote:

I forgot have to add LOOPSMS after LOADLOOPS--LarryMasinter.netOn Sep 4, 2024, at 11:56 AM, Matt Heffron @.**> wrote: After some experimenting to figure out why GETLOOPS was failing, I added to it: (GETLOOPS [LAMBDA NIL ( ; "Edited 2-Sep-2024 23:18 by mth") ( ; "Edited 19-Oct-2022 17:00 by lmm") (CL:UNLESS (AND (BOUNDP 'BEFOREFILES) ( ; "mth - added this to set BEFOREFILES") BEFOREFILES) (SETQ BEFOREFILES (COPY FILELST))) (FILESLOAD LOADLOOPS) (LOADLOOPS) (COND ((CL:Y-OR-N-P "Load Truckin?") (CNDIR "../truckin") (FILESLOAD TRUCKINLOAD) (OR (BOUNDP 'TRUCKINVARS) (SETQ TRUCKINVRS)) (LoadTruckin))) (COND ((CL:Y-OR-N-P "Load sources?") (pushnew DIRECTORIES TruckinPlayersDirectory) (for X in (REVERSE FILELST) when (NOT (MEMBER X BEFOREFILES)) do (LOAD X 'PROP) (MASTERSCOPE `(ANALYZE ANY ON ',X]) Then it loaded LOOPS and Truckin correctly, but failed in the MASTERSCOPE analysis of Truckin. image.png (view on web)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1819#issuecomment-2332274405, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRPGX3OZICU4B3J5EN4KPTZVCIC3AVCNFSM6AAAAABNN57562VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZSGI3TINBQGU . You are receiving this because you authored the thread.Message ID: @.***>

MattHeffron commented 2 months ago

I added the (FILESLOAD LOOPSMS) and it got further, but failed analyzing LOOPSKERNEL, in Object.MessageNotUnderstood. image

masinter commented 2 months ago

We knew that Interlisp/LOOPS did not like "#", but I am still confused why it did not like rando occurrences of ":".

I don't know what you mean by 'not like'. Is there (could you make sure there is) an issue describing any failure? If it's loops code you're using, then stay in an interlisp exec 9not xcl0.

skaisler commented 2 months ago

Larry et al:

  1. I was loading it in the Interlisp Exec, which is why it was balking.

  2. The problem is transient. It might skip by several instances where we have a date as "sm%:

Matt: Will you send the document to Larry that I sent you with examples. I stored it someplace so well, I can't find it right now.

Steve K.

On Mon, Sep 9, 2024 at 12:54 PM Larry Masinter @.***> wrote:

We knew that Interlisp/LOOPS did not like "#", but I am still confused why it did not like rando occurrences of ":".

I don't know what you mean by 'not like'. Is there (could you make sure there is) an issue describing any failure? If it's loops code you're using, then stay in an interlisp exec 9not xcl0.

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1819#issuecomment-2338611270, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRPGX444S4Y3CVJMEWICMLZVXHDHAVCNFSM6AAAAABNN57562VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZYGYYTCMRXGA . You are receiving this because you authored the thread.Message ID: @.***>

nbriggs commented 2 months ago

@skaisler Are the LOOPS files you're loading files that have been modified in any way outside of Medley? (i.e., with Notepad, etc.) You say it's transient, but that's based on not every occurance of "sm%:

skaisler commented 2 months ago

I have modified them with Notepad++ to reformat for easier readability. But, that should not change the ability to load the source code.

steve K.

On Mon, Sep 9, 2024 at 8:23 PM Nick Briggs @.***> wrote:

@skaisler https://github.com/skaisler Are the LOOPS files you're loading files that have been modified in any way outside of Medley? (i.e., with Notepad, etc.) You say it's transient, but that's based on not every occurance of "sm%: " failing within a single file. Is it repeatable? Does the same file fail the same way each time it is loaded?

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1819#issuecomment-2339377055, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRPGXZHPAOFS2F4NCW3ACDZVY3YZAVCNFSM6AAAAABNN57562VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZZGM3TOMBVGU . You are receiving this because you were mentioned.Message ID: @.***>

nbriggs commented 2 months ago

@skaisler - but it can change the ability to load the source, since they're managed files. If you have an example of one of the LOOPS files that you have modified and that won't load, please attach it here.

MattHeffron commented 2 months ago

@skaisler Or, instead of attaching one file here, you could commit the edited files to a branch and push it to GitHub. Don't make a Pull Request (or make one and mark it as Draft). This would allow us to investigate if there is some bizarre cross-file interaction that's contributing to the problem. (This is extremely improbable, but I've seen stranger things!)

skaisler commented 2 months ago

NIck:

Here is the file that has problems:

And a screenshot:

[image: image.png] And, the trail through Truckin via PRINT statements:

[image: image.png]

And, here is where the problem occurs:

[image: image.png] Notice that the comment form is one of three forms sprinkled through the source code.

Steve K. On Tue, Sep 10, 2024 at 9:34 PM Matt Heffron @.***> wrote:

@skaisler https://github.com/skaisler Or, instead of attaching one file here, you could commit the edited files to a branch and push it to GitHub. Don't make a Pull Request (or make one and mark it as Draft). This would allow us to investigate if there is some bizarre cross-file interaction that's contributing to the problem. (This is extremely improbable, but I've seen stranger things!)

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1819#issuecomment-2342441810, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRPGX5FWDA5QMBP7XV6IYTZV6MZXAVCNFSM6AAAAABNN57562VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBSGQ2DCOBRGA . You are receiving this because you were mentioned.Message ID: @.***>

pamoroso commented 2 months ago

@skaisler The screenshots didn't go through.

skaisler commented 2 months ago

Here is a word doc with the three images.

Steve K.

On Wed, Sep 11, 2024 at 9:22 AM Paolo Amoroso @.***> wrote:

@skaisler https://github.com/skaisler The screenshots didn't go through https://github.com/Interlisp/medley/issues/1819#issuecomment-2343653124.

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1819#issuecomment-2343658976, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARRPGX7QRJMEAGSDQIUWG63ZWA7YBAVCNFSM6AAAAABNN57562VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBTGY2TQOJXGY . You are receiving this because you were mentioned.Message ID: @.***>

nbriggs commented 2 months ago

Attaching files with an e-mail reply doesn't seem to work - none of the source file, original images, or word doc got through to the github issue. Could you attach the files directly to the issue via the web interface, please.