From: "nagachika (Tomoyuki Chikanaga)" Date: 2013-10-23T12:05:43+09:00 Subject: [ruby-core:57980] [ruby-trunk - Bug #9038] instance_eval throws RuntimeError for bad syntax (regression from 2.0.0) Issue #9038 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: UNKNOWN, 2.0.0: REQUIRED Even though this issue is not reproducible with 2.0.0, the same flaw exists on ruby_2_0_0. I'll backport r43376 to fix a potential bug. ---------------------------------------- Bug #9038: instance_eval throws RuntimeError for bad syntax (regression from 2.0.0) https://bugs.ruby-lang.org/issues/9038#change-42555 Author: indirect (Andr�� Arko) Status: Closed Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.1.0dev (2013-10-20 trunk 43373) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: REQUIRED =begin In Ruby 2.1.0dev (2013-10-20 trunk 43373), (({instance_eval})) throws a (({RuntimeError})) when it should throw a (({SyntaxError})), but only the first time it is called. If you use an IRB session to call (({instance_eval})) a second time with the exact same arguments, it produces the expected (({SyntaxError})) instead of . Here is an example: (({ruby -e "instance_eval('/unquoted/string/syntax/error')"})) That example raises a (({SyntaxError})) on Ruby 2.0.0p247, but raises a (({RuntimeError})) on 2.1.0dev (2013-10-20 trunk 43373). =end -- http://bugs.ruby-lang.org/