Self-host: Pseudo-namespace for macro namespace analysis metadata


  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: 1.7.145
  • Fix Version/s: None
  • Component/s: None
  • Labels:


Background: A pseudo-name is used for macro namespaces (involving a "$macros" suffix, codified in cljs.analyzer/macro-ns-name).

There is a line that conditionally converts to this pseudo-name when a macro namespace is being required:

But, that line has a simple typo: The keyword should be :macros-ns See its proper use a few lines down here:

Simply correcting this typo is alone insufficient because the undecorated name is expected in places, such as the ns->relpath on this line:

But, by introducing another symbol to hold the pseudo-name for use in the state when used in [::ana/namespaces ns] constructs, analysis metadata for macro namespaces is properly placed in the state, and things like the caching feature begins to work correctly for macro namespaces, and probably other behavior that depends on this becomes correct (perhaps reloading, etc.)



Vote (0)
Watch (0)


  • Created: