diff options
author | Jean Boussier <[email protected]> | 2023-07-13 11:49:28 +0200 |
---|---|---|
committer | Jean Boussier <[email protected]> | 2023-07-24 14:51:20 +0200 |
commit | 43a5c191358699fe8b19314763998cb8ca77ed90 (patch) | |
tree | efebe1570ca2c77a66bfb81edeb3f86044e63174 /test/-ext-/debug/test_profile_frames.rb | |
parent | 14d16bdb1ad8e98d76ec2c43b2c1c412ff707d0b (diff) |
Use the caller location as default filename for eval family of methods
[Feature #19755]
Before (in /tmp/test.rb):
```ruby
Object.class_eval("p __FILE__") # => "(eval)"
```
After:
```ruby
Object.class_eval("p __FILE__") # => "(eval at /tmp/test.rb:1)"
```
This makes it much easier to track down generated code in case
the author forgot to provide a filename argument.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/8070
Diffstat (limited to 'test/-ext-/debug/test_profile_frames.rb')
-rw-r--r-- | test/-ext-/debug/test_profile_frames.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/test/-ext-/debug/test_profile_frames.rb b/test/-ext-/debug/test_profile_frames.rb index d6ae953dd2..870e4e1d36 100644 --- a/test/-ext-/debug/test_profile_frames.rb +++ b/test/-ext-/debug/test_profile_frames.rb @@ -14,6 +14,8 @@ class SampleClassForTestProfileFrames end class Sample2 + EVAL_LINE = __LINE__ + 3 + def baz(block) instance_eval "def zab(block) block.call end" [self, zab(block)] @@ -112,7 +114,7 @@ class TestProfileFrames < Test::Unit::TestCase "SampleClassForTestProfileFrames#foo", "TestProfileFrames#test_profile_frames", ] - paths = [ nil, file=__FILE__, "(eval)", file, file, file, file, file, file, nil ] + paths = [ nil, file=__FILE__, "(eval at #{__FILE__}:#{SampleClassForTestProfileFrames::Sample2::EVAL_LINE})", file, file, file, file, file, file, nil ] absolute_paths = [ "<cfunc>", file, nil, file, file, file, file, file, file, nil ] assert_equal(labels.size, frames.size) |