summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/tk/lib/tk.rb8
-rw-r--r--ext/tk/lib/tkentry.rb9
2 files changed, 12 insertions, 5 deletions
diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb
index 9c7a0982c2..cec589047f 100644
--- a/ext/tk/lib/tk.rb
+++ b/ext/tk/lib/tk.rb
@@ -4053,8 +4053,8 @@ class TkWindow<TkObject
return info
end
- def pack_propagate(mode = nil)
- if mode
+ def pack_propagate(mode=None)
+ if mode == None
tk_call('pack', 'propagate', epath, mode)
else
bool(tk_call('pack', 'propagate', epath))
@@ -4141,8 +4141,8 @@ class TkWindow<TkObject
list(tk_call('grid', 'location', epath, x, y))
end
- def grid_propagate(mode=nil)
- if mode
+ def grid_propagate(mode=None)
+ if mode == None
tk_call('grid', 'propagate', epath, mode)
else
bool(tk_call('grid', 'propagate', epath))
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