According to the specification section 8.2:
The EXTEND operator accepts loader-specification forms (bare identifiers and package-style specs) and MUST pass those specifiers to the extension loader rather than evaluating them as ordinary expressions.
In the implementation, however, bare identifiers and package-spec forms passed to EXTEND are evaluated as expressions instead of being treated as loader specs. This causes extension registration to fail or return incorrect results, and explains the observed EXTEND search-path and loader-resolution failures.
Prefix REPL. Enter statements, blank line to run buffer.
>>> BOOL: result = EXTEND(extend_core)
Traceback (most recent call last):
File "<repl>", line 1, in <top-level>
BOOL: result = EXTEND(extend_core)
State log index: 1 State id: s_000001
RuntimeError: extend_core is not defined
>>>
The same failure occurs with package-spec forms:
>>> BOOL: result = EXTEND(extpackage..submod)
Traceback (most recent call last):
File "<repl>", line 1, in <top-level>
BOOL: result = EXTEND(extpackage..submod)
State log index: 2 State id: s_000002
RuntimeError: extpackage is not defined
>>>
According to the specification section 8.2:
In the implementation, however, bare identifiers and package-spec forms passed to
EXTENDare evaluated as expressions instead of being treated as loader specs. This causes extension registration to fail or return incorrect results, and explains the observedEXTENDsearch-path and loader-resolution failures.The same failure occurs with package-spec forms: