[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: braces in xrefs failure with texinfo.tex
From: |
Gavin Smith |
Subject: |
Re: braces in xrefs failure with texinfo.tex |
Date: |
Wed, 20 Jan 2016 19:26:48 +0000 |
On 17 January 2016 at 21:56, Karl Berry <address@hidden> wrote:
> Hi Gavin - somewhere in all the brace/indexing changes to texinfo.tex,
> it seems that using @{ or @} inside @xref or other ref commands started
> to fail (or maybe it never worked, I guess I'm not entirely sure, come
> to think of it). Now, something like
>
> @address@hidden
>
> gets (with texinfo.tex 2016-01-11.19):
> ./refbrace.tex:4: Missing @endcsname inserted.
> <to be read again>
> @indexrbrace
It did work for a while, before I changed it to output a braced
sequence to work with texindex before 6.0. However, in doing so I'd
overlooked the comment "\indexnofonts is used when outputting the
strings to sort the index
% by, and when constructing control sequence names.", and \csname
doesn't accept (unexpandable) control sequences in the names of the
control sequence it is creating. This should be fixed now.
Testing, I found @{ in an xref was broken in 2008-04-18.10 (4.13
release), and broken in 2004-06-14.14. The latter version of
texinfo.tex is the one I discovered that braces would be output in an
index with the old texindex (in the manual for gawk 3.1.4) - this
worked because the braces were output in the sort key as braced
sequences. The use of |a as the sort value was introduced on
2010-08-17, and I expect xrefs containing @{ and @{ worked from then
on (except it didn't work if two xrefs were exactly the same except @{
was replaced with @}). For example, @{ in an xref worked with
2013-09-11.11 (5.2 release).
The test file I've attached tests a few more cases, including index entries.
refbrace.texi
Description: TeXInfo document