> From: Bruno Haible <[email protected]> > Cc: [email protected] > Date: Sun, 06 May 2012 23:56:34 +0200 > > The important case, used by many people, is that they have different > versions of programs in different directories, and they then set INFOPATH > (and MANPATH) in a way that is consistent with PATH. For example: > > PATH=/opt/gnu/bin:/usr/local/bin:/usr/bin:/bin > INFOPATH=/opt/gnu/share/info:/usr/local/share/info:/usr/share/info > > The important expectation here is that "info foo" matches the version > that the user runs when invoking 'foo'. For program execution, $PATH is > scanned from left to right, and the first occurrence of 'foo' wins, > regardless of its version. Therefore, for consistency, for 'info', > $INFOPATH also has to be scanned from left to right, and the first > occurrence of 'foo.info' (on disk or in the 'dir' file - you can assume > they are in sync for this use-case) should win, regardless of the version > number.
INFOPATH is scanned left to right, indeed, but that will only do what you want if the first Info file found during that scan is the one corresponding to the 'foo' found on PATH. Left-overs from previous installations can easily break that assumption. IOW, this will work reliably only if "someone" (a person) is carefully managing her installations, making sure there's only one instance of each manual in all the directories mention in INFOPATH, and that instance matches the executable found on PATH. The moment there is more than one manual, things will start breaking.
