Jose Augusto wrote:
Hello all,
I want to report a problem that is either in ConTeXt, or in ruby 1.9.1 (last version of ruby). More probably, the problem has to do with ruby handling non-ASCII characters. I have no means of trying Linux, Solaris, etc... Anyone using ConTeXt with ruby 1.9.1 will face it probably (at least in Windows :-)
The problem happens with all files, even with the simple "Hello":
\starttext Hello World \stoptext
After installing ConTeXt Minimals (the devel version) yesterday, I ran the above example with ruby 1.9.1-p129 in Windows (both Win 2000 and XP show the problem).
(maybe mojca can patch this in core-uti.mkii: ): % \appendtoks % \immediatewriteutilitycommand{\thisisbytesequence{\testbytesequence}}% % \to \everyopenutilities \let\testbytesequence \empty % keep this \let\thisisbytesequence\gobbleoneargument % keep this The reason for this test is that in the past there were engines around that were 8 bit but configured to be 7 bit. Especially tetex was a problem but as that is now obsolete we can remove this test.
Meanwhile I compiled and tried several versions of Ruby, and found the following pattern of problems:
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mingw32] PROBLEM ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mingw32] PROBLEM ruby 1.9.0 (2008-10-04 revision 19669) [i386-mingw32] No problem ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mingw32] No problem ruby 1.8.6 (2009-06-08 patchlevel 369) [i386-mingw32] No problem
So, whatever it is, it is broken with ruby 1.9.1. All the versions of ruby were compiled in Windows using the mingw toolchain, with GCC 3.4.5.
actually, ruby 1.9+ broke the scripts anyway, as some file related functionality was no longer available (and moved to modules) so i already adapted all the ruby scripts
From the debugging lines that are expelled, it is clear that the line in the ..tui file that triggers the problem is:
c \thisisbytesequence{ ...non-ASCII codes... }
and, precisely, it s the second line of the 'case':
when /^c (.*)$/o then @plugins.reader('MyCommands', [$1])
which processes the .tui line and triggers the 'rescue' clause. So I think the problem lies in the "digestion" of non-ASCII characters by the last version of Ruby.
looks that way ... quite disturbing if they changed the default; maybe they move to utf8 but then i'd expect that to happen in 2+ versions thanks for looking into it Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------