From: "nagachika (Tomoyuki Chikanaga)" Date: 2013-10-24T22:48:20+09:00 Subject: [ruby-core:58019] [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: REQUIRED to 1.9.3: UNKNOWN, 2.0.0: DONE r43376 is backported to ruby_2_0_0 branch at r43414. I modify test code not to use new assertion of Test::Unit. ---------------------------------------- Bug #9038: instance_eval throws RuntimeError for bad syntax (regression from 2.0.0) https://bugs.ruby-lang.org/issues/9038#change-42600 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: DONE =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/