mirror of
https://github.com/envmodules/modules.git
synced 2026-06-18 00:06:53 +08:00
Register alias and symbolic version deep resolution at definition time through a new 'setModuleResolution' procedure called by 'module-version' and 'module-alias' procedures. Make use of new global array 'g_moduleResolved' and its reverse structure 'g_resolvedHash' to keep registered resolution at hand. Also introduce 'g_symbolHash' global array to register and easily get the list of all symbols for a given module. As resolution is now computed at definition time, the 'getVersAliasList' and 'resolveModuleVersionOrAlias' procedures can be greatly simplified and just need to return the value of the 'g_symbolHash' or 'g_moduleResolved' arrays for the module name passed as argument. This change saves lot of time especially on commands heavily relying on these procedures like 'avail'. The global arrays 'g_versionHash', 'g_moduleDefault' and 'g_aliasHash' become useless with this change so they have been removed. As a side effect of resolving alias and symbolic version at definition time, resolution loop are not registered anymore and produce an error message when spotted.
This file briefly describes the documentation provided here.
readme.txt This file.
example.txt There are lots of things you need to plan out
for a fully functional modules environment.
This document explains some of those details.
source/ Location of the source files used to create
html and man documentation for modules.
If you edit these files run make doc to
rebuild the man and html files.
man/ Location of the man pages generated by make doc
html/ Location of the html pages generated by make doc
howto/ Location of How-to PDF files
paper/ Location of conference paper PDF files
talk/ Location of presentation support PDF files
emacs.txt Hints for using modules with emacs lisp.