summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tkentry.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/lib/tkentry.rb')
-rw-r--r--ext/tk/lib/tkentry.rb9
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