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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________