bug-texinfo
[Top][All Lists]
Advanced

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

Arbritary characters (like colons) in node names (proposal)


From: Gavin Smith
Subject: Arbritary characters (like colons) in node names (proposal)
Date: Fri, 18 Apr 2014 21:28:02 +0100

Hello,

I have seen in the mailing list archives that there has been
discussion of allowing characters like colons in node names and
indices over the years. It would be useful for languages like C++ or
anywhere else.

The idea that was floated was to have some kind of quoting in Info
format. See, e.g.
http://lists.gnu.org/archive/html/bug-texinfo/2001-04/msg00026.html.
http://lists.gnu.org/archive/html/help-texinfo/2001-04/msg00002.html
Unfortunately, it's never been done.

This is useful and necessary functionality, and does seem
implementable, so I thought I would try to lay out in a bit more
detail what would be required so we can discuss whether this would
work or not.

There are two contexts where quoting would be required:
* In node information lines (the top line of a node starting with "File:".)
* In node specifications (in cross-references and menu items
(including index entries))

Node information lines:
Fields:
* File - no quoting required (we don't really need special characters
in file names)
* Node - Currently of the form "Node: <nodename>,". This would be
changed to "Node: <q1><nodename><q2>," where <q?> are sequences of
bytes to be specified.
* Next, Prev, Up - Currently either "Next: <nodename>" or "Next:
(<filename>)<nodename>". Since it could be useful to have a bracket
("(" or ")") in a node name, the file name should be specified if at
all separately. If quoting is used, then the field would look like
either "Next: <q3><nodename><q4>," or "Next:
<q5><filename><q6>nodename<q7>,".

Node specifications:

Use the same method as Next etc. in node lines. E.g. "*see
<label>:<nodename>," would become "*see <label>:<q3><nodename><q4>" if
<nodename> contained forbidden characters.

Choice of quoting sequences:

Here is a proposal:
q1 = address@hidden
q2 = address@hidden
q3 = address@hidden(
q4 = address@hidden)
q5 = address@hidden(
q6 = address@hidden)address@hidden
q7 = address@hidden

This mimics the address@hidden and address@hidden already used for image tags 
while
remaining separate. The "{" and "[" brackets would always be balanced.

Implementation:

These quoting characters can be stripped out by an Info reader when a
node is read and the strings they quote recorded.

Backwards compatibility:

These would not work in old browsers, but references like these don't
work any way. Implement support for this format extension in the
readers, and after some time turn it on in the generators (makeinfo)
once the updated readers have spread. Testing would be required to
check that the format extension didn't break old readers too badly.

Gavin



reply via email to

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