[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: texinfo: texi2dvi doesn't protect the ~ character in the second pass
From: |
Norbert Preining |
Subject: |
Re: texinfo: texi2dvi doesn't protect the ~ character in the second pass |
Date: |
Mon, 25 Apr 2016 16:10:21 +0900 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Dear Gavin,
Ted send a bug report with fixes for texi2dvi. Could you please comment
and maybe include for the next release?
Thanks
Norbert
On Sun, 24 Apr 2016, Theodore Ts'o wrote:
> OK, I see what is going on. This is a bug in texi2dvi in the "local"
> build-mode. When you use --clean, this uses the "tidy" mode, where
> all of the aux files end up in a libext2fs.t2d directory, and in this
> mode texi2dvi doesn't omit protecting the filename using the catcode
> hack --- which in fact texi2dvi has support for, but due to a logic
> bug in catcode_special variable, this gets erroneously set to false
> the second time it is run. The net result is that the second time tex
> is run, the ~ character isn't properly protected in local mode.
>
> I don't mind working around the bug using texi2dvi --clean in
> e2fsprogs, but this is technically a bug in the texinfo package, where
> they need to apply the following patch:
>
> --- /usr/bin/texi2dvi 2016-03-05 09:37:09.000000000 -0500
> +++ /tmp/texi2dvi 2016-04-24 20:00:49.866328157 -0400
> @@ -812,7 +812,7 @@
>
> # do the special catcode trick for ~ in filenames only for Texinfo,
> # not LaTeX.
> - if test x"$in_lang" = xtexinfo && test $catcode_special = maybe; then
> + if test x"$in_lang" = xtexinfo && test $catcode_special != false ; then
> catcode_special=true
> else
> catcode_special=false
>
>
> texinfo maintainers --- this bug can be reproduced by creating a
> pathname to a texinfo file with a ~ in it, and then running texi2dvi
> on it. For example:
>
> % cd /tmp
> % rm libext2fs.*
> % texi2dvi /tmp/e2fsprogs-1.43~WIP.2016.03.15/doc/libext2fs.texinfo
>
> and you will get:
>
> This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian)
> (preloaded format=etex)
> restricted \write18 enabled.
> entering extended mode
> ! I can't find file `/tmp/e2fsprogs-1.43'.
> <to be read again>
> \penalty
> ~->\penalty
> address@hidden \
> <*> \input /tmp/e2fsprogs-1.43~
> WIP.2016.03.15/doc/libext2fs.texinfo
> (Press Enter to retry, or Control-D to exit)
> Please type another input file name:
>
>
> The patch above will fix the failure.
>
> - Ted
>
------------------------------------------------------------------------
PREINING, Norbert http://www.preining.info
JAIST, Japan TeX Live & Debian Developer
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------
- Re: texinfo: texi2dvi doesn't protect the ~ character in the second pass,
Norbert Preining <=