Eli Zaretskii wrote:
> still asking Info for the manual of FOO version X.Y is not
> possible, if all the versions of FOO have the same entries in their
> 'dir' files.
This is not a particularly important use-case. Those people who
want to use specific versions can install them in different directories
and then set INFOPATH specifically for one command, or use the -f option.
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.
Sure, users can create 'dir' files in one place and *.info files in
totally different places. But the automated uses of 'install-info'
are the important ones. Like in Automake generated installation rules:
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir='$(DESTDIR)$(infodir)'
'$(DESTDIR)$(infodir)/$$relfile'";\
install-info --info-dir="$(DESTDIR)$(infodir)"
"$(DESTDIR)$(infodir)/$$relfile" || :;\
done; \
In all these cases, the 'dir' file is modified to contain an entry
for a .info file in the same directory. This is the most important case
that should be well supported, IMO.
Bruno