naruse
1e3fc7dcfa
* regcomp.c (noname_disable_map): don't optimize out group 0
...
Ruby's Regexp doesn't allow normal numbered groups if the regexp
has named groups. On such case it optimizes out related NT_ENCLOSE.
But even on the case it can use \g<0>.
This fix not to remove NT_ENCLOSE whose regnum is 0.
[ruby-core:75828] [Bug #12454 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-01 19:37:43 +00:00
nobu
4c68173079
regcomp.c: fix debug conditionals
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-25 06:05:48 +00:00
naruse
599f054fe6
* regcomp.c: remove condition for debug output because prelude
...
doesn't use regexp now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-25 04:21:32 +00:00
naruse
8c2ddab57a
* regcomp.c (compile_length_tree): return error code immediately
...
if compile_length_tree raised error [Bug #12418 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-25 04:21:31 +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
naruse
9ed1d63f41
* regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c:
...
Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692
+ https://github.com/k-takata/Onigmo/pull/52
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-26 08:31:27 +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
d39f196401
* regcomp.c (): Merge Onigmo 5.13.5 23b523076d6f1161.
...
https://bugs.ruby-lang.org/issues/8583
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-04 01:16:22 +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
bfba60f8fe
Remove unused variables.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 07:40:51 +00:00
nobu
0ffc74dece
* regcomp.c, regexec.c: fix-up warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 15:41:59 +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
84dcc38273
* regcomp.c (onig_region_memsize): implemented for memsize_of().
...
* ext/objspace/objspace.c (memsize_of): use it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-15 04:15:54 +00:00
nobu
8baffe6ef6
* class.c (rb_obj_methods), compile.c (iseq_compile_each),
...
iseq.c(iseq_load, rb_iseq_parameters), pack.c (pack_pack),
regcomp.c (is_not_included, update_string_node_case_fold),
transcode.c (rb_econv_open0, make_replacement),
vm_eval.c (raise_method_missing): remove unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 09:50:12 +00:00
naruse
16b663db57
* regcomp.c (print_indent_tree): fix double printing of ENCLOSE_OPTION
...
children bug. patched by Suraj Kurapati. [ruby-core:40964]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-15 00:51:46 +00:00
naruse
d78e45e08d
Show encoding of compiling regexp.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-23 00:04:51 +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
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
2578743199
* regcomp.c (onig_is_prelude): added to check whether ruby is still
...
in prelude (or other boot processes) or not.
* regcomp.c (optimize_node_left): use onig_is_prelude for printing.
* regcomp.c (set_optimize_info_from_tree): ditto.
* regcomp.c (onig_compile): ditto.
* regcomp.c (print_compiled_byte_code_list): print its address.
* regcomp.c (print_indent_tree): print its contents tree of
ANCHOR_PREC_READ(_NOT) and ANCHOR_PREC_BEHIND(_NOT).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:24:28 +00:00
naruse
bd98301784
* regcomp.c (print_distance_range): use PRIuSIZE.
...
* regcomp.c (print_optimize_info): use %ld because the type of
calcutated value of integers is long.
* regexec.c (onig_print_compiled_byte_code): add prototype.
* regexec.c (match_at): add 2nd argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 14:14:44 +00:00
naruse
8e2a1cba36
* regint.h (OnigOpInfoType): constify name.
...
* regcomp.c (op2name): constify return value.
* regcomp.c (onig_print_compiled_byte_code): use PRIuPTR and
uintptr_t to clean warnings.
* regcomp.c (print_indent_tree): use PRIxPTR and intptr_t.
* regexec.c (match_at): use PRIdPTR and intptr_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 06:21:11 +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
a979eb4548
* regcomp.c (onig_memsize): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:17:38 +00:00
naruse
76a5c00be6
* regcomp.c (noname_disable_map): add NT_ANCHOR case.
...
Without this change, captured groups in anchors (look-ahead,
look-behind, and so on) are not removed and
unintended invalid backref error occur. [ruby-core:28235]
* regcomp.c (renumber_by_map): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-02 09:40:27 +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
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
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
ebc6950631
* regcomp.c (optimize_node_left): include equal on the condition of for-loop.
...
This bug also affects original Oniguruma. [ruby-core:27247]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-21 09:13:28 +00:00
naruse
de341005c8
* regcomp.c (print_enc_string): follow enclen's change.
...
* regcomp.c (onig_print_compiled_byte_code): ditto.
* regcomp.c (onig_print_compiled_byte_code): change prototype.
* regint.c (onig_print_compiled_byte_code): comment out.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-21 01:11:15 +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
nobu
23a32d6444
* include/ruby/oniguruma.h, include/ruby/re.h, re.c, regcomp.c,
...
regenc.c, regerror.c, regexec.c, regint.h, regparse.c: use long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 02:08:54 +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
12d2c8ba41
stripped trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
nobu
4f572663c8
* regexec.c (stack_double): use MatchStackLimitSize atomically.
...
* regparse.c (onig_free_shared_cclass_table): OnigTypeCClassTable
needs atomicity
* regsyntax.c: constified all predefined OnigSyntaxTypes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 08:21:44 +00:00
matz
52ed8c4edd
* include/ruby/oniguruma.h: Oniguruma 1.9.1 merged.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-03 15:55:04 +00:00
matz
edd7c787ad
* array.c (rb_ary_cycle): typo in rdoc. a patch from Yugui
...
<yugui@yugui.sakura.ne.jp>. [ruby-dev:31748]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-06 12:33:45 +00:00
matz
e1def8a987
* include/ruby/oniguruma.h: upgrade to Oniguruma 5.9.0. fixes
...
some memory violation. [ruby-dev:31070]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 09:39:30 +00:00
matz
6ee2e54239
* oniguruma.h: updated to Oniguruma 5.7.0.
...
* regsyntax.c, unicode.c: new files along with Oniguruma 5.x.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-23 01:32:08 +00:00
matz
33163ad123
* regparse.c, etc.: K&R to ANSI code cleanup patch from Stefan
...
Huehner <stefan at huehner.org>. [ruby-core:10543]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-19 03:58:57 +00:00
kosako
92d805753b
merge Oniguruma 4.4.5
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-28 11:15:41 +00:00
kosako
d5a00279f4
merge Oniguruma 4.4.4
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-23 12:01:58 +00:00
kosako
0046f355c1
merge Oniguruma 4.4.0
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-27 12:58:22 +00:00
kosako
d92db05a27
merge Oniguruma 4.2.2
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-05 13:54:40 +00:00
kosako
f69c1f18ee
merge Oniguruma 4.0.2
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-23 12:08:08 +00:00
kosako
c37c5419d2
merge Oniguruma 4.0.1
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-12 15:05:19 +00:00
matz
086e235f03
* oniguruma.h: merge Oniguruma 4.0.0 [ruby-dev:28290]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 12:31:19 +00:00
ocean
dda5dc00cf
* array.c: moved to ANSI function style from K&R function style.
...
(used protoize on windows, so still K&R remains on #ifdef part of
other platforms. And `foo _((boo))' stuff is still there)
[ruby-dev:26975]
* bignum.c, class.c, compar.c, dir.c, dln.c, dmyext.c, enum.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c,
io.c, main.c, marshal.c, math.c, numeric.c, object.c, pack.c,
prec.c, process.c, random.c, range.c, re.c, regcomp.c, regenc.c,
regerror.c, regexec.c, regparse.c, regparse.h, ruby.c, signal.c,
sprintf.c, st.c, string.c, struct.c, time.c, util.h, variable.c,
version.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-12 10:44:21 +00:00