From: kentkt@... Date: 2014-07-17T09:32:49+00:00 Subject: [ruby-core:63797] [ruby-trunk - Bug #9344] [Closed] warning origin incorrect with instance_eval Issue #9344 has been updated by Ken Takata. Status changed from Assigned to Closed Onigmo 5.14.1 was merged with r46831. Fix for this issue is included in Onigmo 5.14.1. > Rather I think onig_syntax_warn() should use onig_verb_warn instead of calling rb_warn() directly. > And another warning function with source file and line number, instead of rb_compile_warn(). If you send me another pull request, I will merge it. ---------------------------------------- Bug #9344: warning origin incorrect with instance_eval https://bugs.ruby-lang.org/issues/9344#change-47829 * Author: Thierry Lambert * Status: Closed * Priority: Normal * Assignee: Ken Takata * Category: regexp * Target version: current: 2.2.0 * ruby -v: ruby 1.9.3p484 (2013-11-22) [i386-mingw32] * Backport: 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED ---------------------------------------- File 'test.rb' contains: ~~~ruby $-w = 2 code = <<-RUBY x = /]]/ y = /[a-z]+*/ RUBY instance_eval code, 'foo.rb' ~~~ The execution reports: ~~~ foo.rb:1: warning: regular expression has ']' without escape: /]]/ test.rb:6: warning: nested repeat operator + and * was replaced with '*': /[a-z]+*/ ~~~ The last line should state '`foo.rb:2`' instead of '`test.rb:6`'. The bug is also present in: ruby 2.0.0p353 (2013-11-22) [i386-mingw32] ---Files-------------------------------- 9344.patch (3.55 KB) 9344-v2.patch (1.87 KB) -- https://bugs.ruby-lang.org/