aboutsummaryrefslogtreecommitdiffstats
path: root/string.c
Commit message (Collapse)AuthorAgeFilesLines
* update force_encoding document.akr2007-12-301-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_regsub): returns the given string itself if nothingnobu2007-12-291-2/+13
| | | | | | | | | | | changed. * string.c (rb_str_sub_bang): keeps code-range as possible. * string.c (str_gsub): adjusts code-range. [ruby-core:14566] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_codelen): show codepoint in error message.akr2007-12-271-3/+0
| | | | | | | | | | * include/ruby/encoding.h (rb_enc_codelen): comment it returns positive integer. * string.c (rb_str_concat): rb_enc_codelen doesn't return 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_casecmp): fixed using a wrong variable.nobu2007-12-271-1/+1
| | | | | | | [ruby-list:44402] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (Init_String): defines chars method.nobu2007-12-261-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.h (rb_enc_mbc_to_codepoint): wrapper fornobu2007-12-251-2/+4
| | | | | | | | | ONIGENC_MBC_TO_CODE(). * string.c (rb_str_succ): deal with invalid sequence as binary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_each_line): don't call rb_enc_codepoint with emptyakr2007-12-251-1/+1
| | | | | | | string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_inspect): don't call rb_enc_codepoint with emptyakr2007-12-251-1/+2
| | | | | | | | | | string. fix '#'.inspect. * encoding.c (rb_enc_codepoint): raise on empty string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_succ): fix for string with non-alphanumeric chars.nobu2007-12-251-4/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_enc_left_char_head): new utility macro.matz2007-12-241-3/+2
| | | | | | | | | | | | | * include/ruby/encoding.h (rb_enc_right_char_head): ditto. * io.c (appendline): does multibyte RS search in the function. * io.c (prepare_getline_args): RS may be nil. * io.c (rb_io_getc): should process character based on external encoding, when transcoding required. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_comparable): fixed to keep transitivity.matz2007-12-241-4/+14
| | | | | | [ruby-dev:32693] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): should associate new encoding if modified.matz2007-12-231-2/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new_shared): was setting embedding flag of wrongmatz2007-12-231-1/+1
| | | | | | string object. [ruby-dev:32685] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_comparable): comparison including brokenmatz2007-12-231-6/+8
| | | | | | coderange strings do not consider encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (sym_call): use exact argument array interface.nobu2007-12-231-6/+4
| | | | | | | [ruby-core:14279] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add rdoc.akr2007-12-221-2/+22
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_buf_append): improvement for non-broken codednobu2007-12-211-0/+12
| | | | | | | strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_succ): retry increasing until valid char is found.nobu2007-12-211-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_chomp_bang): avoid unnecessary loop usingmatz2007-12-211-6/+2
| | | | | | rb_enc_prev_char(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_is_ascii_only_p): new method ascii_only?.akr2007-12-211-0/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb,akr2007-12-211-1/+1
| | | | | | | | | | | compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c, ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb, ext/openssl/ossl_bn.c, numeric.c, vm.c, benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal" for non law violation context. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): wrong encoding check for tree strings.matz2007-12-201-4/+8
| | | | | | | * test/ruby/test_m17n.rb (TestM17N::test_tr_s): "invalid mbstring sequence" is not an error to be tested. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_index): wrong starting position.matz2007-12-201-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_each_line): should consider rslen.matz2007-12-191-1/+6
| | | | | | | | | | | | | | * string.c (rb_str_buf_append): should propagate encoding. * string.c (rb_str_each_line): ditto. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): should check encoding as well. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): empty array can not propagate encoding; should not check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_rindex_m): too much adjustment.matz2007-12-191-1/+0
| | | | | | | | | | * re.c (reg_match_pos): pos adjustment should be based on characters. * test/ruby/test_m17n.rb (TestM17N::test_str_insert): test updated to check negative offset behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_rindex): comparison length should be based onmatz2007-12-191-0/+1
| | | | | | bytes, not characters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_chomp_bang): wrong adjust condition.matz2007-12-191-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_sublen): adjust position if position is not at thematz2007-12-191-6/+19
| | | | | | | | | head of a character. * string.c (rb_str_chomp_bang): check if match start at the head of a character. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_regsub): should set checked encoding.nobu2007-12-191-3/+4
| | | | | | | * string.c (rb_str_sub_bang): applied r14212 too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_justify): should propagate encoding from padmatz2007-12-191-1/+1
| | | | | | string too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_splice): propagate encoding.matz2007-12-181-1/+4
| | | | | | * string.c (rb_str_subpat_set): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_nth): need not to raise out-of-range exception.matz2007-12-181-12/+10
| | | | | | | * test/ruby/test_m17n.rb (TestM17N::test_str_aref_len): removed debug print. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_initialize): raise error if non-Unicode fixedmatz2007-12-171-2/+1
| | | | | | | | | | encoding option is specified for regexp literals with \u{} escapes. * string.c (rb_str_squeeze_bang): should squeeze multibyte characters as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (scan_once): need no encoding compatibility check.matz2007-12-171-4/+1
| | | | | | | | | | it's done inside of re_reg_seach(). * string.c (rb_str_split_m): ditto. * re.c (rb_reg_regsub): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_index): check if substring is broken.matz2007-12-171-1/+8
| | | | | | | | * string.c (rb_str_rindex): ditto. * string.c (rb_str_succ): should carry over. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_enc_str_asciionly_p): use rb_enc_str_coderange.akr2007-12-171-10/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_enc_str_coderange): set ENC_CODERANGE_BROKEN usingakr2007-12-171-32/+20
| | | | | | | | | rb_enc_precise_mbclen. (rb_str_valid_encoding_p): just check coderange is ENC_CODERANGE_BROKEN or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ENC_CODERANGE_VALID): rename fromakr2007-12-171-2/+2
| | | | | | | | | ENC_CODERANGE_8BIT. * string.c (rb_enc_str_coderange): follow the renaming. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_find): wrong condition fixed.matz2007-12-171-4/+6
| | | | | | | | | * sprintf.c (rb_str_format): check encoding based on result, not the format string. * string.c (rb_str_upto): add encoding check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_f_p): RDoc update. a patch from murphy <murphy AT rubychan.de>.matz2007-12-141-1/+1
| | | | | | [ruby-core:14010] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_cmp): encoding aware comparison.matz2007-12-141-13/+35
| | | | | | * string.c (rb_str_casecmp): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_nth): direct jump if string is 7bit only. greatmatz2007-12-131-12/+22
| | | | | | | | performance boost for worst case. * string.c (str_strlen): direct size if string is 7bit only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_shared_replace): make str noembed after free.akr2007-12-131-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_succ): should not enter infinite loop formatz2007-12-131-2/+7
| | | | | | non-ASCII, non-alphanumeric character at the bottom. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_gsub): should copy encoding to the result.matz2007-12-131-3/+5
| | | | | | * sprintf.c (rb_str_format): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_split_m): need not to check encoding if regexpmatz2007-12-131-6/+5
| | | | | | | | | | | | is empty. * string.c (rb_str_justify): associate encoding of original to the result. * string.c (rb_str_chomp_bang): need to check encoding of record separator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c, regerror.c, string.c, parse.y, ruby.c, file.c:akr2007-12-121-2/+2
| | | | | | | | use capital letter for \xHH notation. [ruby-dev:32511] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_regsub): should copy encoding.nobu2007-12-121-0/+9
| | | | | | | | * string.c (rb_str_sub_bang, str_gsub): should check and copy encoding to be replaced. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_tmp_new): creates hidden temporary buffer.nobu2007-12-101-3/+9
| | | | | | | | | | | | | | * transcode.c (transcoding): added a pointer to function to flush. * transcode.c (transcode_loop): do not use string internal. [ruby-dev:32512] * transcode.c (str_transcode): allow Encoding objects. * transcode_data.h (BYTE_LOOKUP): use actual struct name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_insert): should not add length in bytes to index innobu2007-12-101-3/+3
| | | | | | | chars. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e