On Sun, Feb 20, 2022 at 04:13:43PM +0100, Patrice Dumas wrote: > On Sun, Feb 20, 2022 at 02:53:46PM +0000, Gavin Smith wrote: > > > > Decoding command-line arguments might be a good idea for everything > > EXCEPT file names. Why go to the bother of decoding file names when > > they have to be encoded again to use them? > > Another reason for decoding and encoding everything is error messages. > I am actually a bit surprised that nobody ever complained that error > messages are not encoded.
I ran into something similar when testing this: $ cat ../../fail/test.texi \input texinfo @node Top @include include.texi @include inclúde.texi wow @bye $ ./texi2any.pl ../../fail/test.texi test.texi:5: @include: could not find include.texi test.texi:6: @include: could not find inclúde.texi $ TEXINFO_XS=omit ./texi2any.pl ../../fail/test.texi test.texi:5: @include: could not find include.texi test.texi:6: @include: could not find incl�de.texi I agree that the encoding of error messages is a problem that needs to be fixed. > For example, in the following the file name is output correctly as it is > not decoded, but the string from the Texinfo file is decoded but not > encoded and hence ends up incorrect in the message. Decoding everything > and then encoding the error messages should allow to mix strings from > different sources and different encodings. > > $ ./texi2any.pl testé.texi > testé.texi:8: warning: node `�sseul�' unreferenced > > > $ cat testé.texi > \input texinfo.tex > > @setfilename testé.info > > @node Top > @top Testé > > @node ésseulé > > @node Chapitré > @chapter Chapitré > > -- > Pat
