Recently I have added a lib.loc argument to require, so that
it is more consistent with library. However, there are some oddities
that folks have pointed out, and we do not have a documented description
of the semantics for what should happen when the lib.loc parameter is
provided.
Proposal: the most common use case seems to be one where any other
dependencies, or calls to library/require should also see the library
specified in the lib.loc parameter for the duration of the initial call
to library. Hence, we should modify the library search path for the
duration of the call (via .libPaths).
The alternative, is to not do that. Which is what happens now.
Both have costs, automatically setting the library search path, of
course, means that users that do not want that behavior have to manually
remove things from their library. But if almost no one does that, and
most folks I have asked have said they want the lib.loc parameter to be
used for other loading.
Comments?