[#35027] [Ruby 1.9-Bug#4352][Open] [patch] Fix eval(s, b) backtrace; make eval(s, b) consistent with eval(s) — "James M. Lawrence" <redmine@...>

Bug #4352: [patch] Fix eval(s, b) backtrace; make eval(s, b) consistent with eval(s)

16 messages 2011/02/01

[#35114] [Ruby 1.9-Bug#4373][Open] http.rb:677: [BUG] Segmentation fault — Christian Fazzini <redmine@...>

Bug #4373: http.rb:677: [BUG] Segmentation fault

59 messages 2011/02/06

[#35171] [Ruby 1.9-Bug#4386][Open] encoding: directive does not affect regex expressions — mathew murphy <redmine@...>

Bug #4386: encoding: directive does not affect regex expressions

9 messages 2011/02/09

[#35237] [Ruby 1.9-Bug#4400][Open] nested at_exit hooks run in strange order — Suraj Kurapati <redmine@...>

Bug #4400: nested at_exit hooks run in strange order

12 messages 2011/02/15

[ruby-core:35080] Re: [Ruby 1.9-Bug#4352] [patch] Fix eval(s, b) backtrace; make eval(s, b) consistent with eval(s)

From: Yusuke ENDOH <mame@...>
Date: 2011-02-04 00:20:48 UTC
List: ruby-core #35080
Hi,

2011/2/3 James M. Lawrence <redmine@ruby-lang.org>:
> Yusuke Endoh:
>>> Since source_location claims to be "the ruby source filename and line
>>> number containing this proc", I was thinking that source_location
>>> could give the "true" location, ignoring the file/line "lies" passed
>>> to eval.
>>
>>Honestly, I understand your expectation. t is of course acceptable to
>>fix it in 2.0. ut it would require a major modification because the
>>current implementation itself does NOT know the "true" location. he
>>information is discarded at the parse time.
>
> Did you misunderstand? It's not my expectation--the next sentence said
> it was wrong, and indeed I rely on the current behavior.
>
> My expectation is that overriding file/line for eval can only be done
> explicitly, never implicitly through the binding.


I see.  Sorry for my misunderstanding.
But anyway, it is difficult to meet your expectation in 1.9.
Inheriting file/line from a binding is actually intended, not a
bug, even though it is confusing.
We cannot change any spec in 1.9, unless it is considered a bug.

However, it might be considered a bug for Kernel#eval to ignore
an explicitly specified "(eval)", I think.

Does that answer you?

-- 
Yusuke Endoh <mame@tsg.ne.jp>

In This Thread