bug-texinfo
[Top][All Lists]
Advanced

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

Re: info-stnd and (info) discrepancy: Searching the Autoconf v2.71 manua


From: Arsen Arsenović
Subject: Re: info-stnd and (info) discrepancy: Searching the Autoconf v2.71 manual for AC_CHECK_ALIGNOF in the index fails
Date: Mon, 20 Mar 2023 20:39:31 +0100

Gavin Smith <gavinsmith0123@gmail.com> writes:

> On Mon, Mar 20, 2023 at 08:08:53PM +0100, Arsen Arsenović wrote:
>> Hm, I think you're spot on.. the file is mangled by a build script.  I
>> missed it since it was behind a layer of abstraction[1].
>> 
>> Sorry for the noise!
>> 
>> I wonder if I just got lucky in Emacs wrt being able to read that index
>> search I did..
>
> My guess is that Emacs has more tolerance for incorrect tag tables.
>
>
>> That leaves a question of what to do with "slotted" installs and info
>> pages.  Mangling a binary format by injecting bytes into it to version
>> the names seems wrong.  A dedicated mangler rather than `sed' could be
>> used, that can handle fixing up offsets in the tag table, but that
>> retains broken xrefs in other documents.
>
> Have you considered renaming the file but not altering the contents?
> As far as I remember the text that follows File: in a node does not
> have to match the file name and is not really used for anything (other
> than reminding the user where they are in case this text is displayed).

Hmm, I did not know that's possible.

AIUI, though, that'd still break cross referencing, right?  Since the
xrefs in the Info file refer to infos by file name IIUC.

>> Maybe we should toss the thing out and just use INFO_PATH to pick up on
>> the latest version, like we do for gcc, which avoids all of those issues
>> but leaves us with shadowed pages for older versions.
>> 
>> Do you have any alternative proposals?
>
> For cross-references to work while installing the Info files under the
> versioned names, you could use create symlinks from e.g. autoconf.info
> to autoconf-2.71.info.

The problem with this approach, though, is that it'd induce a collision
at install time.  This is often solved by another tool called eselect,
but autoconf and automake aren't behind eselect, but rather a wrapper
which execs the right version.

> I'm not sure if it's relevant, but a feature of the Info browser which
> may be useful if you are installing collections of Info manuals which
> should all reference each other is the 'follow-strategy' variable:
>
> ‘follow-strategy’
>      When set to ‘remain’ (the default), Info tries to remain within the
>      directory containing the currently displayed Info file when
>      following a cross-reference to an external manual, before looking
>      for the referenced manual in the search path.  The alternative
>      value is ‘path’, which means to look through the search path right
>      away.
>
>      ‘remain’ is intended to be useful for several Texinfo manuals that
>      all reference each other and whose versions should match each
>      other.  (For example, various manuals relating to a particular
>      version of Emacs.)
>
>      The alternative behavior, with ‘path’, may be useful when your Info
>      file search path parallels your command shell’s search path, and
>      you always want to find documentation of the version of the program
>      that the shell would execute.

Ah!  This takes away a worry of mine about what happens if one jumps
from, say, gdc.info to gcc.info on a version less than latest with our
current INFO_PATH based approach.

That also reinforces that approach as a viable one.
-- 
Arsen Arsenović

Attachment: signature.asc
Description: PGP signature


reply via email to

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