nobu
d4ef0b4794
test_regexp.rb, test_string.rb: use assert_separately
...
* test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): use assert_separately
to suppress a warning.
* test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-01 07:27:11 +00:00
nobu
2374241752
test_regexp.rb, test_string.rb: suppress warnings
...
* test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): suppress
a warning.
* test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-01 05:48:57 +00:00
sorah
c4b4e77c72
* insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden
...
before calling rb_reg_match().
* test/ruby/test_string.rb: Test for above.
* vm.c (vm_init_redefined_flag): Add BOP flag for String#=~
[ruby-core:57385] [Bug #8953 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 07:58:28 +00:00
charliesome
7eafeaa313
* string.c (fstring_cmp): take string encoding into account when
...
comparing fstrings [ruby-core:57037] [Bug #8866 ]
* test/ruby/test_string.rb: add test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-05 09:07:48 +00:00
charliesome
6fd9000076
* include/ruby/ruby.h: add RSTRING_FSTR flag
...
* internal.h: add rb_fstring() prototype
* parse.y (str_suffix_gen): deduplicate frozen string literals
* string.c (rb_fstring): deduplicate frozen string literals
* string.c (rb_str_free): delete fstrings from frozen_strings table when
they are GC'd
* string.c (Init_String): initialize frozen_strings table
* test/ruby/test_string.rb: test frozen strings are deduplicated
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-05 04:49:16 +00:00
nobu
a94833eb50
test_string.rb: yet another test
...
* test/ruby/test_string.rb (TestString#test_frozen_string_adjacent):
option is allowed after the last string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-02 14:56:03 +00:00
nobu
306cf3ac03
parse.y: valid suffix word only
...
* parse.y (parser_str_options): use valid suffix word only, as well as
numeric literal, for the backward comatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-02 14:46:25 +00:00
nobu
57d06d7b3f
test_string.rb: remove duplicated code
...
* test/ruby/test_string.rb (TestString#test_frozen_dstring): remove
duplicated assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-02 14:33:56 +00:00
charliesome
a056098cb7
* NEWS: Add note about frozen string literals
...
* compile.c (case_when_optimizable_literal): optimize NODE_LIT strings
in when clauses of case statements
* ext/ripper/eventids2.c: add tSTRING_SUFFIX
* parse.y: add 'f' suffix on string literals for frozen strings
* test/ripper/test_scanner_events.rb: add scanner tests
* test/ruby/test_string.rb: add frozen string tests
[Feature #8579 ] [ruby-core:55699]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-02 07:11:41 +00:00
nobu
3341db313a
test_string.rb: Bug #8642
...
* test/ruby/test_string.rb (test_split): test for r41994.
[ruby-core:56036] [Bug #8642 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-16 09:45:00 +00:00
shugo
1474dd064b
* test/-ext-/test_printf.rb, test/rss/test_parser.rb,
...
test/ruby/test_array.rb, test/ruby/test_hash.rb,
test/ruby/test_m17n.rb, test/ruby/test_marshal.rb,
test/ruby/test_object.rb, test/ruby/test_string.rb: don't use
untrusted?, untrust, and trust to avoid warnings in case $VERBOSE is
true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-13 05:41:44 +00:00
naruse
a5fadaadd3
* string.c (rb_str_inspect): refix r40413, on Ruby 1.9 usual character
...
escape uses hex/Unicode escapes, so fix to use Unicode escape on
Unicode strings and hex on others. [ruby-core:54458] [Bug #8290 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 12:24:56 +00:00
knu
ade2ba57a2
* string.c (rb_str_inspect): NUL should not be represented as
...
"\0" when octal digits may follow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 00:52:17 +00:00
knu
014236612a
Fix String#rpartition(/re/) against a multibyte string.
...
* string.c (rb_str_rpartition): Fix String#rpartition(/re/)
against a multibyte string. [Bug #8138 ] [ruby-dev:47183]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-24 09:32:06 +00:00
naruse
2d3808eeac
* string.c (str_byte_substr): don't set coderange if it's not known.
...
[Bug #7954 ] [ruby-dev:47108]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 12:18:48 +00:00
nobu
9156a04d91
test_string.rb: defer ENUMERATORS_WANTARRAY to next major
...
* test/ruby/test_string.rb (TestString::ENUMERATOR_WANTARRAY): defer
new behavior to next major.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 08:10:44 +00:00
nobu
246c3a0b7c
test_string.rb: ENUMERATORS_WANTARRAY
...
* test/ruby/test_string.rb (TestString::ENUMERATOR_WANTARRAY): name
test branching codition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 08:10:40 +00:00
glass
3b983407ef
* string.c (rb_str_enumerate_lines): fix invalid byte sequence error
...
when a separator is passed. The patch is from yoshidam (Yoshida
Masato).
[Bug #7646 ] [ruby-dev:46827]
* test/ruby/test_string.rb: a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-05 04:45:32 +00:00
nobu
020cc0ad5c
string.c: compare with to_str
...
* string.c (rb_str_cmp_m): try to compare with to_str result if
possible before calling <=> method. [ruby-core:49279] [Bug #7342 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 08:43:52 +00:00
nobu
1dbc720c0d
string.c: always fixed value
...
* string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 08:43:42 +00:00
knu
3f9b0936aa
String#{lines,chars,codepoints,bytes} now return an array.
...
* string.c (rb_str_each_line, rb_str_lines): String#lines now
returns an array instead of an enumerator. Passing a block is
deprecated but still supported for backwards compatibility.
Based on the patch by yhara. [Feature #6670 ]
* string.c (rb_str_each_char, rb_str_chars): Ditto for
String#chars.
* string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for
String#codepoints.
* string.c (rb_str_each_byte, rb_str_bytes): Ditto for
String#bytes.
* NEWS: Add notes for the above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-24 18:46:15 +00:00
knu
61e21e82ad
Apply performance improvement to short byte array search.
...
* re.c (rb_memsearch_ss): Apply performance improvement to short
byte array search for platforms without memmem(3).
[Feature #6311 ] [ruby-dev:45530]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 05:23:12 +00:00
knu
9cbaeed6ed
Add some corner cases to tests for String#index.
...
* test/ruby/test_string.rb (TestString#test_index): Add some
corner cases to tests for String#index, which might fail if ruby
directly used a buggy memmem(3) implementation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 05:02:30 +00:00
shyouhei
5821c75148
revert r37710, requested by Tadayoshi Funaba [ruby-dev:46575]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-21 05:09:19 +00:00
tadf
2630ad09bd
* bignum.c (rb_cstr_to_inum): should accept underscores of
...
sequence of two or more when unchecked mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-18 11:55:34 +00:00
nobu
104d173752
test_string.rb: missing test
...
* test/ruby/test_string.rb (test_each_codepoint): missing test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:31 +00:00
nobu
88e326edda
test_string.rb: suppress warnings
...
* test/ruby/test_string.rb (test_match_method): use unique objects in
TestString and TestString2.
* test/ruby/test_string.rb (test_ascii_incomat_inspect): suppress
warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:29 +00:00
nobu
eddfa31bda
test_string.rb: highlighting
...
* test/ruby/test_string.rb (test_LSHIFT, test_succ): get rid of
ruby-mode.el confusion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-11 06:50:26 +00:00
naruse
64989fa5a2
* string.c (rb_str_concat): use memcpy to copy a string which contains
...
NUL characters. [ruby-core:47751] [Bug #7090 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-30 12:20:09 +00:00
tenderlove
ac37fc37b1
test String#each_line when separator is longer than string.
...
Thanks Charles Nutter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-07 00:43:44 +00:00
nobu
38b8afcf5a
* string.c (rb_str_start_with, rb_str_end_with): raise an error if
...
an argument is not convertible to a String.
[ruby-core:40623][Bug #5536 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-02 01:34:11 +00:00
nobu
ab9c982cc0
* string.c (str_new_empty): should copy also the encoding as an
...
empty substring. [ruby-dev:45441][Bug #6206 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 04:13:54 +00:00
naruse
73a184cc3a
* string.c (tr_setup_table): fix multiple non latin argument for
...
non latin (over 256 characters) tr-like methods.
[ruby-core:43371] [Bug #6167 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-25 09:20:04 +00:00
nobu
163ab0a4da
* bignum.c (rb_str_to_inum): must be ASCII compatible encoding as
...
well as String#hex and String#oct. [ruby-core:43566][Bug #6192 ]
* string.c (rb_must_asciicompat): check if ASCII compatible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 04:19:24 +00:00
kazu
ea6511c63a
* string.c (trnext): fix bug with string ending with '\\'.
...
[ruby-dev:45374][Bug #6160 ]
* test/ruby/test_string.rb (TestString#test_delete): test for
above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 16:49:44 +00:00
nobu
ba20fe6289
* string.c (trnext): should advance char-wise.
...
[ruby-core:43335][Bug #6156 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 11:06:27 +00:00
nobu
4525bcae0b
subclass of String
...
* test/ruby/test_string.rb (TestString2): tests for subclass of
String.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 14:05:28 +00:00
matz
1df42597d1
cancel subversion backfire. sorry
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:44:45 +00:00
matz
eb807d42ec
* gc.c (rb_gc_set_params): allow GC parameter configuration by
...
environment variables. based on a patch from funny-falcon at
https://gist.github.com/856296 , but honors safe level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:39:39 +00:00
nobu
cddcffb8f9
* string.c (str_byte_substr): return nil for negative length.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-02 14:20:06 +00:00
naruse
6016591e1c
* string.c (rb_str_byteslice): the resulted encoding should keep
...
original encoding. this also fixes the encoding when the result
shares internal string. [ruby-core:35376]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-01 07:02:08 +00:00
naruse
b8b48f9d58
* string.c (rb_str_byteslice): Add String#byteslice. [ruby-core:35376]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-01 01:35:17 +00:00
naruse
366e1c3884
* array.c (inspect_ary): don't taint the inspected result of a
...
recursive array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-15 07:08:18 +00:00
drbrain
edaf78dfb6
Ensure result encoding is the same as input encoding for String#gsub. [Bug #4340 ].
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-06 03:54:50 +00:00
naruse
2b79366f52
* string.c (rb_str_inspect): fix: extra back slash is added when
...
the string is dummy encoding and includes \x22 or \x5C.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-11 19:03:26 +00:00
kazu
dd77ae9f6c
* test/ruby/test_string.rb (TestString#test_scan): add a test for
...
[ruby-core:33338] #4087 .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-06 10:01:45 +00:00
nobu
417ea3a3c3
* string.c (rb_memhash): zero-filled strings should return
...
different values. [ruby-core:33500]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 05:36:39 +00:00
nobu
94e6c0c233
* string.c (rb_str_inspect): fix for ascii-compatible external
...
encoding and different encoding string. [ruby-core:33283]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 12:30:58 +00:00
nobu
6ade3a4291
* string.c (rb_str_inspect): append for each chars instead of bulk
...
copy if encoding conversion is needed. [ruby-core:33283]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 09:33:32 +00:00
naruse
ded94d1c8c
* numeric.c (ruby_float_step): fix Numeric#step with infinity unit
...
doesn't works well. [ruby-core:32779]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 19:17:49 +00:00