summaryrefslogtreecommitdiff
path: root/string.c
AgeCommit message (Collapse)Author
2007-02-23* parse.y, compile.c, gc.c, insns.def, intern.h, iseq.c, node.h,matz
object.c, string.c, variable.c, vm_macro.def: revert private instance variable feature, which is postponed until next major release. * marshal.c: TYPE_SYMBOL2 removed; MARSHAL_MINOR reverted back to 8th version. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23* string.c (rb_str_ord): need not to check string length; ordmatz
returns a codepoint for the first character in the string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-14* re.c (reg_operand): allow symbols to be operands for regularmatz
expression matches. * string.c (Init_String): allow Symbol#===. * lib/date/format.rb (Date::Format::Bag::to_hash): string added prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-04* parse.y (rb_compose_ivar2): function to create a new ivar2matz
symbol from a symbol and a class. back-ported from matzruby. * parse.y (rb_decompose_ivar2): reverse function of rb_compose_ivar2(). * marshal.c (w_symbol): support class local instance variables. * marshal.c (r_object0): ditto. * compile.c (defined_expr): ditto. * compile.c (iseq_compile_each): ditto. * insns.def: add two new instructions: getinstancevariable2 and setinstancevariable2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02* ruby.h (SYMBOL_P): make Symbol immediate again for performance. matz
* string.c: redesign symbol methods. * parse.y (rb_id2str): store Strings for operator symbols. [ruby-dev:30235] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-30* string.c (rb_str_sub_bang): calling rb_str_modify() should be justusa
before actually modifying the string. fixed: [ruby-dev:30211] (originally reported by zunda) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-16* eval_proc.c (rb_proc_new): added.ko1
* string.c (sym_to_proc): supported. * vm.c (invoke_block, th_invoke_yield, th_invoke_proc): fix to support rb_proc_new. * yarvcore.c: add a test code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-08* string.c (rb_str_upto): use RSTRING_LEN().matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-08* string.c (rb_str_upto): String#upto from empty string makesmatz
inifinite loop. [ruby-core:09864] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 * Merge YARVko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-21* string.c (rb_str_ord): typo fixed. reported from Korneliusmatz
Kalnbach <murphy@rubychan.de>. [ruby-core:09621] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-21* string.c (rb_str_slice_bang): rdoc description bug fixed.matz
[ruby-core:09754] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-11* string.c (rb_str_aset): index double decode problem.matz
[ruby-core:09695] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-06* string.c (Init_String): remove duplicated definition ofmatz
Symbol#to_s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-06* parse.y (arg_dup_check): vid may be nameless internal id.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-02* string.c: class Symbol is no longer subclass of String. alsomatz
covers [ruby-core:09366] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-01* string.c (hash): use Bob Jenkins' hash algorithm.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-22* string.c (rb_str_upcase, rb_str_downcase, rb_str_downcase,matz
rb_str_upcase_bang, rb_str_downcase_bang, rb_str_swapcase_bang): add RDoc description that case conversion to be effective only in ASCII region. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-22* string.c (rb_str_substr): should be infected with only originalnobu
string, but not the shared string. fixed: [ruby-core:09152] * strnig.c (rb_str_new4): keep shared string untainted when orignal string is tainted. fixed: [ruby-dev:29672] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-18* string.c (rb_str_each_line): String#lines now works when a blockmatz
is given. in other words, lines become an alias to each_line. [ruby-core:09218] * string.c (rb_str_each_byte): ditto for bytes in place of lines. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-16* string.c (rb_str_lines): now takes optional argument for thematz
line separator. * io.c (rb_io_lines, rb_io_bytes): new methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-12* string.c (rb_str_partition): RDoc update. a patch frommatz
Mauricio Fernandez <mfp at acm.org>. [ruby-core:09160] * hash.c (rb_hash_compare_by_id): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-07* string.c (rb_str_scan): small documentation fix.matz
[ruby-core:09007] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-02* string.c (rb_str_lines): returns an Enumerator instead of anmatz
array of lines. * string.c (rb_str_bytes): a new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-27* string.c (rb_str_startwith): rename startwith? to start_with?,matz
endwith? to endwith?, respectively. [ruby-talk:216685] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-26* array.c (rb_ary_shift): shift/unshift performance boost patch,matz
based on the patch from Eric Mahurin <eric_mahurin at yahoo.com>. [ruby-core:05861] * array.c (rb_ary_unshift_m): ditto. * array.c (ary_make_shared): ditto. * array.c (RESIZE_CAPA): ditto. * array.c (rb_ary_free): new function to free memory. code moved from gc.c. * string.c (rb_str_free): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-22* string.c (rb_str_partition): no need to call rb_call_super(),matz
since String is no longer includes Enumerable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21* string.c (str_new3): embed shorter strings more eagerly.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21* string.c (rb_str_startwith): a new method to check if a stringmatz
starts with given prefix. * string.c (rb_str_endwith): the opposite of String#startwith?. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21* string.c (Init_String): Strings are no longer Enumerable. usematz
each_lines or lines method explicitly. * string.c (Init_String): remove each method. use each_lines. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21* string.c (rb_str_partition): RDoc typo fixed. [ruby-core:08898]matz
* string.c (rb_str_rpartition): fixed separation seek bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-21* string.c (rb_str_lines): new method to split a string into lines.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-20* string.c (rb_str_partition): a new method to separate the stringmatz
by a separator. taken from Python 2.5. * string.c (rb_str_rpartition): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-20* string.c (sym_eql): fail early to gain performance.matz
* string.c (sym_hash): cache hash value in aux.shared if possible. * gc.c (rb_obj_id): no need to treat symbols specially. * lib/fileutils.rb (FileUtils::FileUtils): singleton_methods() no longer return an array of strings, but of symbols. * lib/delegate.rb (DelegateClass): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-14* string.c (rb_str_intern): allow zero length symbols.matz
[ruby-core:08861] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-14* string.c (rb_str_intern): raise SecurityError only when $SAFEmatz
level is greater than zero. [ruby-core:08862] * parse.y (rb_interned_p): new function to check if a string is already interned. * string.c (str_to_id): use rb_str_intern(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-13* string.c (rb_str_intern): allow symbols to contains nul.matz
* string.c (sym_inspect): symbol may contain nul. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-13* string.c (rb_str_intern): prohibit interning tainted string.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-10* string.c (sym_equal): "sym == str" should compare them asmatz
strings. [ruby-dev:29554] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-09* file.c (rb_f_test): test(0) should not have any specialmatz
meaning. [ruby-dev:29425] * file.c (rb_f_test): properer error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-08* string.c (str_alloc): should allocate a String object, even whenmatz
asked to allocate a Symbol object. [ruby-dev:29529] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-06* string.c (sym_equal): override. check equivalence.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02* string.c (Init_String): undef Symbol#new.matz
* struct.c (rb_struct_s_def): wrong symbol detection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02* string.c (str_to_id): a bug caused by premature optimization.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02* object.c (Init_Object): move symbol related code to string.cmatz
* string.c (Init_String): Symbol as subclass of String. * parse.y (rb_intern2): handle symbol as strings. * string.c (str_new): substring of symbols are mere strings, not symbols. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-02* ruby.h (struct RArray): embed small arrays.matz
(RARRAY_LEN): defined for accessing array members. (RARRAY_PTR): ditto. * array.c: use RARRAY_LEN and RARRAY_PTR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-01string.c (rb_str_resize): typo fixedmatz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-01* string.c (rb_str_resize): should copy embedded string tomatz
malloc'ed buffer. a patch from <nobu at ruby-lang.org> in [ruby-dev:29369]. fixed: [ruby-dev:29368] * string.c (rb_str_ord): use %ld specifier since STRING_LEN() is a long. [ruby-dev:29369] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31* ruby.h (struct RString): embed small strings.matz
(RSTRING_LEN): defined for accessing string members. (RSTRING_PTR): ditto. * string.c: use RSTRING_LEN and RSTRING_PTR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-30* numeric.c (flo_hash): improve collision.nobu
* string.c (rb_memhash): new generic function to calculate hash value for memory chunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e