[前][次][番号順一覧][スレッド一覧]

ruby-changes:56774

From: Yusuke <ko1@a...>
Date: Sat, 3 Aug 2019 07:48:14 +0900 (JST)
Subject: [ruby-changes:56774] Yusuke Endoh: c683763865 (master): Use source_location instead of eval(__FILE__, binding) in Binding#irb

https://git.ruby-lang.org/ruby.git/commit/?id=c683763865

From c6837638657429034825d5c9e2a29c340898afb8 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Sat, 3 Aug 2019 07:44:44 +0900
Subject: Use source_location instead of eval(__FILE__,binding) in Binding#irb

e9e17cbc051e894dfd27eda5feca2939f65552db (enabling the warning by
default) caused a warning in test-spec:
```
/data/chkbuild/tmp/build/20190802T213005Z/ruby/spec/ruby/core/binding/irb_spec.rb
Binding#irb
- creates an IRB session with the binding in scope/data/chkbuild/tmp/build/20190802T213005Z/ruby/spec/ruby/core/binding/fixtures/irb.rb:3: warning: __FILE__ in eval may not return location in binding; use Binding#source_location instead
```
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190802T213005Z.log.html.gz

ref: [Bug #4352]

diff --git a/lib/irb.rb b/lib/irb.rb
index f9c2778..a08aa87 100644
--- a/lib/irb.rb
+++ b/lib/irb.rb
@@ -805,7 +805,7 @@ class Binding https://github.com/ruby/ruby/blob/trunk/lib/irb.rb#L805
   #
   # See IRB@IRB+Usage for more information.
   def irb
-    IRB.setup(eval("__FILE__"), argv: [])
+    IRB.setup(source_location[0], argv: [])
     workspace = IRB::WorkSpace.new(self)
     STDOUT.print(workspace.code_around_binding)
     IRB::Irb.new(workspace).run(IRB.conf)
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]