Commit graph

69 commits

Author SHA1 Message Date
usa
998a398189 merge revision(s) 37201,37202:
* test/ruby/test_regexp.rb
	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): ignoring
	  warnings are already set in setup method.

	* test/ruby/test_regexp.rb
	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): use
	  Regexp.new instead of literal to ignore a parser warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 00:48:04 +00:00
usa
c3e874d73d merge revision(s) 37175:
* regparse.c (parse_char_class): should match with a hyphen after a
	  range in a character class.

	* test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong
	  test.

	* test/ruby/test_regexp.rb (TestRegexp#check): now can accept the
	  error message.

	* test/ruby/test_regexp.rb
	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): renamed
	  because the previous name was wrong.

	* test/ruby/test_regexp.rb
	  (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added
	  more test pattern.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-13 16:23:17 +00:00
usa
cc251c2f9f merge revision(s) 37171:
* test/ruby/test_regexp.rb
	  (TestRegexp#test_raw_hyphen_and_type_char_after_range): added new
	  test. ref [ruby-core:47115] [Backport #6853]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12 16:41:34 +00:00
naruse
660a3298f5 merge revision(s) 34821:
* regparse.c (add_code_range_to_buf0): wrong condition of duplicated
	  warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-26 17:28:37 +00:00
naruse
e0f8351d55 merge revision(s) 34236: [Backport #5890]
* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint
	  is invalid. [Feature #5855] [Bug #5863] [Bug #5864]

	* string.c (rb_str_concat): ditto.

	* string.c (rb_str_concat): set encoding as ASCII-8BIT when the string
	  is US-ASCII and the argument is an integer greater than 127.

	* regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.

	* enc/euc_jp.c (code_to_mbclen): ditto.

	* enc/shift_jis.c (code_to_mbclen): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 22:34:12 +00:00
tenderlove
89ef6628eb * re.c (Init_Regexp): added a constant for ARG_ENCODING_NONE
[ruby-core:35054]
* test/ruby/test_regexp.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-02 22:18:14 +00:00
naruse
f8f3585416 * regcomp.c (setup_tree): restart setup_tree() for a node whose
AnchorNode's type is ANCHOR_PREC_BEHIND or ANCHOR_PREC_BEHIND_NOT
  and divide_look_behind_alternatives() divided it to NT_ALT or
  NT_LIST. [ruby-core:33370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 03:28:48 +00:00
naruse
3c1f696a50 Remove a test for reverted feature r26701.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-19 05:11:37 +00:00
naruse
a0265b0662 * tool/enc-unicode.rb,
enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  Add Age property to regexp. [ruby-core:33019]
  patched by Ammar Ali, tested by Run Paint Run Run

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 05:32:45 +00:00
naruse
ce5827c6fb * regcomp.c: revert r26701; it introduces Bug #3681.
[ruby-core:31677]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-17 16:53:25 +00:00
nobu
aac4f022e2 * parse.y (parser_tokadd_escape): no similar messages twice.
[ruby-core:31048]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-08 03:41:30 +00:00
naruse
203ebcbb92 * re.c (rb_reg_expr_str): fix broken Regexp#inspect when it
is ASCII-8BIT and non-ASCII character.
  The length of character should be from original byte string.
  [ruby-core:31431]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-22 07:29:32 +00:00
naruse
b4608406f1 * regexec.c (onig_search): don't skip non-ANYCHARs when
.* fails to match. This causes to fail matching
  ANYCHAR_STAR with LOOK_BEHIND. This fix is workaround
  and disable the optimization. [ruby-dev:41851]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-15 06:55:42 +00:00
nobu
d514cd3ca0 * test/ruby/test_regexp.rb (test_dup_warn): read in UTF-8
encoding regardless environment.

* test/ruby/envutil.rb (invoke_ruby): add encoding option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 03:44:55 +00:00
nobu
953f511bb9 * test/ruby/test_{regexp,rubyoptions}.rb: trivial change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-16 08:21:28 +00:00
naruse
77f0c30612 Refix test_regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 04:48:42 +00:00
naruse
895b0d4cdb Refix for test_dup_warn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-15 01:50:48 +00:00
naruse
ca2402f5e4 retry to fix test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-13 18:53:27 +00:00
naruse
58f779170d try to fix test for boron.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-13 05:01:04 +00:00
naruse
3a80743ccf * re.c (rb_reg_expr_str): ASCII incompatible strings
must always escape or converted.

* re.c (rb_reg_expr_str): use rb_str_buf_cat_escaped_char
  when resenc is given: for Regexp#inspect or error message.

  * re.c (rb_reg_desc): add 'n' for ENCODING_NONE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-05 11:32:05 +00:00
nobu
3642fa1992 * regparse.c (onig_syntax_warn): do not use external strings as
printf format.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 10:26:01 +00:00
naruse
81c5ede3ca * regparse.c (add_code_range_to_buf0): fix false negative
warning when given range is just before previous range.
  [ruby-dev:41406]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-25 15:12:19 +00:00
naruse
0e586b35b8 * re.c (rb_reg_initialize_m): fix wrong index for the lang
option's value 'N'. reported by Masaya TARUI via IRC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-12 01:06:24 +00:00
nobu
921b2d1cfb * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):
use more descriptive assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 05:46:04 +00:00
nobu
2976ec58a4 * parse.y (regexp): check each fragments. [ruby-core:27374]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 04:44:58 +00:00
nobu
8a3201dae6 * test/ruby: make more ruby-mode.el friendly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 01:46:52 +00:00
mame
457c2c4a55 * regcomp.c (setup_tree, onig_compile): optimize .* at last by
converting into (?>.*), which does not backtrack.  [ruby-core:27791]

* test/ruby/test_regexp.rb: add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-17 12:36:41 +00:00
mame
d8d5e67184 * test/ruby/test_regexp.rb, test/ruby/test_symbol.rb,
test/ruby/test_variable.rb: add some tests (for coverage of
  compile.c).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-22 14:53:12 +00:00
naruse
35230b1a78 Add a test for [ruby-core:27247]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-21 09:17:55 +00:00
nobu
321c94af8e * iseq.c (prepare_iseq_build, rb_iseq_build_for_ruby2cext):
untrust mark array.  [ruby-core:26137]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-19 01:59:38 +00:00
nobu
7a063b7416 * test/ruby/test_regexp.rb (TestRegexp#test_parse_kg): suppress
warnings while tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-12 10:55:40 +00:00
naruse
866c79e2de * tool/enc-unicode.rb: parse range notation of UnicodeData.txt.
* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  follow above change. [ruby-dev:39444]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-08 02:49:11 +00:00
nobu
605e7d4a60 * re.c (update_char_offset): position should be long.
* re.c (match_hash, match_equal): new methods.  [ruby-core:24748]

* re.c (reg_match_pos, rb_reg_eqq, rb_reg_s_quote): get rid of use
  VALUE as int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-04 23:51:44 +00:00
naruse
a20bd463a8 * re.c (rb_reg_preprocess_dregexp): set encoding as ASCII-8BIT
when /n is specified and the embeded string is escaped text.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-27 06:10:30 +00:00
naruse
c0ec326b7b * regparse.c (add_ctype_to_cc_by_range): fix the first
character bigger than sb_out was dropped.

* test/ruby/test_regexp.rb (TestRegexp#test_posix_bracket):
  add tests for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-15 16:27:13 +00:00
naruse
249697855e \d, \s and \w are now non Unicode class. [ruby-dev:39026]
* include/ruby/oniguruma.h
  (ONIGENC_CTYPE_SPECIAL_MASK): added.
  (ONIGENC_CTYPE_D): ditto.
  (ONIGENC_CTYPE_S): ditto.
  (ONIGENC_CTYPE_W): ditto.

* regparse.c: \d, \s and \w are now non Unicode class.
  [ruby-dev:39026]
  (fetch_token_in_cc): use ONIGENC_CTYPE_[DSW] for \d/\s/\w.
  (fetch_token): ditto.
  (add_ctype_to_cc): add routines for ONIGENC_CTYPE_[DSW].
  (parse_exp): ditto.

* test/ruby/test_regexp.rb (TestRegexp#test_char_class):
  add tests for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-15 16:01:33 +00:00
naruse
d857a1b0d7 Fix test for previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-05 01:40:15 +00:00
akr
f414bd65ae * string.c (rb_str_subpat): accept capture name.
(rb_str_aref): follow above change.
  (rb_str_aref_m): pass the 2nd argument to rb_str_subpat.
  (rb_str_subpat_set): accept capture name.
  (rb_str_aset): follow above change.
  (rb_str_partition): ditto.
  (rb_str_aset_m): pass the 2nd argument to rb_str_subpat_set.

* include/ruby/intern.h (rb_reg_backref_number): declared.

* re.c (rb_reg_backref_number): defined.

  [ruby-core:21057]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-14 18:04:21 +00:00
yugui
1fe2fae259 * test/ruby/test_regexp.rb (TestRegexp#test_parse_curly_brace):
now accepts quantifier on anchrs agian by r20391.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-30 09:04:51 +00:00
matz
fcce99c52d * re.c (rb_reg_initialize_m): specify ARG_ENCODING_NONE instead of
ARG_ENCODING_FIXED for Regexp.new("", nil, "n").  [ruby-dev:36761]

* test/ruby/test_regexp.rb (TestRegexp#test_initialize): test
  updated.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 10:29:06 +00:00
akr
93ad576b05 * re.c (rb_reg_inspect): don't raise for uninitialized Regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 15:56:38 +00:00
mame
65670f9400 * enc/iso_8859_5.c: Large omicron should lowercase to small omicron.
* test/ruby/test_big5.rb, test/ruby/test_cp949.rb,
  test/ruby/test_euc_jp.rb, test/ruby/test_euc_kr.rb,
  test/ruby/test_euc_tw.rb, test/ruby/test_gb18030.rb,
  test/ruby/test_gbk.rb, test/ruby/test_iso_8859.rb,
  test/ruby/test_koi8.rb, test/ruby/test_shift_jis.rb,
  test/ruby/test_windows_1251.rb: new tests for encoding.

* test/ruby/test_utf16.rb, test/ruby/test_utf32.rb,
  test/ruby/test_regexp.rb: add tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-02 13:30:38 +00:00
mame
7eb625425c * re.c: fix SEGV by Regexp.allocate.names, Match.allocate.names, etc.
* test/ruby/test_regexp.rb: add tests for above.

* io.c: fix SEGV by IO.allocate.print, etc.

* test/ruby/test_io.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-02 12:45:42 +00:00
mame
c6bac86887 * test/ruby/test_regexp.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 11:28:49 +00:00
mame
c6c0d7671f * test/ruby/test_regexp.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-30 13:47:54 +00:00
mame
1f97d48800 * test/ruby/test_regexp.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-29 16:00:49 +00:00
matz
78008d342e * test/ruby/test_parse.rb (TestParse::test_void_expr_stmts_value):
shut up warning.

* rational.c (nurat_to_f): no need for forceful warning when
  converting to float.  overflow is a nature of float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 12:47:07 +00:00
akr
a60856f010 add tests for [ruby-dev:34556] and [ruby-dev:34555].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 09:12:09 +00:00
naruse
98cbcf1bd7 * string.c (count_utf8_lead_bytes_with_ulong): fix shift size.
[ruby-dev:33993]

* string.c (str_utf8_nth) fix wrong counting.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-05 19:34:15 +00:00
akr
b7cb4ddb21 avoid regexp warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-18 03:08:44 +00:00