-
-
Notifications
You must be signed in to change notification settings - Fork 29
CMLARITH: Makefile new to get fns/functions in filemap #1331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This has a FILESLOAD for lispusers/UNBOXEDOPS that somehow didn't get executed by the previous cleanup. (That may be a separate issue with the compiler interface, not clear that it always makes the right choices even when the FILETYPE property is set.) But this also begs the question, why is UNBOXEDOPS on lispusers?
CLEANUP is confused about how to compile. This had FILETYPE = CL-COMPILE-TYPE, with an existing LCOM. It produced a new DFASL, but the LCOM was still hanging around. I'm deleting the LCOM here, pushing the new DFASL.
|
Actually, I have no idea how CLEANUP and/or the compiler is supposed to work on files that are marked CL:COMPILE-FILE and for which there is an LCOM. And, given that somehow a DFASL might have been produced and is newer than the LCOM, it seems that the loader still goes for the LCOM. So, I'm not sure that the compiled files are good in this PR, they should be tested. |
|
I created an issue #1335 about the DFASL/LCOM problem. |
Signed-off-by: Matt Heffron <mattheffron475@gmail.com>
MattHeffron
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks reasonable.
HOWEVER, I tried to test this by (LOAD xx 'SYSLOAD) of CMLARITH.LCOM and CMLCHARACTER.DFASL, but that didn't work.
I'm assuming that these files must be in place when the release is built.
I'm approving this on that assumption, or that it'll be no worse than it is now if it doesn't work.
|
I tried doing a loadup after the merge, and it failed, I think because of confusion about how to compile files early in the loadup. The FILETYPE property doesn’t seem to do the “right” thing for files with FUNCTIONS that have to be compiled as LCOMs. One of these files now has a DFASL, and I think that breaks the load.
I will try to recompile and put out another commit (maybe in another PR). In the meantime, maybe best to back out this merge.
… On Oct 29, 2023, at 10:51 PM, Matt Heffron ***@***.***> wrote:
Merged #1331 <#1331> into master.
—
Reply to this email directly, view it on GitHub <#1331 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJMPU2HPB3YKTOPGCALYB457RAVCNFSM6AAAAAA5EXHSJOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQHAYDEOBZGYZTGMY>.
You are receiving this because you authored the thread.
|
|
I confirmed that the problem is the DFASL for CMLCHARACTER. If I nuke that and restore the old LCOM, the loadup works.
But: I don’t know how to compile CMLCHARACTER into a new LCOM. FAKE-COMPILE-FILE and TCOMPL both break with an error
"In CL:LENGTH: The value of SEQUENCE, Newline, is not a LIST or a VECTOR”.
CL:COMPILE-FILE compiles it OK…but the DFASL. can’t be used in making a loadup.
So I think the immediate thing is to get rid of the DFASL and restore the preexisting LCOM, even though that is out of step with the symbolic file that was changed only to provide a useful filemap for pf/tf.
… On Oct 29, 2023, at 11:12 PM, Ron Kaplan ***@***.***> wrote:
I tried doing a loadup after the merge, and it failed, I think because of confusion about how to compile files early in the loadup. The FILETYPE property doesn’t seem to do the “right” thing for files with FUNCTIONS that have to be compiled as LCOMs. One of these files now has a DFASL, and I think that breaks the load.
I will try to recompile and put out another commit (maybe in another PR). In the meantime, maybe best to back out this merge.
> On Oct 29, 2023, at 10:51 PM, Matt Heffron ***@***.***> wrote:
>
>
> Merged #1331 <#1331> into master.
>
> —
> Reply to this email directly, view it on GitHub <#1331 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJMPU2HPB3YKTOPGCALYB457RAVCNFSM6AAAAAA5EXHSJOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQHAYDEOBZGYZTGMY>.
> You are receiving this because you authored the thread.
>
|
|
The problem seems to stem from some Newline processing that you can see in a regular full.sysout - try doing |
|
The simplest way to see the issue is just to type #\Newline into the XCL exec. It happens when outputting the character.
To demonstrate this, in the XCL exec, typing:
(code-char 10)
gives the error in the middle of the printing (i.e., after having output the #\):
#\The value of SEQUENCE, IL:|Linefeed|, is not a LIST or a VECTOR.
So it isn’t from reading/parsing the read macro.
It also fails for #\Page and #\Rubout, (and probably other “control characters” that I haven’t tried), but it doesn’t fail for #\Space.
Matt
From: Nick Briggs ***@***.***>
Sent: Monday, October 30, 2023 8:08 AM
To: Interlisp/medley ***@***.***>
Cc: Matt Heffron ***@***.***>; State change ***@***.***>
Subject: Re: [Interlisp/medley] CMLARAITH: Makefile new to get fns/functions in filemap (PR #1331)
The problem seems to stem from some Newline processing that you can see in a regular full.sysout - try doing (CHARCODE #\Newline) and then try to fix that line. You'll get the CL:LENGTH error.
—
Reply to this email directly, <#1331 (comment)> view it on GitHub, or <https://github.com/notifications/unsubscribe-auth/AB7BB4XFAHOPCZZF3EZTMQDYB67DNAVCNFSM6AAAAAA5EXHSJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGQZDGMZXGI> unsubscribe.
You are receiving this because you modified the open/close state. <https://github.com/notifications/beacon/AB7BB4TGBCUMVXVRQPM2OSLYB67DNA5CNFSM6AAAAAA5EXHSJOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTKNNTAY.gif> Message ID: < ***@***.***> ***@***.***>
|
Just a MAKEFILE new--one of the several (still) carryover files that didn't include commonlisp functions in the filemap, so PF didn't work.