enumerator.c: should not store local variable address

* enumerator.c (enumerator_with_index): should not store local variable
  address to memoise the arguments.  it is invalidated after the return.
  [ruby-core:58692] [Bug #9178]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
eval.c: determine exit status and signal before finalization

* eval.c (ruby_cleanup): determine exit status and signal to terminate
  before finalization, to get rid of access destroyed T_DATA execption
  object.  [ruby-core:58643] [Bug #9167]

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

* vm_dump.c (rb_vmdebug_debug_print_pre): suppress warning on a
  platform ptrdiff_t is shorter than long int.

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

* ext/win32ole/win32ole.c (hash2named_arg): correct declaration to fix
  build failure.  a patch by phasis68 (Heesob Park) at
  [ruby-core:58710].  [Bug #9184]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/irb/inspector.rb:  [DOC] Fix typo (s/dependant/dependent/)
* lib/irb/workspace.rb:  [DOC] Fix typo (s/binging/binding/)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_insnhelper.c: keyword hash functions

* vm_insnhelper.c (rb_extract_keywords, rb_check_keyword_opthash):
  extract from vm_callee_setup_keyword_arg.

* class.c (rb_scan_args): check if keys of keyword hash are symbols.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
dir.c: check unknown keywords

* dir.c (dir_initialize): check unknown keywords.  [ruby-dev:47152]
  [Bug #8060]

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