Project

General

Profile

Actions

Bug #848

closed

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

Added by pragdave (Dave Thomas) almost 16 years ago. Updated over 13 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 master - Bug #847: debug.rb reports extraneous informationClosedko1 (Koichi Sasada)12/11/200801/20/2009Actions
Actions #1

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

Actions #2

Updated by yugui (Yuki Sonoda) almost 16 years ago

  • Due date set to 12/24/2008

=begin

=end

Actions #3

Updated by yugui (Yuki Sonoda) almost 16 years ago

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

=begin

=end

Actions #4

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

Actions #5

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

Actions #6

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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0