aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* string.c: backref substitutionnobu2014-03-283-15/+29
| | | | | | | | | * re.c (rb_reg_regsub): allow nil regexp for string matching. * string.c (rb_str_sub_bang, str_gsub): make substitution if replacement string has backref escapes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: unset $~ if unmatchnobu2014-03-282-3/+16
| | | | | | * 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
* revert r45417naruse2014-03-281-10/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r45417naruse2014-03-281-9/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/psych.gemspec: update gemspec for psych-2.0.5hsbt2014-03-282-3/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-03-28svn2014-03-281-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version tohsbt2014-03-285-8/+21
| | | | | | | | | libyaml-0.1.6 for CVE-2014-2525. * ext/psych/yaml/config.h: ditto. * ext/psych/yaml/scanner.c: ditto. * ext/psych/yaml/yaml_private.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: suppress warningsnobu2014-03-271-2/+2
| | | | | | | * string.c (rb_str_sub_bang, str_gsub): initialize conditionally assigned variables to suppress maybe-uninitialized warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: search by rb_str_indexnobu2014-03-275-56/+168
| | | | | | | | | | | | * 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_brokennobu2014-03-271-6/+10
| | | | | | | * 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
* re.c: class name encodingnobu2014-03-272-3/+6
| | | | | | * re.c (match_inspect): preserve class name encoding by PRIsVALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n_comb.rb: refine assertionsnobu2014-03-271-5/+6
| | | | | | | * test/ruby/test_m17n_comb.rb (test_str_scan): refine assertion messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] Fix NEWS about Symbol GCnari2014-03-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: invert flagnobu2014-03-271-5/+5
| | | | | | | * string.c (str_gsub): invert and rename `str_replace` flag as `need_backref`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (fill_lines): check shdr[i].sh_type because even ifnaruse2014-03-272-8/+25
| | | | | | | | .symtab section exists, the section's type can be SHT_NOBITS and actual data doesn't exist in the file. [Bug #9654] revert r45441. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: indentnobu2014-03-271-1/+1
| | | | | | * re.c (rb_reg_search): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: type-punning castnobu2014-03-271-2/+5
| | | | | | | * parse.y (rb_gc_free_dsymbol): use intermediate st_data_t and get rid of type-punning cast. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-03-27svn2014-03-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* temporally change for powerpc64-linux fc18naruse2014-03-261-1/+1
| | | | | | | fc18 powerpc64's libc6-dbg has symtab/strtab but it can't be referenced. therefore add workaround not to see them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] Add NEWS about Symbol GCnari2014-03-261-0/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: set encodingnobu2014-03-262-3/+2
| | | | | | | * parse.y (rb_str_dynamic_intern): associate proper encoding with the result symbol. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encoding.c: fix encoding of dynsymnobu2014-03-262-0/+4
| | | | | | | * encoding.c (rb_enc_get_index): the encoding of dynamic symbol comes from fstr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove break because strtab/symtab is usually the last segmentnaruse2014-03-261-10/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encoding.c: enc_capable symbolnobu2014-03-262-0/+4
| | | | | | * encoding.c (enc_capable): Symbol is now encoding capable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* temporaly show sym->st_name and so onnaruse2014-03-261-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: fix rb_str_symname_type callnobu2014-03-261-1/+1
| | | | | | | * parse.y (rb_str_dynamic_intern): fix the second argument to rb_str_symname_type, which is a bit mask but not a boolean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (rb_str_dynamic_intern): fix commit miss.nobu2014-03-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: guard dup stringnobu2014-03-261-3/+3
| | | | | | | * parse.y (rb_str_dynamic_intern): prevent a string which may be duplicated, from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: dup iff needednobu2014-03-261-4/+3
| | | | | | | * parse.y (rb_str_dynamic_intern): dup the given string only if needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: no dup US-ASCII stringnobu2014-03-261-3/+4
| | | | | | | * parse.y (rb_str_dynamic_intern): no needs to associate encoding if it is US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: inline must be static (for mswin).usa2014-03-262-3/+8
| | | | | | | fixed build error introduced at r45426. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1).nari2014-03-263-0/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cast to int to silence clang compile errornari2014-03-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: support Symbol GC. [ruby-trunk Feature #9634]nari2014-03-2614-92/+390
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See this ticket about Symbol GC. * include/ruby/ruby.h: Declare few functions. * rb_sym2id: almost same as old SYM2ID but support dynamic symbols. * rb_id2sym: almost same as old ID2SYM but support dynamic symbols. * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not pin down a dynamic symbol. Declare a new struct. * struct RSymbol: represents a dynamic symbol as object in Ruby's heaps. Add few macros. * STATIC_SYM_P: check a static symbol. * DYNAMIC_SYM_P: check a dynamic symbol. * RSYMBOL: cast to RSymbol * gc.c: declare RSymbol. support T_SYMBOL. * internal.h: Declare few functions. * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this function at a sweep phase. * rb_str_dynamic_intern: convert a string to a dynamic symbol. * rb_check_id_without_pindown: not pinning function. * rb_sym2id_without_pindown: ditto. * rb_check_id_cstr_without_pindown: ditto. * string.c (Init_String): String#intern and String#to_sym use rb_str_dynamic_intern. * template/id.h.tmpl: use LSB of ID as a flag for determining a static symbol, so we shift left other ruby_id_types. * string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to avoid pinning. * load.c: use xx_without_pindown function at creating temporary ID to avoid pinning. * object.c: ditto. * sprintf.c: ditto. * struct.c: ditto. * thread.c: ditto. * variable.c: ditto. * vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (fill_lines): loop reverse order not to overwritenaruse2014-03-264-78/+58
| | | | | | | | | | | | | | the basis of base addresses comparison. * addr2line.c: use uintptr_t instead of intptr_t for poinrters. * addr2line.c (rb_dump_backtrace_with_lines): don't use syms. * vm_dump.c (rb_print_backtrace): ditto. * addr2line.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* marshal.c: undumpable hidden objectsnobu2014-03-264-1/+23
| | | | | | | * marshal.c (w_object): internal objects are not dumpable. [ruby-core:61677] [Bug #9674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: undumpablenobu2014-03-264-0/+35
| | | | | | | * ext/thread/thread.c (undumpable): ConditionVariable and Queue are not dumpable. [ruby-core:61677] [Bug #9674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (follow_debuglink): show message if it closes openednaruse2014-03-262-0/+6
| | | | | | (and maybe used) elf binary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (fill_line): pass and use offset instead ofnaruse2014-03-262-10/+13
| | | | | | curobj_baseaddr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add feature number to ChangeLog entrykanemoto2014-03-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add --disable-pie option to configurekanemoto2014-03-262-1/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* don't write _start as is; use dlsymnaruse2014-03-261-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* temporaly change/add to debug on powerpc64-linuxnaruse2014-03-252-9/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (fill_lines): don't run fill_lines multiple times.naruse2014-03-252-17/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h (rb_reg_search0): not a public API.nobu2014-03-251-3/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Stop allocating backref strings within gsub's search loopcharliesome2014-03-254-6/+32
| | | | | | | | | | | | | | * internal.h: add prototype for rb_reg_search0 * re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str argument to allow callers to indicate that they don't require the backref string to be allocated * string.c: don't allocate backref str if replacement string is provided Closes GH-578. [Bug #9676] [ruby-core:61682] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygem.rb: Weirichnobu2014-03-252-1/+5
| | | | | | * lib/rubygem.rb: fix spelling of Jim Weirich. [Fixes GH-577] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* main is not a pubic function, use _start insteadnaruse2014-03-251-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-03-26svn2014-03-251-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * addr2line.c (rb_dump_backtrace_with_lines): a function to get mustnaruse2014-03-252-1/+8
| | | | | | | be a function in the main executable, whose absolute path is not available by dladdr, and ruby get it by /proc/self/exe on Linux. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e