These operations define and access search-list definitions. A search-list name may be parsed into a pathname before the search-list is actually defined, but the search-list must be defined before it can actually be used in a filesystem operation.
[Function]
extensions:search-list name
This function returns the list of directories associated with the search list name. If name is not a defined search list, then an error is signalled. When set with setf, the list of directories is changed to the new value. If the new value is just a namestring or pathname, then it is interpreted as a one-element list. Note that (unlike Unix pathnames), search list names are case-insensitive.
[Function]
extensions:search-list-defined-p name
extensions:clear-search-list name
search-list-defined-p returns t if name is a defined search list name, nil otherwise. clear-search-list make the search list name undefined.
[Macro]
extensions:enumerate-search-list (var pathname result) form
This macro provides an interface to search list resolution. The body forms are executed with var bound to each successive possible expansion for name. If name does not contain a search-list, then the body is executed exactly once. Everything is wrapped in a block named nil, so return can be used to terminate early. The result form (default nil) is evaluated to determine the result of the iteration.