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

FILEWATCH, QIX, SOLITAIRE--rename fields that conflict with REGION and POINT #1763

Closed rmkaplan closed 5 months ago

rmkaplan commented 5 months ago

This eliminates a bunch of errors in building the fuller database (#1141). Basically, renaming fields like LEFT, BOTTOM or X Y that conflict with core system field names.

LLKEY, CHAT, and EDITBITMAP are still troubled.

masinter commented 5 months ago

This patch might be OK, except it makes the code uglier in order to work around a (unimpactrul) step in the process.

How can we fix the problem once and for all? Would it work to have file or package relative fieldnames? The whole (fetch (RECORDNAME FIELDNAME) of X) is so verbose compared to X:FIELDNAME tht was originally used for record access in INterlisp-10

rmkaplan commented 5 months ago

Packages that are included in the fuller database (or in the full sysout) should not have unqualified record accesses in general, and they should not redefine other system fields (like X, Y, LEFT...), particularly ones that are likely to appear unqualified in lots of other places. A more compact syntax would be nice (even some systematic macros like I have done in Tedit), but avoiding conflicts is higher priority.