variable.c: split CVAR_LOOKUP

* variable.c (CVAR_LOOKUP): split into helper functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-08-07

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
method in instance_eval

* class.c (rb_special_singleton_class_of): utility function.
* vm_eval.c (eval_under): special deal for class variable scope with
  instance_eval.
* vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow method
  definition in instance_eval of special constants.  [ruby-core:28324]
  [Bug #2788]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test String#each_line when separator is longer than string.

Thanks Charles Nutter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_file_exhaustive.rb
  (TestFileExhaustive#test_expand_path*): refactoring.  split the method
  into some chunks of the same kind of tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_method.c (rb_redefine_opt_method): use RCLASS_ORIGIN to avoid
  SEGV when a module-prepended class is refined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_require.rb (TestRequire#test_require_twice): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_exec.c, insns.def (leave): solve problems on
  OPT_CALL_THREADED_CODE.
  Catch up finish frame structure on OPT_CALL_THREADED_CODE.
* vm_core.h: add rb_thread_t#retval for temporary space on
  OPT_CALL_THREADED_CODE.
* vm.c (th_init): clear rb_thread_t#retval as Qundef.
* vm_dump.c (rb_vmdebug_debug_print_pre): fix debug print format.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/readline/readline.c (Init_readline): rl_catch_signals=0 returns
  back. Without this, on FreeBSD9 and readline 6.2 irb can't catch ^C.
  [Bug #5423]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c (method_clone):  Added documentation.  Patch by Robin Dupret.
  Fixes #152 on github.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-08-08

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c, insns.def (checkmatch):
  remove checkincludearray instruction and
  add new instruction checkmatch.
  This change is to solve
  [Bug #4438] "rescue args type check omitted".
* iseq.c: increment ISEQ_MAJOR_VERSION because removal of
  checkincludearray instruction.
* vm_core.h: add several definitions for
  the checkmatch instruction.
* vm_insnhelper.c (check_match): added.
* bootstraptest/test_exception.rb: add a test.
* test/ruby/test_exception.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstrap/test_exception.rb: fix a last committed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (ADD_INSNL): make ADD_INSNSL as alias of ADD_INSN1.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
common.mk: id.h dependency

* common.mk (.y.h): split from .y.c rule to manage dependency on
  parse.h.  [ruby-core:46741] [Bug #6789]
* common.mk (id.h): keep old file unless changed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use local variables

* test/ruby/test_eval.rb: use local variables instead global variables
  if possible.
* test/ruby/test_ifunless.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_stringchar.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_eval.c: cref-scope hack

* vm_eval.c (eval_under): singletons other than special constants
  don't need cref-scope hack.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix a typo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-08-09

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/openssl/test_config.rb (OpenSSL#test_constants): skip this
  test if platform is Mac OS X or Windows. [Bug #6830]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e