SIGN IN SIGN UP

Fix fully qualified symbol name outside a module

The code in `absolute_name` constructed the correct name, then patched
it to get the module prefix for updating the list of referenced modules,
then backed out the patch to return the full name.

The patching handled symbols outside any module incorrectly, resulting
in weird references of names ending in a single quote by patching the
opening quote instead of the (non-existent) separating dot, and names
starting with a dot and ending in a single quote because the patch was
undone by unconditionally putting a dot in where there had been none.

This makes the entire module prefix and module referencing conditional
upon the existence of an enclosing module and furthermore
documents/asserts the structure of the generated name.

Signed-off-by: Erik Boasson <eb@ilities.com>
E
Erik Boasson committed
f228c5aba0286542059546d56d5117eb20827377
Parent: 7486f55