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
369 stars 19 forks source link

Problem loading TEDIT file with HRULE has returned #1810

Open MattHeffron opened 3 weeks ago

MattHeffron commented 3 weeks ago

The problem that I described as a secondary issue in #1667 seems to have returned, but now an error vs warning. Using the latest release full.sysout, when I try to open STRESSTEST.TEDIT (attached in STRESSTEST.zip) it enters a BREAK window with the message "Help! Cannot read image object with GETFN HRULE.GETFN"

image

The HRULE.GETFN is loaded.

image

When I noted this in April, the file would still load. Now it cannot.

rmkaplan commented 3 weeks ago

I think there is something wrong with reading a sketch image object, not hrule, that is maybe screwing up the file-reading.

But in my current master loadup, I don’t get a HELP or break, I see a message in the TEDIT promptwindow, and the rest of the file seems to open and display properly, after it loads all of the Sketch files. The message is that it can’t read an image object with SKIO.GETFN.2, not hrule. (A separate known issue is that the READIMAGEOBJ function doesn’t report accurately to Tedit the actual reason for a failure, if a failure occurs in an image object embedded inside another one.)

I vaguely remember an issue wherein there was a bug in old Tedit that it didn’t ensure that the readtable it used to read an imageobject was the same one as was used to write it. If an old file was written with, say, the old interlisp file readtable but is now being read with a different one, then things could get screwed up. I’m not sure whether that explains this behavior.

On Aug 23, 2024, at 12:51 PM, Matt Heffron @.***> wrote:

The problem that I described as a secondary issue in #1667 https://github.com/Interlisp/medley/issues/1667 seems to have returned, but now an error vs warning. Using the latest release full.sysout, when I try to open STRESSTEST.TEDIT (attached in STRESSTEST.zip https://github.com/user-attachments/files/16732911/STRESSTEST.zip) it enters a BREAK window with the message "Help! Cannot read image object with GETFN HRULE.GETFN"

image.png (view on web) https://github.com/user-attachments/assets/4ec2143d-fb76-4053-b950-d339ef864fa2 The HRULE.GETFN is loaded.

image.png (view on web) https://github.com/user-attachments/assets/f6fafaf3-0a15-4fb5-9242-dcd3d6ded8c6 When I noted this in April, the file would still load. Now it cannot.

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1810, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJJQE2PGYMIY4WNTUC3ZS6HDZAVCNFSM6AAAAABNAYVR7SVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ4DGNZZGMYDSMA. You are receiving this because you are subscribed to this thread.

MattHeffron commented 3 weeks ago

Digging deeper, this is due to the advice on TEDIT.PROMPTPRINT from MEDLEY-UTILS that adds the call to HELP. I removed that advice and it now works ... but why is that there? It seems that it couldn't have been there in April, so why was that added? OR I added MEDLEY-UTILS to my INIT in the meantime. (But I don't know why I would have done that.)

masinter commented 3 weeks ago

This might've been @fghalasz debugging HCFILES