bug-texinfo
[Top][All Lists]

## Re: Index wrongly encoded with UTF-8

 From: Vincent Belaïche Subject: Re: Index wrongly encoded with UTF-8 Date: Tue, 01 Aug 2017 14:36:52 +0200

Dear Gavin,

I cannot reproduce the problem any longer!!!

I cannot say what has happened. I was pretty sure that, before making a
minimal example to reproduce the problem, I had svn updated to get the
latest texinfo.tex, and copied it into the directory where LaTeX expects
it, and the problem was there. But today I did another svn update of
texinfo to get the original version (before my patch), and it worked as
expected.

It is quite disturbing because my patch did not show any other
differences than what I had edited. So it means that the difference may
come when something is changed in the environment (?? :-/), I can't
believe that, there must be another reason...

I thought that maybe there was an update in texi2dvi also --- my
texi2dvi is just a link to the svn working area of texinfo), so I tried
with etex & pdftex directly, w/o calling the texi2pdf script, but I
could not reproduce the problem...

Sorry for the distrubance, if ever I come again accross it, I will try
my best to understand what has gone wrong.

Vincent.

Le 31/07/2017 à 20:57, Gavin Smith a écrit :
> On Mon, Jul 31, 2017 at 08:39:13AM +0200, Vincent Belaïche wrote:
>> You mean that with TeXLive the bug does not exist.
>>
>> What is supposed to do tex when \write-ing and there are active-chars ? I
>> presume that the active-chars are developped like any command would be. I am
>> surprised that MikTeX (MT) and TeXLive (TL) do not do the same output.
>
> If it is defined as a macro with \def or similar, it is expanded (but
> not executed).
>
>
> Index: texinfo.tex
> ===================================================================
> --- texinfo.tex (revision 7905)
> +++ texinfo.tex (working copy)
> @@ -4870,6 +4870,10 @@
>    %
>    % Do the redefinitions.
>    \definedummies
> +  %
> +   \ifx\declaredencoding\utfeight
> +           \setnonasciicharscatcodenonglobal\active
> +     \fi
>  }
>
>  % Used for the aux and toc files, where @ is the escape character.
>
> But the output was as expected.
>
> The only idea I have of where a space could have been inserted is if
> there is an extra space in a macro that is being used, for example if
> a line didn't end in a %.
>
> Due to the definition of the high-value bytes, which use the
> \ifpassthroughchars conditional, the bytes should be output properly
> even if they are active. The definitions are around line 10276 in
> texinfo.tex, following the comment
>
> % Give non-ASCII bytes the active definitions for processing UTF-8 sequences
>
> Maybe you could experiment with changing these definitions to see if it
> makes any difference, for example if I make the following change:
>
> @@ -10295,7 +10297,7 @@
>    \countUTFy = "C2
>    \def\UTFviiiTmp{%
>      \gdef~{%
> -        \ifpassthroughchars $\fi}}% > + \ifpassthroughchars X$\fi}}%
>    \UTFviiiLoop
>
>    \countUTFx = "C2
>
> Then I get an extra X inserted between some of the bytes of the UTF-8
> sequences in the index files.
>
>> So my 1st naive question = are you sure that you used the latest texinfo.tex
>> (that on the texinfo repo, not that which TL has) ? Please check your
>> compile log file.
>
> Yes, the version I used is 2017-07-04.16 which is the latest version.

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
https://www.avast.com/antivirus