mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
19991110
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2841285182
commit
04c7225b78
9 changed files with 102 additions and 41 deletions
13
lib/debug.rb
13
lib/debug.rb
|
@ -27,6 +27,7 @@ class DEBUGGER__
|
|||
@last_file = nil
|
||||
@last = [nil, nil]
|
||||
@no_step = nil
|
||||
@finish_pos = 0
|
||||
end
|
||||
|
||||
DEBUG_LAST_CMD = []
|
||||
|
@ -256,9 +257,13 @@ class DEBUGGER__
|
|||
STDOUT.printf "#%d %s\n", frame_pos, info
|
||||
|
||||
when /^fi(?:nish)?$/
|
||||
@finish_pos = @frames.size - frame_pos
|
||||
frame_pos = 0
|
||||
return
|
||||
if frame_pos == 0
|
||||
STDOUT.print "\"finish\" not meaningful in the outermost frame.\n"
|
||||
else
|
||||
@finish_pos = @frames.size - frame_pos
|
||||
frame_pos = 0
|
||||
return
|
||||
end
|
||||
|
||||
when /^q(?:uit)?$/
|
||||
input = readline("really quit? (y/n) ", false)
|
||||
|
@ -373,10 +378,10 @@ class DEBUGGER__
|
|||
@frames.unshift binding
|
||||
|
||||
when 'return', 'end'
|
||||
@frames.shift
|
||||
if @frames.size == @finish_pos
|
||||
@stop_next = 1
|
||||
end
|
||||
@frames.shift
|
||||
|
||||
when 'raise'
|
||||
excn_handle(file, line, id, binding)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue