Project

General

Profile

Actions

Bug #848

closed

debug.rb doesn't have access to the source file under test until it has run

Bug #848: debug.rb doesn't have access to the source file under test until it has run

Added by pragdave (Dave Thomas) almost 17 years ago. Updated over 14 years ago.

Status:
Closed
Target version:
ruby -v:
Backport:
[ruby-core:20450]

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


Related issues 1 (0 open1 closed)

Related to Ruby - Bug #847: debug.rb reports extraneous informationClosedko1 (Koichi Sasada)Actions

Updated by yugui (Yuki Sonoda) almost 17 years ago Actions #1

  • Assignee set to ko1 (Koichi Sasada)
  • Target version set to 1.9.1 Release Candidate

=begin

=end

Updated by yugui (Yuki Sonoda) almost 17 years ago Actions #2

  • Due date set to 12/24/2008

=begin

=end

Updated by yugui (Yuki Sonoda) almost 17 years ago Actions #3

  • Category set to YARV
  • Priority changed from Normal to 3

=begin

=end

Updated by yugui (Yuki Sonoda) almost 17 years ago Actions #4

  • 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 17 years ago Actions #5

=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) over 16 years ago Actions #6

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r21571.
=end

Actions

Also available in: PDF Atom