Package: libgtk2-ruby1.8
Version: 0.11.0-2

Hi,
This is a bug that happened on a script located here:
http://yusei.ragondux.com/files/gnocatan/camato-0_6_6.tar.gz
I tried to isolate the problem (see below) but a full description might
help.

I'm using a hash for internationalization: in the file fr.rb, one has a
hash for the french translation of the strings. The encoding in this
file is ISO-8859-1, and the hash looks like this:

$locale = {
  "Untitled - Camato" => "Sans titre - Camato",
  'Brick' => 'Argile',
  'Grain' => 'Blé',
  'Lumber' => 'Bois',
...

A file like this one is chosen at runtime and included to get the
translations. That worked till 'recently' (I'd say that it worked with
ruby 1.8.1 packages), but now I get SyntaxErrors:
$ ./camato
./camato:48:in `require': ./fr.rb:37: syntax error (SyntaxError)
  'Lumber' => 'Bois',
         ^
./fr.rb:37: syntax error
  'Lumber' => 'Bois',
                   ^    from ./camato:48

After some trials, I found that the error comes just after every string
that end with "é" (é). I suppose that it confuses the parser, and
it doesn't see the quote or double-quote after that character. In fact,
if I add two spaces after the ending "é", everything works (looks like a
Unicode problem).

However, the exact same hash table in a separate script works well
untill I require 'gtk2'. For example, if fr.rb contains a hash like the
one above:
---
require 'gtk2'

line = 'Marché'
print line, "\n"

hash = { 'test' => 'Blé', 'test2' => 'AAA' }
require('fr.rb')

print $locale['Grain'], "\n"
---
This fails in the 'require' instruction, and not before, as I'd have
expected.

I'm using ruby1.8 version 1.8.2-2, on unstable.
[EMAIL PROTECTED] but the problem remains with something else

Thanks in advance,
Yusei



Reply via email to