Add a new (hidden) C-API to iterate objspace snapshot.
This API is not safe to call any C-APIs in a given callback
function. Be careful to use this C-API.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval_intern.h (rb_threadptr_tag_jump): gcc 4.9 disallows other than
literal 1 as the second argument of __builtin_longjmp().
[ruby-core:61800] [Bug #9692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a
variable as the second argument of __builtin_longjmp().
[ruby-core:61800] [Bug #9692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/pathname/lib/pathname.rb (Pathname#join): Fix error with
empty args. Reported by ko1 via IRC.
* test/pathname/test_pathname.rb (TestPathname#test_join): Add the
test for above case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
symbol '_start'.
* addr2line.c (fill_lines): instead of above, get a dynamic symbol
in the main executable and use it to know the base address.
* addr2line.c (follow_debuglink0): use obj_info_t instead of
line_info_t to handle object related data.
* addr2line.c (main_exe_path): defined for Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c (vm_stat): get rid of inadvertent dynamic symbol pin-down,
and preserve encoding in error messages. also should not use
RSTRING_PTR macro on function calls.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_info_decode): get rid of inadvertent dynamic symbol
pin-down, and preserve encoding in error messages. also should
not use RSTRING_PTR macro on function calls.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_process.rb (test_rlimit_value): should not use
magic number 0, which may not be EXIT_SUCCESS. use `success?`
instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
reset inherit flag of socket to avoid unintentional inheritance of
socket. note that the return value of SetHandleInformation() is not
verified intentionally because old Windows may return an error.
[Bug #9688] [ruby-core:61754]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/-ext-/struct/test_member.rb (test_member_get): set
default_external encoding to fix locale depending test failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c (rb_struct_set, rb_struct_aref, rb_struct_aset): get
rid of pinning down dynamic symbols by SYM2ID.
* struct.c (rb_struct_aref_sym, rb_struct_aset_sym): use Symbol
instead of ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (rb_id_attrget): new function to convert setter ID to
getter ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c (not_a_member): preserve encoding of member name in
error messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c (not_a_member): extract name error and use same error
messages. based on the patch by Marcus Stollsteimer <sto.mar AT
web.de> at [ruby-core:61721]. [Bug #9684]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_pat_search): match result should be infected by the
pattern.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_pat_search): unset $~ if the last match failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c (match_regexp): set regexp for MatchData from string.
* re.c (rb_backref_set_string): create MatchData from string and
set backref.
* string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub),
(scan_once, rb_str_scan, rb_str_partition): use rb_str_index
instead of rb_reg_search() when pattern is a String. based on
the patch by Sam Rawlins <sam.rawlins@gmail.com> [Fixes GH-579]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (mustnot_broken): extract function to reject invalid
byte sequence, from rb_str_split_m().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e