Skip to content

Conversation

@MattHeffron
Copy link
Contributor

NOTE: This uses the function IL:CLSMARTEN which is from the file CLSMARTARGS.
The file CLSMARTARGS isn't loaded until almost immediately after XCL-EXTRAS during making loadups.
There are no uses of DEFINE-RECORD in making the lisp.sysout loadup, so this ought to be safe, but this must be verified!

…ted macros.

**NOTE:** This uses the function `IL:CLSMARTEN` which is from the file `CLSMARTARGS`.
The file `CLSMARTARGS` isn't loaded until almost immediately **after** `XCL-EXTRAS`.
There are no uses of `DEFINE-RECORD` in making the `lisp.sysout` loadup, so this _ought_ to be safe, but this must be verified!
@MattHeffron MattHeffron self-assigned this Dec 12, 2025
@MattHeffron MattHeffron added the enhancement New feature or request label Dec 12, 2025
@pamoroso
Copy link
Contributor

On this branch Medley builds and runs with no apparent issues on Linux Mint 22.1 Cinnamon.

@masinter
Copy link
Member

I'd like a little background on this PR -- what problem is it solving?
What is DEFINE-RECORDS? Not fmailiar with it.

@MattHeffron
Copy link
Contributor Author

@masinter What is DEFINE-RECORDS?

xcl:define-record is a DEFINER that "Creates a structures object named by the symbol name that provides Common Lisp accessors, settors, predicates and constructors for an Interlisp record"
(from the Medley Release Notes, September 1988, Page 7-3 ).

I'm trying these to reduce the Interlisp (CLISP) code in READ-BDF, which already is primarily Common Lisp code.
I discovered that the macros are defined in such a way that their argument lists are not available to ?=, etc.
This change just adds the argument list information to the property lists of the defined macros.

It isn't actually a structures object created, but macros and SETF places, that can be used as if the record was defined by defstruct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants