bug-texinfo
[Top][All Lists]
Advanced

[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
------------------------------------------------------------------------



reply via email to

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