nobu
ea940cc4dc
regparse.c: initialize return values
...
* regparse.c (parse_char_class): initialize return values before
depth limit check. returned values will be freed in callers
regardless the error. [ruby-core:79624] [Bug #13234 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-20 09:46:12 +00:00
naruse
6b1c6e0e55
Merge Onigmo 6.1.1
...
* Support absent operator https://github.com/k-takata/Onigmo/issues/82
* https://github.com/k-takata/Onigmo/blob/Onigmo-6.1.1/HISTORY
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-11 15:08:33 +00:00
naruse
2873edeafb
Merge Onigmo 6.0.0
...
* https://github.com/k-takata/Onigmo/blob/Onigmo-6.0.0/HISTORY
* fix for ruby 2.4: https://github.com/k-takata/Onigmo/pull/78
* suppress warning: https://github.com/k-takata/Onigmo/pull/79
* include/ruby/oniguruma.h: include onigmo.h.
* template/encdb.h.tmpl: ignore duplicated definition of EUC-CN in
enc/euc_kr.c. It is defined in enc/gb2313.c with CRuby macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-10 17:47:04 +00:00
naruse
c11e648799
Regexp supports Unicoe 9.0.0's \X
...
* meta character \X matches Unicode 9.0.0 characters with some workarounds
for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.
[Feature #12831 ] [ruby-core:77586]
The term "character" can have many meanings bytes, codepoints, combined
characters, and so on. "grapheme cluster" is highest one of such words,
which means user-perceived characters.
Unicode Standard Annex #29 UNICODE TEXT SEGMENTATION specifies how to
handle grapheme clusters (extended grapheme cluster).
But some specs aren't updated to current situation because Unicode Emoji
is rapidly extended without well definition.
It breaks the precondition of UTR#29 "Grapheme cluster boundaries can be
easily tested by looking at immediately adjacent characters". (the
sentence will be removed in the next version)
Though some of its detail are described in Unicode Technical Report #51
UNICODE EMOJI but it is not merged into UTR#29 yet.
http://unicode.org/reports/tr29/
http://unicode.org/reports/tr51/
http://unicode.org/Public/emoji/4.0/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-30 17:29:19 +00:00
naruse
05c631eefd
* regparse.c (fetch_token_in_cc): raise error if given octal escaped
...
character is too big. [Bug #12420 ] [Bug #12423 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-25 09:45:22 +00:00
naruse
b3935f179b
* gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot
...
allocate memory. This is pointed out by Facebook's Infer.
* gc.c (gc_prof_setup_new_record): ditto.
* regparse.c (parse_regexp): ditto.
* util.c (MALLOC): use xmalloc and xfree like above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 17:52:38 +00:00
naruse
782fd488d7
* regparse.c (fetch_name_with_level): allow non word characters
...
at the first character. [Feature #11949 ]
* regparse.c (fetch_name): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 16:09:09 +00:00
nobu
b3377eaa13
Revert r52995
...
revert slow atomic operations.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 07:30:44 +00:00
nobu
0599d7de58
use atomic operations
...
* regcomp.c (onig_chain_link_add): use atomic operation instead of
mutex.
* regint.h (ONIG_STATE_{INC,DEC}_THREAD): ditto.
* regparse.c (PopFreeNode, node_recycle): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 06:48:15 +00:00
nobu
5f63d9e741
regparse.c: remove unused variable
...
* regparse.c (add_ctype_to_cc): suppress a warning by removing
unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-16 02:44:10 +00:00
naruse
d2a5354255
* reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15 16:18:41 +00:00
naruse
64c81e40d4
* regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.
...
this includes Support for Unicode 7.0 [Bug #9092 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 03:27:25 +00:00
naruse
536a3274c9
* Merge Onigmo 5.13.4 f22cf2e566712cace60d17f84d63119d7c5764ee.
...
[bug] fix problem with optimization of \z (Issue #16 ) [Bug #8210 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-13 11:30:35 +00:00
naruse
78dbaa1648
* Merge Onigmo 0fe387da2fee089254f6b04990541c731a26757f
...
v5.13.3 [Bug#7972] [Bug#7974]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-01 16:36:37 +00:00
naruse
b44ac42335
* regparse.c (add_ctype_to_cc): don't check dup warn on adding
...
negative ctype to cclass. [Bug #7471 ] [ruby-core:50344]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 21:51:37 +00:00
nobu
be7bf5aa0c
adjust style
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-29 12:22:04 +00:00
usa
be3a6b8c40
* 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/trunk@37175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-13 14:23:40 +00:00
nobu
40ce1eb403
warning: no indirect flag
...
* regparse.c (is_onechar_cclass): remove "found" indirect flag to
suppress warnings by gcc 4.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-18 08:41:01 +00:00
naruse
bad859ca3e
* regparse.c (PFETCH_READY): suppress Wunused-but-set-variable.
...
* regparse.c (is_onechar_cclass): restructured to clarify that c is
used iff found == 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 20:46:11 +00:00
shyouhei
2c1322ec88
* regparse.c (PFETCH_READY): this line was to suppress warning,
...
but did emit warnings if -Wuninitialized was set. Assigning
NULL instead if pfetch_prev should suffice the situation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 08:58:05 +00:00
naruse
b4be4c7be3
* regparse.c (onig_number_of_names): suppress a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-02 18:24:24 +00:00
naruse
b2cc0976a7
* regcomp.c: Merge Onigmo 3d855b30d574536d3ae600260208c6624ae4791c.
...
[Bug#6143] [Bug#6144] [Bug#6145]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-21 10:53:06 +00:00
nobu
c037f1f616
* adjust style.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 01:39:00 +00:00
naruse
291fa223cf
* regparse.c (is_onechar_cclass): optimize character class
...
Merge Onigmo 27278c12e6674043cc8affca6507e20e119a86ee.
* regparse.c (is_onechar_cclass): [bug] unexpected match occurs when a
char class contains no char
* enc/unicode.c (init_case_fold_table): define the sizes of case
folding tables in casefold.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 16:29:06 +00:00
naruse
a77ea177fe
* regparse.c (add_code_range_to_buf0): wrong condition of duplicated
...
warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-26 14:32:54 +00:00
naruse
b790678398
* regparse.c (fetch_token): don't use // comment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 02:03:56 +00:00
nobu
541e1aff20
* regparse.c: fix warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-19 01:51:05 +00:00
naruse
0424e152c6
* Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820 ]
...
https://github.com/k-takata/Onigmo
cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h
cp oniguruma.h
cp tool/enc-unicode.rb
cp -r enc/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 07:42:23 +00:00
nobu
3581d76bbb
* regparse.c: fix typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 10:12:02 +00:00
nobu
c09f46301b
* regparse.c (PFETCH_READY): separate gcc specific trick.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 10:08:07 +00:00
nobu
b526738c3b
* bignum.c (big_rshift), compile.c (validate_label,
...
iseq_build_from_ary_exception), cont.c (cont_capture), dir.c
(dir_open_dir), gc.c (objspace_each_objects), io.c (pipe_open)
(rb_io_advise), parse.y (parser_compile_string)
(rb_parser_compile_file), proc.c (binding_free), process.c
(rb_proc_exec_n, rb_seteuid_core, proc_setegid, rb_setegid_core)
(p_uid_exchange, p_gid_exchange), regparse.c (strdup_with_null),
signal.c (sig_dfl), vm.c (rb_iseq_eval, rb_iseq_eval_main),
vm_insnhelper.c (vm_expandarray): suppress
unused-but-set-variable warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 09:57:00 +00:00
naruse
48de1e292a
* addr2line.c: suppressed shorten-64-to-32 warnings.
...
* regcomp.c: ditto.
* regexec.c: ditto.
* regint.h: ditto.
* regparse.c: ditto.
* regparse.h: ditto.
* time.c: ditto.
* variable.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-31 03:44:57 +00:00
mame
0dbe6b6113
* regparse.c (and_cclass, or_cclass): fix memory leak. Coverity Scan
...
found this bug. [ruby-dev:42579]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-15 16:06:35 +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
matz
db37773e13
* include/ruby/oniguruma.h: updated to follow Oniguruma 5.9.2.
...
* re.c (make_regexp): use onig_new() instead of onig_alloc_init().
* re.c (rb_reg_to_s): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-01 21:54:59 +00:00
naruse
62f8c207b2
* regcomp.c (onig_compile): initialize ScanEnv.
...
mainly to initialize env->warnings_flag [ruby-dev:40196]
* regparse.c (scan_env_clear): clear warnings_flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-28 00:50:17 +00:00
naruse
67e11229ec
* regparse.c (fetch_token): warn invalid back reference
...
and subexp call. (\k and \g).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 20:52:51 +00:00
naruse
e0e3d15f12
* regparse.c (fetch_token_in_cc): warn when \p is not
...
followed by property name.
* regparse.c (fetch_token): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 01:06:30 +00:00
naruse
c506f190e1
* regerror.c (onig_vsnprintf_with_pattern): added.
...
* regparse.c (onig_syntax_warn): use above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11 00:48:35 +00:00
naruse
8e9fb2e14c
* regparse.c (onig_syntax_warn): added.
...
* regparse.c (CC_ESC_WARN, CLOSE_BRACKET_WITHOUT_ESC_WARN,
CC_DUP_WARN, UNKNOWN_ESC_WARN): use onig_syntax_warn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-10 18:12:26 +00:00
nobu
62f073a386
* regparse.c (st_str_end_key, str_end_cmp, str_end_hash):
...
constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-22 07:26:22 +00:00
naruse
83b76913d8
Warn unknown escaped chars in regexp.
...
* regparse.c (UNKNOWN_ESC_WARN): added.
* regparse.c (conv_backslash_value): Warn unknown
escaped chars in regexp. [ruby-dev:39104]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-10 07:00:44 +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
naruse
6ab36c6e19
*regparse.c (CC_DUP_WARN): use rb_compile_warn if ScanEnv has source
...
information. [ruby-dev:39105]
*re.c (rb_reg_compile): add sourcefile and sourceline to the arguments.
*re.c (make_regexp): ditto.
*re.c (rb_reg_initialize): ditto.
*re.c (rb_reg_initialize_str): ditto.
*re.c (rb_reg_compile): ditto.
*regcomp.c (onig_compile): ditto.
*regint.h (onig_compile): ditto.
*re.c (reg_compile_gen): follow above.
*re.c (rb_reg_to_s): ditto.
*re.c (make_regexp): ditto.
*re.c (rb_reg_initialize): ditto.
*re.c (rb_reg_initialize_str): ditto.
*re.c (rb_reg_new_str): ditto.
*re.c (rb_enc_reg_new): ditto.
*re.c (rb_reg_initialize_m): ditto.
*re.c (rb_reg_init_copy): ditto.
*regcomp.c (onig_new): ditto.
*regcomp.c (onig_compile): set sourcefile and sourceline to scan_env.
*regparse.h (ScanEnv): add sourcefile and sourceline.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-30 08:00:31 +00:00
naruse
9d7ff244c3
Don't warn if the duplicate is caused by /i.
...
* regparse.c (add_code_range_to_buf0): added with checkdup argument.
* regparse.c (add_code_range_to_buf): use above.
* regparse.c (add_code_range0): added with checkdup argument.
* regparse.c (add_code_range): use above.
* regparse.c (i_apply_case_fold): don't warn if the duplicate is
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-17 01:46:34 +00:00
nobu
95c5a63d2d
* regparse.c: commit miss again.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 02:20:00 +00:00
nobu
2a8ff72f30
* regparse.c: commit miss.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 02:15:13 +00:00
nobu
2318bef1de
* regparse.c (parse_char_class, parse_exp, parse_branch),
...
(parse_subexp): fixed memory leak. a patch from Ralf Junker
<ralfjunker AT gmx.de> at [ruby-core:24921].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 01:45:18 +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