autoconf-patches
[Top][All Lists]
Advanced

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

Re: invalid node names in Autoconf manual


From: Karl Berry
Subject: Re: invalid node names in Autoconf manual
Date: Tue, 12 Dec 2006 19:40:44 -0600

Um, this has nothing to do with autoconf-patches, but I guess I'll reply
to the list anyway for the sake of the archive.
    
    What are the errors in makeinfo by the way, 

Errors in makeinfo?  There are no errors per se.  It just outputs what
it is given.  That's the problem.

    and how do they manifest
    themselves in the info file?  

The problem is in Emacs (and standalone Info?) parsing the Info
constructs resulting from menus, xrefs, etc.  Actually, the problem is
in a fundamental ambiguity which has been present since day one.
A period ends an xref in Info, as in
  *Note somenodename::.

So when somenodename contains a period (or a colon, or a double colon,
or commas) there is a problem.  Also, the Info xref output depends on
how many optional arguments are present.  You can imagine how messy the
regexps get, I'm sure.

My general idea for a real solution is to introduce an unambiguous syntax,
something like this:
address@hidden name="node.name::"address@hidden

- where ^@ and ^H stand for the real NUL and BS chars.
- something similar has already been done for images.
- How you escape quotes I'm not sure, but whatever, something can be
  done, not a big deal.

Of course this syntax would only be used where a node name was actually
problematic, to minimize compatibility problems, and even then probably
only with an option until there were Info readers which supported it :).

Of course I'm leaving out lots of details, like the @node lines
themselves, menus, etc.  I don't pretend to have a full specification.
Indeed, creating the full (and workable) specification is probably much
more work than implementing it :).

If you really want to help on this front, it would be very welcome :).

Cheers,
Karl




reply via email to

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