[#37730] [Ruby 1.9 - Bug #4962][Open] come back gem_prelude! — Yusuke Endoh <mame@...>

24 messages 2011/07/02

[#37840] [Ruby 1.9 - Feature #4985][Open] Add %S[] support for making a list of symbols — Aaron Patterson <aaron@...>

23 messages 2011/07/07

[#37866] [Backport87 - Feature #4996][Open] About 1.8.7 EOL — Shyouhei Urabe <shyouhei@...>

22 messages 2011/07/08

[#37913] [Ruby 1.9 - Bug #5003][Open] Enumerator#next segfaults in OS X Lion (10.7) — Ganesh Gunasegaran <ganesh.gunas@...>

16 messages 2011/07/09

[#37917] [Ruby 1.9 - Feature #5005][Open] Provide convenient access to original methods — Lazaridis Ilias <ilias@...>

13 messages 2011/07/09

[#37932] [Ruby 1.9 - Feature #5008][Open] Equal rights for Hash (like Array, String, Integer, Float) — Suraj Kurapati <sunaku@...>

31 messages 2011/07/09

[#37936] [Ruby 1.9 - Feature #5010][Open] Add Slop(-like) in stdlib and deprecate current OptionParser API — Rodrigo Rosenfeld Rosas <rr.rosas@...>

29 messages 2011/07/09

[#37968] [Ruby 1.9 - Bug #5015][Open] method_added" is called in addition to "method_undefined — Lazaridis Ilias <ilias@...>

14 messages 2011/07/10

[#38096] [Ruby 1.9 - Feature #5033][Open] PATCH: 1.9: gc_mark_children: Avoid gc_mark() tail recursion, use goto again. — Kurt Stephens <ks.ruby@...>

14 messages 2011/07/16

[#38109] [Ruby 1.9 - Bug #5034][Open] C Source Code formatting — Lazaridis Ilias <ilias@...>

18 messages 2011/07/16

[#38171] [Ruby 1.9 - Bug #5047][Open] Segfault (most likely involving require) — Jack Christensen <jack@...>

21 messages 2011/07/18

[#38182] [Ruby 1.9 - Feature #5054][Open] Compress a sequence of ends — ANDO Yasushi ANDO <andyjpn@...>

68 messages 2011/07/19

[#38197] [Ruby 1.9 - Feature #5056][Open] About 1.9 EOL — Shyouhei Urabe <shyouhei@...>

39 messages 2011/07/19
[#38900] [Ruby 1.9 - Feature #5056] About 1.9 EOL — Shota Fukumori <sorah@...> 2011/08/10

[#38902] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — Yukihiro Matsumoto <matz@...> 2011/08/10

Hi,

[#39048] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — SASADA Koichi <ko1@...> 2011/08/22

Hi,

[#39055] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — Lucas Nussbaum <lucas@...> 2011/08/23

On 23/08/11 at 06:50 +0900, SASADA Koichi wrote:

[#38295] [Ruby 1.9 - Feature #5064][Open] HTTP user-agent class — Eric Hodel <drbrain@...7.net>

15 messages 2011/07/21

[#38391] [Ruby 1.9 - Bug #5076][Open] Mac OS X Lion Support — Yui NARUSE <naruse@...>

17 messages 2011/07/22

[#38503] [Ruby 1.9 - Feature #5096][Open] offer Logger-compatibility for ext — Eric Wong <normalperson@...>

16 messages 2011/07/25

[#38510] [Ruby 1.9 - Feature #5097][Assigned] Supported platforms of Ruby 1.9.3 — Yui NARUSE <naruse@...>

42 messages 2011/07/26

[#38526] [Backport92 - Backport #5099][Open] Backport r31875 load path performance problem — Aaron Patterson <aaron@...>

19 messages 2011/07/26

[#38538] [Ruby 1.9 - Feature #5101][Open] allow optional timeout for TCPSocket.new — Eric Wong <normalperson@...>

15 messages 2011/07/27

[#38610] [Ruby 1.9 - Feature #5120][Open] String#split needs to be logical — Alexey Muranov <muranov@...>

18 messages 2011/07/30

[#38623] [Ruby 1.9 - Feature #5123][Open] Alias Hash 1.9 as OrderedHash — Alexey Muranov <muranov@...>

14 messages 2011/07/31

[ruby-core:38231] Re: [Ruby 1.8 - Bug #5049] [ext/tk] Tk creating double MessageBox's

From: Hidetoshi NAGAI <nagai@...>
Date: 2011-07-20 01:34:14 UTC
List: ruby-core #38231
Hi,

From: Jon Forums <redmine@ruby-lang.org>
Subject: [ruby-core:38198] [Ruby 1.8 - Bug #5049] [ext/tk] Tk creating double MessageBox's
Date: Wed, 20 Jul 2011 00:26:29 +0900
Message-ID: <redmine.journal-19330.20110720002629@ruby-lang.org>
> Your answer makes technical sense, but from a user perspective requiring this extra code to display a message box seems both (arguably) unintuitive and an unnecessary implementation detail. 

I said that you didn't get two messagebox windows but got a root window
and a messagebox window.
Maybe, you are misunderstanding about a root window. On Tk, a root
window is automatically created without calling a constructer method
(without TkRoot.new) when initializing a Tcl/Tk interpreter and is
shown as default. If you want to hide a root window, it is a matter of
course that you must do a method call to hide it.
I thought that you wanted to show a messagebox window only without a
root window. So, I wrote a solution to hide a root window.

> Are there any technical limitations in 1.8 that prevent Tk from behaving consistently with 1.9 with respect to Dialog methods and event loops?
> 
> Why should 1.8 and 1.9 Dialog methods behave differently from a Ruby code perspective?

If changing behavior on 1.8, a compatibility is lost.
The difference between 1.8 and 1.9 depends on nativethreads.
1.8 runs on only one nativethread, but each of threads on 1.9 runs on
each nativethread.
Tk widgets will work on the only nativethread on which Tk interpreter
was initialized. So, on 1.9, Tk library must make a ruby's thread in
which Tk interpreter is initialized and an eventloop is running.
Otherwise,  Tk.mainloop works on a main thread only (on some
environments, there is the limitation). Then, "Thread.new{Tk.mainloop}"
doesn't work.
Well, when starting an eventloop at "require 'tk'", an empty root
window is shown at same time. And users will see the steps creating GUI.
I think that is bad. It is NOT compatible between 1.8 and 1.9 as behavior.
I did a hack to hide a root window before calling Tk.mainloop.
Almost all cases, it works properly. However, as you see, it looses
compatibility on some minor cases.
I think the incompatibility will be acceptable, because, without
Tk.mainloop, it is natural to call withdraw method before calling a
dialog method (it makes sub-eventloop for it self). 1.8 users will do
that. And it works properly on 1.9 too.

Can it be an answer for your question?
-- 
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
Department of Artificial Intelligence, Kyushu Institute of Technology

In This Thread