Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
#<RDoc::Comment:0x00000001487168>
#<RDoc::Comment:0x00000001e3d5e0>
#<RDoc::Comment:0x00000001fbf5f8>
#<RDoc::Comment:0x00000001efb978>
#<RDoc::Comment:0x00000001e25738>
#<RDoc::Comment:0x000000012cee98>
#<RDoc::Comment:0x00000000cee2a8>
#<RDoc::Comment:0x000000013fb398>
#<RDoc::Comment:0x000000018bfdc0>
#<RDoc::Comment:0x00000001450578>
#<RDoc::Comment:0x00000001f92760>
#<RDoc::Comment:0x00000001a680c8>
#<RDoc::Comment:0x00000001f52f98>
#<RDoc::Comment:0x00000001f0f3d8>
#<RDoc::Comment:0x00000001edaf20>
#<RDoc::Comment:0x00000001ec4720>
*** KNOWN BUG ***
Main event loop thread of TkAqua (> Tk8.4.9) must be the main application thread. So, ruby1.9 users must call Tk.mainloop on the main application thread.
*** ADD (2009/05/10) ***
In some cases (I don't know the description of conditions), TkAqua 8.4.7 has a same kind of hang-up trouble. So, if 8.4.7 or later, set RUN_EVENTLOOP_ON_MAIN_THREAD to true. When you want to control this mode, please call the following (set true/false as you want) before "require 'tk'". ---------------------------------------------------------- module TkCore; RUN_EVENTLOOP_ON_MAIN_THREAD = true; end ----------------------------------------------------------
*** ADD (2010/07/05) ***
The value of TclTkLib::WINDOWING_SYSTEM is defined at compiling. If it is inconsistent with linked DLL, please call the following before "require 'tk'". ---------------------------------------------------------- require 'tcltklib' module TclTkLib remove_const :WINDOWING_SYSTEM WINDOWING_SYSTEM = 'x11' # or 'aqua' end ----------------------------------------------------------
# File tk/lib/tk.rb, line 1588
def TkCore.callback(*arg)
begin
if TkCore::INTERP.tk_cmd_tbl.kind_of?(Hash)
#TkCore::INTERP.tk_cmd_tbl[arg.shift].call(*arg)
normal_ret = false
ret = catch(:IRB_EXIT) do # IRB hack
retval = TkCore::INTERP.tk_cmd_tbl[arg.shift].call(*arg)
normal_ret = true
retval
end
unless normal_ret
# catch IRB_EXIT
exit(ret)
end
ret
end
rescue SystemExit=>e
exit(e.status)
rescue Interrupt=>e
fail(e)
rescue Exception => e
begin
msg = _toUTF8(e.class.inspect) + ': ' +
_toUTF8(e.message) + "\n" +
"\n---< backtrace of Ruby side >-----\n" +
_toUTF8(e.backtrace.join("\n")) +
"\n---< backtrace of Tk side >-------"
if TkCore::WITH_ENCODING
msg.force_encoding('utf-8')
else
msg.instance_variable_set(:@encoding, 'utf-8')
end
rescue Exception
msg = e.class.inspect + ': ' + e.message + "\n" +
"\n---< backtrace of Ruby side >-----\n" +
e.backtrace.join("\n") +
"\n---< backtrace of Tk side >-------"
end
# TkCore::INTERP._set_global_var('errorInfo', msg)
# fail(e)
fail(e, msg)
end
end
# File tk/lib/tk.rb, line 1386
def inspect
sprintf("#<Class(TkCallbackEntry):%0x>", self.__id__)
end
# File tk/lib/tk.rb, line 1397
def call(*args)
@ip.cb_eval(@cmd, *args)
end
# File tk/lib/tk.rb, line 1576
def callback_break
fail TkCallbackBreak, "Tk callback returns 'break' status"
end
# File tk/lib/tk.rb, line 1580
def callback_continue
fail TkCallbackContinue, "Tk callback returns 'continue' status"
end
# File tk/lib/tk.rb, line 1584
def callback_return
fail TkCallbackReturn, "Tk callback returns 'return' status"
end
# File tk/lib/tk.rb, line 1400
def inspect
sprintf("#<cb_entry:%0x>", self.__id__)
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.