nobu
612b74343e
* string.c (str_utf8_nth): no count_utf8_lead_bytes_with_word
...
optimization for short string. [ruby-core:26787]
* string.c (str_utf8_offset): str_utf8_nth never return NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-18 01:17:11 +00:00
nobu
e43c0bde53
* string.c (str_utf8_nth): fixed overrun. [ruby-core:26787]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-17 23:41:44 +00:00
marcandre
54b5ac5663
* string.c (rb_str_each_line): rdoc fix
...
* ext/bigdecimal/bigdecimal.c (#infinite?, #nonzero?): rdoc fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-09 06:50:29 +00:00
nobu
f41eaf8431
* random.c (rb_hash_start): moved from string.c.
...
* random.c (Init_RandomSeed2): register global address before set.
* random.c (Init_RandomSeed): initialize hashseed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 23:50:51 +00:00
naruse
a1fc9cd582
* string.c (rb_str_upto): make next object before yield its block.
...
fix: can modify original begin string of String#upto.
[ruby-dev:26384] [ruby-dev:39626] #2327
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 15:16:55 +00:00
matz
104c5f6b55
* string.c (trnext): detect empty range and raise exception.
...
[ruby-dev:39108]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-30 09:58:25 +00:00
nobu
2aa4d69d78
* string.c (rb_str_sub_bang): trivial optimization.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-29 19:44:58 +00:00
marcandre
705c567194
* string.c: rdoc for <=>, casecmp
...
* bignum.c: rdoc for <=>
* file.c: ditto
* time.c: ditto
* compar.c: rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-28 04:50:09 +00:00
nobu
121d15ddda
* string.c (chopped_length): get rid of unexpected exception.
...
see [ruby-core:26336].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-27 07:36:54 +00:00
akr
775174bb76
fix a typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-17 11:12:05 +00:00
nobu
37531934e6
* parse.y (rb_intern3): check symbol table overflow.
...
[ruby-core:26092]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-15 07:57:40 +00:00
marcandre
499a59d543
* string.c (rb_check_string_type): rdoc fix [ruby-core:26084]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-14 13:41:33 +00:00
nobu
ec0e370eb5
* string.c (rb_str_inspect): copy by chunks.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-07 17:46:34 +00:00
naruse
be9766c37e
* string.c (rb_str_inspect): don't assign -1 to unsigned int.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-07 00:35:24 +00:00
matz
a120569068
* string.c (rb_str_upto): RDoc updated. a patch from Nobuhiro
...
IMAI <nov at yo.rim.or.jp> in [ruby-dev:39440]. [ruby-dev:39439]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-06 15:58:12 +00:00
matz
40229f892c
* array.c (rb_ary_{times, shuffle_bang, sample}): reducing macro
...
calls inside of the loop by keeping pointers in local
variables. a patch from Masahiro Kanai (CanI) in [ruby-dev:39406].
It was found and fixed at Security and Programming camp 2009.
* string.c (rb_str_{times, split_m}): ditto.
* struct.c (rb_struct_{getmember, set, aref_id, aset_id}, {make,
inspect}_struct, recursive_{equal, hash, eql}): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-05 14:35:39 +00:00
naruse
5b2d54be66
Escape as \x{XXXX} other than Unicode chars.
...
* string.c (rb_str_inspect): escape as \x{XXXX} when the encoding is
other than Unicode. [ruby-dev:39388]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 15:02:59 +00:00
naruse
3058eec581
* string.c (rb_str_inspect): dump as \uXXXX when the
...
string is in Unicode. [ruby-dev:39388]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-29 00:34:06 +00:00
naruse
e0af046ad0
* hash.c (rb_f_getenv): use rb_filesystem_str_new_cstr
...
instead of rb_str_new2.
ENV['PATH'].encoding should be Filesystem Encoding
because its content is related to filesystem.
see [ruby-dev:39393]
* hash.c (env_fetch): ditto.
* string.c (rb_filesystem_str_new): defined.
* string.c (rb_filesystem_str_new_cstr): ditto.
* include/ruby/intern.h (rb_filesystem_str_new): added.
* include/ruby/intern.h (rb_filesystem_str_new_cstr): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-28 19:24:18 +00:00
nobu
37c552e550
* string.c (str_buf_cat2): optimize since all second arguments are
...
constant literals.
* string.c (str_cat_char): unused now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-27 03:01:44 +00:00
nobu
fd58dba97f
* string.c (rb_hash_{uint{32,},end}): removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-27 02:58:37 +00:00
naruse
036c701bad
String#inspect's encoding should be fixed.
...
* string.c (rb_str_inspect): result's encoding should be fixed.
If default_internal is not nil, the encoding is default_internal.
Else if default_external is not nil, the encoding is default_external.
But the encoding is not ASCII-compatible, the encoding is replaced by
US-ASCII.
Characters in ASCII-incompatible encoding or non ASCII characters
in other than the encoding will be \xXX escaped.
* string.c (str_buf_cat2): defined.
* string.c (prefix_escape): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 20:17:52 +00:00
ko1
6ed425d55b
* string.c: use rename-macro instead of RUBY_ALIAS_FUNCTION_TYPE.
...
Because build causes failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 17:02:43 +00:00
nobu
f2103ee4a9
* st.c: moved murmur hash from string.c. [ruby-dev:39376]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 14:29:13 +00:00
nobu
bf4ab7f610
* string.c (hash): updated to MurmurHash 2.0 2009-09-19.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 07:48:33 +00:00
nobu
8367245839
* string.c (rb_hash_start): fixed shift width on 128bit platform.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-26 07:32:03 +00:00
nobu
1b541acd69
* string.c (rb_str_upto): keep first width. [ruby-dev:39361]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-23 04:14:23 +00:00
nobu
bdde51172c
* string.c: added rdocs for symbol.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18 15:42:59 +00:00
nobu
ffcd041c7a
* string.c: fixed types.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18 15:17:17 +00:00
naruse
a8154060ab
Use rb_isspace for ASCII-incompatible strings.
...
* string.c (rb_str_split_m): use rb_isspace when the string
may be ASCII-incompatible.
(rb_str_lstrip_bang): ditto.
(rb_str_rstrip_bang): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-15 05:27:29 +00:00
matz
5860ba548e
* string.c (rb_str_lstrip_bang): use ascii_isspace(). [ruby-dev:39322]
...
* string.c (rb_str_rstrip_bang): ditto.
* string.c (rb_str_split_m): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 18:10:00 +00:00
naruse
011776b4a6
* string.c (rb_str_inspect): use rb_enc_mbc_to_codepoint
...
because we already knew char is found and got length.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 01:11:05 +00:00
nobu
31b7ae00c0
* include/ruby/st.h (st_hash_func): use st_index_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 13:10:04 +00:00
matz
b21088b431
* string.c (rb_str_upto): generate numerical sequence when
...
characters in both edges are all digits. [ruby-talk:343186]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 22:43:48 +00:00
ko1
8e8e34319b
* insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h: check
...
definition of (classes)#=== for case/when optimization.
Fix Bug #1376 [ruby-core:23190].
* string.c (Init_String), bignum.c (Init_Bignum),
numeric.c (Init_Numeric): define String#===, Symbol#===,
Bignum#===, Fixnum#===, Float#=== as same as (classes)#==.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-12 05:55:06 +00:00
nobu
265bd9e661
* string.c (rb_str_new_frozen): must not change encoding of frozen
...
shared string. [ruby-dev:39068]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-12 04:00:03 +00:00
naruse
8cdfbfd844
* string.c (tr_trans): change condition of singlebyte optimization.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-01 10:25:48 +00:00
naruse
c4641d6a00
Can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612]
...
* string.c (tr_trans): can't use singlebyte optimization when
the replacement is multibyte. [ruby-core:24612]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 20:36:04 +00:00
nobu
33151fcfe4
* string.c (rb_str_hash_cmp): got rid of overflow.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:43:30 +00:00
naruse
6a3931e0f6
Check pos and strlen on Regexp#index(str, pos) [ruby-core:23660]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-14 08:30:54 +00:00
matz
a5e227edfe
* hash.c (rb_hash_hash): documentation fix. a patch from
...
Marc-Andre Lafortune. [ruby-core:23943]
* object.c (rb_mod_cmp): ditto.
* range.c (range_eq): ditto.
* string.c (rb_str_partition, rb_str_rpartition): ditto.
* struct.c (rb_struct_s_def): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-01 21:20:44 +00:00
matz
5d7a215f6e
* re.c (reg_match_pos): adjust offset based on characters, not
...
bytes. [ruby-dev:38722]
* string.c (rb_str_offset): new function.
* string.c (rb_str_index_m): no call to rb_reg_adjust_startpos().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 09:06:48 +00:00
ko1
3caa4ee5e5
* array.c (rb_ary_memsize): added.
...
* io.c (rb_io_memsize): added.
* regcomp.c (onig_memsize): added.
* string.c (rb_str_memsize): added.
* transcode.c (rb_transcoding_memsize, rb_econv_memsize): added.
* variable.c (rb_geneic_ivar_memsize): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 22:36:27 +00:00
nobu
7915aed875
* string.c (str_replace_shared): shared target must be frozen.
...
[ruby-core:23727]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-11 17:41:27 +00:00
matz
c5949a0e58
* string.c (rb_str_gsub_bang): modify check at the beginning.
...
[ruby-core:23662] ref [ruby-core:23657]
* string.c (rb_str_rstrip_bang): ditto. [ruby-core:23657]
* string.c (rb_str_chop_bang): ditto.
* string.c (rb_str_chomp_bang): ditto.
* string.c (rb_str_reverse_bang): modify check added. [ruby-core:23671]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-02 15:24:23 +00:00
nobu
5ac1389aea
* string.c (rb_str_each_char, rb_str_each_codepoint): string
...
length must be long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25 18:38:46 +00:00
matz
970cfee510
* string.c (rb_str_hash): avoid calling rb_enc_str_asciionly_p().
...
* string.c (rb_str_replace): avoid redundant calling rb_str_new4().
* string.c (str_replace): factor out replacement from
rb_str_replace() without type check nor discarding the
destination contents.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25 00:43:23 +00:00
nobu
d629684bb9
* string.c (rb_str_rpartition): ditto.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-24 23:06:57 +00:00
nobu
7a938f98f9
* string.c (rb_str_partition): should use the converted result. a
...
patch from Marc-Andre Lafortune at [ruby-core:23540].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-24 22:50:11 +00:00
matz
0fd3bdac6a
* string.c (rb_str_each_char): return original string.
...
[ruby-core:23499]
* string.c (rb_str_each_codepoint): protect string from
modification.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-23 15:59:09 +00:00