bug-texinfo
[Top][All Lists]
Advanced

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

info: INFOPATH interpretation severely flawed


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

Hi,

You would think that concatenating INFOPATH values will produce results
that are at least as good as the results from the individual constituents?

This is what I thought. But it is wrong!

How to reproduce:

0) $ info --version
   info (GNU texinfo) 4.13

1) Install a copy of Automake 1.11.2 with a certain --prefix.
   I used --prefix=/arch/x86-linux/gnu-inst-automake/1.11.2
2) Install a copy of Automake 1.12 with a certain --prefix.
   I used --prefix=/arch/x86-linux/gnu-inst-automake/1.12
3)
   $ dir1=/arch/x86-linux/gnu-inst-automake/1.11.2/share/info
   $ dir2=/arch/x86-linux/gnu-inst-automake/1.12/share/info
   $ INFOPATH=$dir1 info automake
   (displays the node "Invoking Automake" from the Automake 1.11.2 manual)
   $ INFOPATH=$dir2 info automake
   (displays the node "Top" from the Automake 1.12 manual)
   $ INFOPATH=$dir2:dir1 info automake
   (displays none of the manual, falls back to "man 1 automake").

More details:

The file 'dir' in the first directory is
================================== $dir1/dir ==================================
Dies ist die Datei .../info/dir, die den obersten Knoten der
Info-Hierarchie enthält, genannt (dir)Top.
Beim ersten Aufruf von Info geht es bei diesem Knoten los.

File: dir,      Node: Top       Dies ist der Beginn des INFO-Baums

  Dieser Verzeichnis-Knoten zeigt ein Menü aller Hauptpunkte an.
  „q“ beendet Info, „?“ listet alle Info-Befehle auf, „d“ kehrt hierher
  zurück, „h“ gibt eine Einsteiger-Hilfe, „mEmacs<Return>“ besucht das
  Emacs-Manual, etc.

  Im Emacs kann man mit dem zweiten Mausknopf auf einen Menüeintrag oder
  einen Querverweis klicken, um einen solchen auswählen.

* Menu:

Individual utilities
* aclocal: (automake)Invoking aclocal.          Generating aclocal.m4.
* automake: (automake)Invoking Automake.        Generating Makefile.in.

Software development
* Automake: (automake).         Making GNU standards-compliant Makefiles.
===============================================================================

The file 'dir' in the second directory is
================================== $dir2/dir ==================================
Dies ist die Datei .../info/dir, die den obersten Knoten der
Info-Hierarchie enthält, genannt (dir)Top.
Beim ersten Aufruf von Info geht es bei diesem Knoten los.

File: dir,      Node: Top       Dies ist der Beginn des INFO-Baums

  Dieser Verzeichnis-Knoten zeigt ein Menü aller Hauptpunkte an.
  „q“ beendet Info, „?“ listet alle Info-Befehle auf, „d“ kehrt hierher
  zurück, „h“ gibt eine Einsteiger-Hilfe, „mEmacs<Return>“ besucht das
  Emacs-Manual, etc.

  Im Emacs kann man mit dem zweiten Mausknopf auf einen Menüeintrag oder
  einen Querverweis klicken, um einen solchen auswählen.

* Menu:

Individual utilities
* aclocal-invocation: (automake)aclocal Invocation.
                                                Generating aclocal.m4.
* automake-invocation: (automake)automake Invocation.
                                                Generating Makefile.in.

Software development
* Automake: (automake).         Making GNU standards-compliant Makefiles.
===============================================================================

And the manual in $dir1 does not have a node "Invoking Automake".

Apparently 'info' has used the information found in the 'dir' file of
$dir1 (namely the reference to node "Invoking Automake") while using
the .info file from $dir2. But it is just *broken*. The contents of
different directories from INFOPATH regularly represents different versions
of a package. It is a conceptual mistake to attempt to use information
found in one of these directories together with other information found
in another of these directories.

Bruno




reply via email to

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