1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2000-08-01 06:27:36 +00:00
parent 3597f08030
commit e54725624f
3 changed files with 35 additions and 15 deletions

View file

@ -1,6 +1,6 @@
#
# tkafter.rb : methods for Tcl/Tk after command
# 1998/07/02 by Hidetoshi Nagai <nagai@ai.kyutech.ac.jp>
# 2000/08/01 by Hidetoshi Nagai <nagai@ai.kyutech.ac.jp>
#
require 'tk'
@ -37,7 +37,16 @@ class TkAfter
###############################
def do_callback(*args)
@in_callback = true
ret = @current_proc.call(*args)
begin
ret = @current_proc.call(*args)
rescue StandardError, NameError
if @cancel_on_exception
cancel
return nil
else
fail $!
end
end
if @set_next
set_next_callback(*args)
else
@ -118,6 +127,8 @@ class TkAfter
@after_id = nil
@after_script = nil
@cancel_on_exception = true
set_procs(*args) if args != []
@running = false
@ -135,7 +146,16 @@ class TkAfter
end
def current_status
[@running, @current_sleep, @current_proc, @current_args, @do_loop]
[@running, @current_sleep, @current_proc, @current_args,
@do_loop, @cancel_on_exception]
end
def cancel_on_exception?
@cancel_on_exception
end
def cancel_on_exception=(mode)
@cancel_on_exception = mode
end
def running?

View file

@ -460,7 +460,7 @@ class TkText<TkTextWin
when 'anchor'
result.push TkTextMarkAnchor.new(self)
else
result.push tk_tcl2rb(val)
result.push tk_tcl2ruby(val)
end
when 'tagon'
if val == 'sel'
@ -470,12 +470,12 @@ class TkText<TkTextWin
result.push TkTextTagSel.new(self)
end
else
result.push tk_tcl2rb val
result.push tk_tcl2ruby(val)
end
when 'tagoff'
result.push tk_tcl2rb sel
result.push tk_tcl2ruby(sel)
when 'window'
result.push tk_tcl2rb val
result.push tk_tcl2ruby(val)
end
i = idx + 1
end