mkrunnable.rb: static-linked-ext

* tool/mkrunnable.rb: make archdir for static-linked-ext.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: mingw64+MSYS pkg-config fix

* lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for
  mingw64+MSYS pkg-config which errouneously emits extra newlines.
  [ruby-core:47998] [Bug #7163]


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

* configure.in (--disable-dln): option to disable dynamic linking
  feature.  [ruby-core:37676] [Feature #4946]


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

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

* ruby.c (proc_options, process_options, ruby_process_options): take
  care of the case argc is 0, and check if argv has NULL.
  [ruby-core:49889] [Bug #7423]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (thread_create_core): don't use th->thread_id before
  initialized.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (proc_getsid): adds new method for getting session id.
  Contributed from fumiyas (Fumiyasu SATOH). Thank you!
  [Feature #6757] [ruby-dev:45977]
* configure.in: adds getsid check.
* test/ruby/test_process.rb (TestProcess#test_setsid): new test
  for the above.
* NEWS: news for the above.

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

* gc.c (wmap_final_func): remove WeakRef object reference from the
  array.

* gc.c (wmap_finalize): remove recycled object references from weak
  map hash properly. How to get object reference from object id was
  wrong. st_delete() doesn't work properly if key and value arguments
  are same. The key of obj2wmap is referenced object and the value of
  obj2wmap is WeakRef array.

* gc.c (wmap_aset): obj2wmap should contain WeakRef array in the
  definition.

* test/test_weakref.rb
  (TestWeakRef#test_not_reference_different_object): add a test for
  above.
  [ruby-core:49044] [Bug #7304]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
wmap_finalize: refactoring to rename variables

* gc.c (wmap_final_func): rename variables to clarify the meaning.
  In wmap2obj the key is WeakRef and the value is referenced object.
  In obj2wmap the key is referenced object and the value is an array
  of WeakRef.

* gc.c (wmap_finalize): ditto.
  [ruby-core:49044] [Bug #7304]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix Segmentation fault at TestArray#test_aref

* array.c (rb_ary_aref): fix Segmentation fault at TestArray#test_aref
  on x64 mingw. Variable argument of rb_scan_args() should be a pointer
  (VALUE *), but 0 of variable argument seems not equal to null pointer
  on x64 mingw.

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

* test/ruby/test_process.rb (TestProcess#test_setsid): "./ruby-trunk"
  doesn't work on all environments. EnvUtil.rubybin would be suitable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_trace.c (rb_tracepoint_attr_raised_exception): should not check
  value before event checking.
* vm_trace.c (rb_tracepoint_attr_return_value): ditto.
* test/ruby/test_settracefunc.rb: add tests for TracePoint#return_value
  and TracePoint#raised_exception.



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

Revert "Fix finalize of WeakRef"
This causes segv on rubyspec.
http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20121124T050101Z.log.html.gz

you can reproduce by
 make test-rubyspec MSPECOPT='-V library/weakref'

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* test/ruby/test_rubyoptions.rb (test_usage, test_usage_long):
	  reduced, renamed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/nkf/nkf-utf8/nkf.c (unicode_iconv_combine): returning flags are
  nkf_char.

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

* array.c (rb_ary_delete_same_obj): new function for WeakRef.
  This deletes same objects as item argument in the array.

* internal.h (rb_ary_delete_same_obj): add a declaration.

* gc.c (wmap_final_func): remove WeakRef object reference from the
  array. rb_ary_delete() is not usable because it uses rb_equal() to
  compare object references.

* gc.c (wmap_finalize): remove recycled object references from weak
  map hash properly. How to get object reference from object id was
  wrong. st_delete() doesn't work properly if key and value arguments
  are same. The key of obj2wmap is referenced object and the value of
  obj2wmap is WeakRef array.

* gc.c (wmap_aset): obj2wmap should contain WeakRef array in the
  definition.

* test/test_weakref.rb
  (TestWeakRef#test_not_reference_different_object,
   TestWeakRef#test_weakref_finalize): add tests for above.
  [ruby-core:49044] [Bug #7304]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gc.c: refactoring to rename variables

* gc.c (wmap_final_func): rename variables to clarify the meaning.
  In wmap2obj the key is WeakRef and the value is referenced object.
  In obj2wmap the key is referenced object and the value is an array
  of WeakRef.

* gc.c (wmap_finalize): ditto.
  [ruby-core:49044] [Bug #7304]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix tests of rb_warning().

* test/ruby/envutil.rb (Test::Unit::Assertions#assert_warning)
  (Test::Unit::Assertions#assert_warn), test/ruby/envutil.rb,
  test/ruby/test_enumerator.rb, test/ruby/test_io_m17n.rb,
  test/ruby/test_regexp.rb, test/ruby/test_syntax.rb:
  assert_warn() and assert_warning() are reversed.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
String#{lines,chars,codepoints,bytes} now return an array.

* string.c (rb_str_each_line, rb_str_lines): String#lines now
  returns an array instead of an enumerator.  Passing a block is
  deprecated but still supported for backwards compatibility.
  Based on the patch by yhara. [Feature #6670]

* string.c (rb_str_each_char, rb_str_chars): Ditto for
  String#chars.

* string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for
  String#codepoints.

* string.c (rb_str_each_byte, rb_str_bytes): Ditto for
  String#bytes.

* NEWS: Add notes for the above changes.

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