On 7 jan, 05:08, Hidetoshi NAGAI [email protected] wrote:
On my archive, tk.rb:3028 is a comment line.
Please check your ‘…/ruby-1.9.1-rc1/lib/ruby/1.9.1/tk.rb’ file.
tk.rb included ruby-1.9.1-rc1 has the following line (line:5553).
RELEASE_DATE = ‘2008-12-21’.freeze
Your are right, I had inserted some comments for debugging
(without success).
So I have the same version as yours (standard ruby-1.9.1-rc1)
The problem occurs while calling the require “tk”.
So the Tk.encoding cannot be used.
Here is a minimalist full sample
#!/usr/bin/env ruby
encoding: iso8859-1 # because of the puts “éléphant”
puts “Encoding.default_external=#{Encoding.default_external}”
puts “Encoding.default_internal=#{Encoding.default_internal}”
puts “Encoding.ENCODING=#{ENCODING}”
Encoding.default_external=“iso-8859-15”
Encoding.default_internal=“iso-8859-15”
puts “Encoding.default_external=#{Encoding.default_external}”
puts “Encoding.default_internal=#{Encoding.default_internal}”
puts “Encoding.ENCODING=#{ENCODING}”
puts “Bonjour l’éléphant !”
Simple création d’un bouton avec “quitter” comme action
DEFAULT_TK_ENCODING=ENCODING
def tktest
require ‘tk’
root = TkRoot.new { title “Test de Tk sous Ruby” }
TkLabel.new(root) {
text ‘Essai de Ruby/Tk !’
pack { padx 15 ; pady 15; side ‘left’ }
}
TkButton.new(root) {
text ‘Quitter’
pack { padx 15 ; pady 15; side ‘bottom’ }
command ‘exit’
}
Tk.mainloop
end
tktest
And here are the full result:
ruby -version
ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203) [powerpc-
darwin9.6.0]
./tktest.rb
Encoding.default_external=ASCII-8BIT
Encoding.default_internal=
Encoding.ENCODING=ISO-8859-1
Encoding.default_external=ISO-8859-15
Encoding.default_internal=ISO-8859-15
Encoding.ENCODING=ISO-8859-1
Bonjour l’éléphant !
/home/…/ruby-1.9.1-rc1/lib/ruby/1.9.1/tk.rb:3022:in find': unknown encoding name - (ArgumentError) from /home/.../ruby-1.9.1-rc1/lib/ruby/1.9.1/tk.rb:3022: in
<top (required)>’
from ./tktest.rb:19:in require' from ./tktest.rb:19:in
tktest’
from ./tktest.rb:33:in `’
(the standard Tk window appears just before the error)
– Maurice Diamantini at ensta.fr