Skip to content

Cannot (LOAD 'NEW-CLOS-BROWSER 'PROP) from medley/clos due to inconsistent symbol exports #1447

@MattHeffron

Description

@MattHeffron

Describe the bug
The :INTERNAL/:EXTERNAL state of some symbols in NEW-CLOS-BROWSER is inconsistent between the source and the .DFASL files. This causes (LOAD 'NEW-CLOS-BROWSER 'PROP) to fail with MISSING-EXTERNAL-SYMBOL.

To Reproduce
Steps to reproduce the behavior:

  1. CD {MEDLEY}
  2. (IL:LOAD "DEFSYS.DFASL" T)
  3. (CLOS::LOAD-CLOS)
  4. (ED 'CLOS-BROWSER::BROWSE-CLASS)
  5. Answer Y when asked to load the file PROP
  6. MISSING-EXTERNAL-SYMBOL break window opens for the external symbol CLOS-ICON in package CLOS-BROWSER

Steps 1-3 are described in clos/README.MD as the way to load CLOS.

Expected behavior
The load PROP should have succeeded, and SEdit opened on CLOS-BROWSER::BROWSE-CLASS

Diagnosis
It appears that 4 symbols were exported before the source was written. However, that they were exported was not captured in the source in such a way that COMPILE-FILE would also export them. When the DFASL was loaded in a "clean" Medley, the symbols were not exported.
The (LOAD ... 'PROP) fails because the symbols in the source file are formatted as external (one : not two :: )
CLOS-BROWSER:CLOS-ICON, CLOS-BROWSER:CLOS-BROWSER, CLOS-BROWSER:ADD-BROWSER-METHOD, CLOS-BROWSE:CLASS
The error occurred reading the IL:FILEDATES expression's "changes to".
(It would have failed reading the NEW-CLOS-BROWSERCOMS if they weren't mentioned in the IL:FILEDATES expression.)

Context (please complete the following information):

  • OS: Win 11 WSL
  • OS Version: Ubuntu 22.04.3
  • Host arch: x86_64
  • Maiko version: 7fce08f92
  • IL:MAKESYSDATE: medley-231122-b2f750e5 -- (MAKESYSDATE) gave error "MAKESYSDATE is an undefined function"

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions