diff options
Diffstat (limited to 'ext/tk/lib/tkentry.rb')
-rw-r--r-- | ext/tk/lib/tkentry.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/tk/lib/tkentry.rb b/ext/tk/lib/tkentry.rb index fc52b9435d..e0589802d2 100644 --- a/ext/tk/lib/tkentry.rb +++ b/ext/tk/lib/tkentry.rb @@ -27,9 +27,10 @@ class TkEntry<TkLabel class ValidateArgs VARG_KEY = 'disvPSVW' - VARG_TYPE = 'nxsssssw' + VARG_TYPE = 'nxeseesw' def self.scan_args(arg_str, arg_val) + enc = Tk.encoding arg_cnv = [] arg_str.strip.split(/\s+/).each_with_index{|kwd,idx| if kwd =~ /^%(.)$/ @@ -39,6 +40,12 @@ class TkEntry<TkLabel arg_cnv << TkComm::number(arg_val[idx]) when ?s arg_cnv << TkComm::string(arg_val[idx]) + when ?e + if enc + arg_cnv << Tk.fromUTF8(TkComm::string(arg_val[idx]), enc) + else + arg_cnv << TkComm::string(arg_val[idx]) + end when ?w arg_cnv << TkComm::window(arg_val[idx]) when ?x |