Bug #848
closeddebug.rb doesn't have access to the source file under test until it has run
Description
=begin
dave[RUBY3/Book 14:51:21*] ruby -v -r debug t.rb
ruby 1.9.1 (2008-12-10 revision 20602) [i386-darwin9.5.0]
Debug.rb
Emacs support available.
/usr/local/rubybook/lib/ruby/1.9.1/debug.rb:904:
(rdb:1) l
[899, 908] in /usr/local/rubybook/lib/ruby/1.9.1/debug.rb
No sourcefile available for /usr/local/rubybook/lib/ruby/1.9.1/debug.rb <<<< !!!
(rdb:1) step
t.rb:1:var = 'cat'
(rdb:1) l
[-4, 5] in t.rb
=> 1 var = 'cat'
2 def escape(l, s); l; end
3
4 while l.length > 70
Also, not line number range of [-4,5]
=end
Updated by yugui (Yuki Sonoda) almost 16 years ago
- Assignee set to ko1 (Koichi Sasada)
- Target version set to 1.9.1 Release Candidate
=begin
=end
Updated by yugui (Yuki Sonoda) almost 16 years ago
- Category set to YARV
- Priority changed from Normal to 3
=begin
=end
Updated by yugui (Yuki Sonoda) almost 16 years ago
- Due date changed from 12/24/2008 to 01/20/2009
- Target version changed from 1.9.1 Release Candidate to 1.9.1 RC2
=begin
=end
Updated by wsobel (William Sobel) almost 16 years ago
=begin
Found a patch that fixes this bug, not sure if it's correct. The problem is the compile_for_eval is always 1 (coming from the th->parse_in_eval flag.) The parse_in_eval is incremented in the process_options function, not sure why. I tried to change the value and things broke in a most horrible manor.
Found a quick fix that seems to work correctly, just removed the check for compile_in_eval. The check for debug_lines seems to do the right thing. Not sure if this is a help, just trying to be useful. ;-)
Hope this helps,
- Will Sobel
Index: parse.y¶
--- parse.y (revision 21497)
+++ parse.y (working copy)
@@ -4977,7 +4977,7 @@
NODE *tree;
struct parser_params *parser = (struct parser_params *)arg;
- if (!compile_for_eval && rb_safe_level() == 0) {
- if (rb_safe_level() == 0) {
ruby_debug_lines = debug_lines(ruby_sourcefile);
if (ruby_debug_lines && ruby_sourceline > 0) {
VALUE str = STR_NEW0();
=end
Updated by ko1 (Koichi Sasada) almost 16 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r21571.
=end