Skip to content

MAKEFILE of file with edited function includes 2nd copy of COMS, but modified! #1725

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

Closed
MattHeffron opened this issue May 21, 2024 · 4 comments
Assignees

Comments

@MattHeffron
Copy link
Contributor

MattHeffron commented May 21, 2024

If I edit PRINT-ALL-DOCUMENTATION in CMLEXEC, doing a MAKEFILE (or CLEANUP) includes in the new file, a modified copy of the CMLEXECCOMS.
I (LOAD 'CMLEXEC 'PROP) before editing the function.
How should this be done to avoid ending up with the modified COMS?
The modification seems to be happening during the MAKEFILE.

@masinter
Copy link
Member

What I remember is that this is expected behavior if the MAKEFILE encounters a misspelled filecom and spell corrects, or if NLAML NLAMA LAMA are not set because the appearance of functions on those lists determine in some Interlisp implementations how calls are compiled. This is old behavior from Interlisp-10 but LAMA and NLAMBDAs are compiled differently than calls to LAMLs.

I hope this is all in the IRM but I haven't checked. What is the change to the fileCOMS that you notice?

@MattHeffron
Copy link
Contributor Author

@masinter The change to the COMS is adding 7 FNS to the LAMA variable.

@MattHeffron MattHeffron self-assigned this May 22, 2024
@masinter
Copy link
Member

i'm not sure if the CL:COMPILE-FILE DFASL compiler vs. BCOMPL/TCOMPL and CL:EFUN vs DEFINEQ of CL:LAMBDA, and &KEY &REST but at some point the behavior is intended if unexpected.

@MattHeffron
Copy link
Contributor Author

MattHeffron commented Jun 1, 2024

See also Issue #1735 (both related to the same PR #1736)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants