summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-26 07:57:49 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-26 07:57:49 +0000
commit8149f70e13fb2f2577bb9d0666f9f86a13777041 (patch)
tree1b9639289494ad6282c4c102070dcce622f02557
parentbbe36f64a065dd6124b119590c5d4e5370c893e5 (diff)
merge revision(s) 41347: [Backport #8319]
* ext/tk/extconf.rb: support s390x (Thanks to bkabrda) [ruby-trunk - Bug #5465] * ext/tk/extconf.rb: apply [Backport87 - Backport #5048] * ext/tk/lib/tk/canvas.rb, ext/tk/sample/demos-{en,jp}/{tree.rb,widget}: fix bug (Thanks to zzak) [ruby-trunk - Bug #8319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ext/tk/extconf.rb4
-rw-r--r--ext/tk/lib/tk/canvas.rb9
-rw-r--r--ext/tk/sample/demos-en/tree.rb2
-rw-r--r--ext/tk/sample/demos-en/widget6
-rw-r--r--ext/tk/sample/demos-jp/tree.rb2
-rw-r--r--ext/tk/sample/demos-jp/widget6
-rw-r--r--version.h2
7 files changed, 19 insertions, 12 deletions
diff --git a/ext/tk/extconf.rb b/ext/tk/extconf.rb
index 2f68d01e7f..2b5c8c4674 100644
--- a/ext/tk/extconf.rb
+++ b/ext/tk/extconf.rb
@@ -114,7 +114,7 @@ def is_macosx?
end
def maybe_64bit?
- /64|universal/ =~ RUBY_PLATFORM
+ /64|universal|s390x/ =~ RUBY_PLATFORM
end
def check_tcltk_version(version)
@@ -313,7 +313,9 @@ def find_macosx_framework
paths.reverse! unless TkLib_Config["ActiveTcl"] # system has higher priority
paths.map{|dir| dir.strip.chomp('/')}.each{|dir|
+ next unless File.exist?(File.join(dir, "Tcl.framework", "Headers"))
next unless File.directory?(tcldir = File.join(dir, "Tcl.framework"))
+ next unless File.exist?(File.join(dir, "Tk.framework"), "Headers")
next unless File.directory?(tkdir = File.join(dir, "Tk.framework"))
TkLib_Config["tcltk-framework"] = dir
return [tcldir, tkdir]
diff --git a/ext/tk/lib/tk/canvas.rb b/ext/tk/lib/tk/canvas.rb
index 7d3d71675c..af404213e7 100644
--- a/ext/tk/lib/tk/canvas.rb
+++ b/ext/tk/lib/tk/canvas.rb
@@ -85,11 +85,16 @@ class Tk::Canvas<TkWindow
# create a canvas item without creating a TkcItem object
def create(type, *args)
- type = TkcItem.type2class(type.to_s) unless type.kind_of?(TkcItem)
+ if type.kind_of?(Class) && type < TkcItem
+ # do nothing
+ elsif TkcItem.type2class(type.to_s)
+ type = TkcItem.type2class(type.to_s)
+ else
+ fail ArgumentError, "type must a subclass of TkcItem class, or a string in CItemTypeToClass"
+ end
type.create(self, *args)
end
-
def addtag(tag, mode, *args)
mode = mode.to_s
if args[0] && mode =~ /^(above|below|with(tag)?)$/
diff --git a/ext/tk/sample/demos-en/tree.rb b/ext/tk/sample/demos-en/tree.rb
index cd62ba8c9b..69154ee076 100644
--- a/ext/tk/sample/demos-en/tree.rb
+++ b/ext/tk/sample/demos-en/tree.rb
@@ -67,7 +67,7 @@ def populate_tree(tree, node)
path = tree.get(node, :fullpath)
tree.delete(tree.children(node))
Dir.glob("#{path}/*").sort.each{|f|
- type = File.ftype(f)
+ type = File.ftype(f) rescue nil
id = tree.insert(node, :end,
:text=>File.basename(f), :values=>[f, type]).id
if type == 'directory'
diff --git a/ext/tk/sample/demos-en/widget b/ext/tk/sample/demos-en/widget
index e6510c7e45..3778929d9c 100644
--- a/ext/tk/sample/demos-en/widget
+++ b/ext/tk/sample/demos-en/widget
@@ -683,7 +683,7 @@ def eval_samplecode(code, file=nil)
end
}
}
- Tk.update
+ Tk.update rescue nil
end
# invoke --
@@ -699,7 +699,7 @@ def invoke(txt, idx)
cursor = txt.cget('cursor')
txt.cursor('watch')
- Tk.update
+ Tk.update rescue nil
# eval(IO.readlines("#{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb").join, _null_binding)
# Tk.update
eval_samplecode(IO.readlines("#{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb").join, tag[5..-1] + '.rb')
@@ -1058,7 +1058,7 @@ if ARGV[0] == '-n'
no_launcher = true if ARGV.size > 0
else
# show the root widget to make it lower then demo windows
- Tk.update
+ Tk.update rescue nil
end
ARGV.each{|cmd|
if cmd =~ /(.*).rb/
diff --git a/ext/tk/sample/demos-jp/tree.rb b/ext/tk/sample/demos-jp/tree.rb
index 00d715282b..f6855445ca 100644
--- a/ext/tk/sample/demos-jp/tree.rb
+++ b/ext/tk/sample/demos-jp/tree.rb
@@ -68,7 +68,7 @@ def populate_tree(tree, node)
path = tree.get(node, :fullpath)
tree.delete(tree.children(node))
Dir.glob("#{path}/*").sort.each{|f|
- type = File.ftype(f)
+ type = File.ftype(f) rescue nil
id = tree.insert(node, :end,
:text=>File.basename(f), :values=>[f, type]).id
if type == 'directory'
diff --git a/ext/tk/sample/demos-jp/widget b/ext/tk/sample/demos-jp/widget
index fc3c084e9a..ae91031fb6 100644
--- a/ext/tk/sample/demos-jp/widget
+++ b/ext/tk/sample/demos-jp/widget
@@ -740,7 +740,7 @@ def eval_samplecode(code, file=nil)
end
}
}
- Tk.update
+ Tk.update rescue nil
end
# テキスト上での click に対する動作
@@ -750,7 +750,7 @@ def invoke(txt, idx)
cursor = txt.cget('cursor')
txt.cursor('watch')
- Tk.update
+ Tk.update rescue nil
# eval(IO.readlines("#{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb").join, _null_binding)
# Tk.update
eval_samplecode(IO.readlines("#{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb").join, tag[5..-1] + '.rb')
@@ -1094,7 +1094,7 @@ if ARGV[0] == '-n'
no_launcher = true if ARGV.size > 0
else
# show the root widget to make it lower then demo windows
- Tk.update
+ Tk.update rescue nil
end
ARGV.each{|cmd|
if cmd =~ /(.*).rb/
diff --git a/version.h b/version.h
index 81d2b32755..4566bcd4f9 100644
--- a/version.h
+++ b/version.h
@@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.3"
-#define RUBY_PATCHLEVEL 442
+#define RUBY_PATCHLEVEL 443
#define RUBY_RELEASE_DATE "2013-06-26"
#define RUBY_RELEASE_YEAR 2013