bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: info: INFOPATH interpretation severely flawed


From: Bruno Haible
Subject: Re: info: INFOPATH interpretation severely flawed
Date: Sun, 06 May 2012 23:56:34 +0200
User-agent: KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; )

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]