Issue #13523 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.2: REQUIRED, 2.3: REQUIRED, 2.4: REQUIRED to 2.2: REQUIRED, 2.3: REQUIRED, 2.4: DONE

ruby_2_4 r59488 merged revision(s) 58503.

----------------------------------------
Bug #13523: negative line numbers in instance_eval are misinterpreted in 32-bit ruby-trunk
https://bugs.ruby-lang.org/issues/13523#change-66008

* Author: Eregon (Benoit Daloze)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: REQUIRED, 2.3: REQUIRED, 2.4: DONE
----------------------------------------
As can be seen on http://rubyci.org/, 32-bit ruby-trunk seems to have regressed and no longer handles negative line number in #instance_eval correctly.

Specifically, this spec fails:

~~~ ruby
  it "evaluates string with given filename and negative linenumber" do
    err = begin
      Object.new.instance_eval("\n\nraise\n", "b_file", -100)
    rescue => e
      e
    end
    err.backtrace.first.split(":")[0..1].should == ["b_file", "-98"]
  end
~~~
https://github.com/ruby/spec/blob/51bc2c1c8cd387ec99106b5f27eb5d0ab48fc560/core/basicobject/instance_eval_spec.rb#L172-L179



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>