by #ifndef __BORLANDC__.
2004/10/18: [bug] (thanks Imai Yasumasa)
memory access violation in select_opt_exact_info().
2004/09/25: [dist] fix doc/API and doc/API.ja.
2004/09/25: [bug] fix OP_SEMI_END_BUF process in match_at() for
the case USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
is not defined.
2004/09/17: Version 3.3.0
2004/09/17: [dist] add COPYING to program source files.
2004/09/17: [test] success in ruby 1.9.0 (2004-07-23) [i686-linux].
2004/09/17: [bug] (thanks Isao Sonobe)
memory access violations in xxx_mbc_enc_len(),
and xxx_mbc_to_normalize() and
xxx_left_adjust_char_head().
add string range check in match_at() and onig_search().
2004/09/08: [dist] change mail address format.(kosako AT sofnec ...)
2004/09/04: Version 3.2.9
2004/09/04: [test] success in ruby 1.9.0 (2004-07-23) [i686-linux].
2004/09/04: [bug] (thanks Bob Kerstetter and Richard Koch)
search fail in ignore case mode.
fix str_lower_case_match().
2004/09/04: [inst] (thanks Isao Sonobe)
clear sample directory in 'make clean'.
2004/09/04: [bug] fix ONIGENC_AMBIGUOUS_MATCH_COMPOUND/ASCII/NONASCII
meanings in XXXXX_mbc_to_normalize() and
XXXXX_is_mbc_ambiguous().
2004/08/28: [bug] fix ONIGENC_AMBIGUOUS_MATCH_COMPOUND/ASCII/NONASCII
meanings in iso_8859_XX_mbc_to_normalize() and
iso_8859_XX_is_mbc_ambiguous().
2004/08/24: Version 3.2.8
2004/08/24: [test] success in ruby 1.9.0 (2004-07-23) [i686-linux].
2004/08/24: [spec] add ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY.
/a{n}?/ == /(?:a{n})?/
2004/08/24: [dist] fix doc/RE and doc/RE.ja.
2004/08/24: [bug] (thanks starfish)
memory leak in set_optimize_exact_info().
2004/08/21: Version 3.2.7
2004/08/21: [test] success in ruby 1.8.2 (2004-07-28) [i686-linux].
(1.8.2 preview2)
2004/08/21: [test] success in ruby 1.9.0 (2004-07-23) [i686-linux].
2004/08/21: [bug] (thanks Isao Sonobe) (thanks kage)
memory access violation in bm_search_notrev().
(forgotten to merge from 2.X)
2004/07/24: Version 3.2.6
2004/07/24: [test] success in ruby 1.9.0 (2004-07-23) [i686-linux].
2004/07/24: [test] success in ruby 1.8.2 (2004-07-16) [i686-linux].
2004/07/24: [bug] fix warnings for regexec.c. (gcc 2.91.66)
2004/07/24: [memo] change version control system from Subversion
to CVS 1.11.17.
2004/07/20: [bug] (thanks Isao Sonobe)
illegal result in negative character class in ignore case
mode. fix pair-ambig-codes process in parse_exp().
ex. /[^a]/i.match("A")
2004/07/20: [bug] (thanks Isao Sonobe)
undefined bytecode error happens in UTF-16BE etc..
compile_length_cclass_node() was not consistent with
compile_cclass_node().
2004/07/01: Version 3.2.5
2004/07/01: [test] success in ruby 1.8.2 (2004-06-23) [i686-linux].
2004/07/01: [new] add onig_get_syntax_{op,op2,behavior,options}.
2004/07/01: [bug] (thanks Isao Sonobe)
invalid result in onig_capture_tree_traverse().
fix make_capture_history_tree().
2004/06/29: Version 3.2.4
2004/06/29: [test] success in ruby 1.8.2 (2004-06-23) [i686-linux].
2004/06/29: [new] (thanks Isao Sonobe)
add onig_number_of_captures().
2004/06/25: Version 3.2.3
2004/06/25: [test] success in ruby 1.8.2 (2004-06-23) [i686-linux].
2004/06/25: [bug] (thanks Isao Sonobe)
invalid result in onig_capture_tree_traverse().
fix make_capture_history_tree().
2004/06/24: Version 3.2.2
2004/06/24: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/06/24: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/06/24: [test] success in ruby 1.8.2 (2004-06-23) [i686-linux].
2004/06/24: [new] (thanks Isao Sonobe)
add onig_number_of_capture_histories().
2004/06/24: [bug] (thanks Isao Sonobe)
invalid char position match in UTF-16 and UTF-32.
add onigenc_always_false_is_allowed_reverse_match().
2004/06/17: Version 3.2.1
2004/06/17: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/06/17: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/06/17: [test] success in ruby 1.8.2 (2004-05-18) [i686-linux].
2004/06/17: [impl] should not use OP_REPEAT for (...)? even if target size
is long.
2004/06/17: [bug] (thanks nobu) [ruby-dev:23703]
should use STACK_AT() instead of stkp in OP_REPEAT_INC.
add IN_VAR_REPEAT flag in setup_tree().
2004/06/16: [impl] change select_opt_exact_info() to use ByteValTable[].
2004/06/16: [impl] change map_position_value() table values.
2004/06/14: [impl] (thanks John Carter)
RelAddrType, AbsAddrType and LengthType change
from short int to int type for the very long string match.
2004/06/14: [bug] (thanks Greg A. Woods)
fix nmatch argument of regexec() is smaller than
reg->num_mem + 1 case. (POSIX API)
2004/06/14: [spec] (thanks Greg A. Woods)
set pmatch to NULL if nmatch is 0 in regexec(). (POSIX API)
2004/06/10: Version 3.2.0
2004/06/10: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/06/10: [test] success in ruby 1.9.0 (2004-05-27) [i386-mswin32].
2004/06/10: [test] success in ruby 1.8.2 (2004-05-18) [i686-linux].
2004/06/10: [dist] add README.ja.
2004/06/10: [new] add onig_copy_encoding().
2004/06/10: [API] add encoding argument to onig_set_meta_char().
add meta_char_table member to OnigEncodingType.
2004/06/08: [dist] add doc/API.ja.
2004/06/07: [API] add num_of_elements member to OnigCompileInfo.
2004/05/29: [memo] (thanks Kazuo Saito)
Oniguruma 3.1.0 was merged to Ruby 1.9.0.
2004/05/26: [impl] rename NST_SIMPLE_REPEAT to NST_STOP_BT_SIMPLE_REPEAT.
2004/05/26: [impl] doesn't need to check that target's simple repeat-ness
for EFFECT_MEMORY type node in setup_tree().
2004/05/25: Version 3.1.0
2004/05/25: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/05/25: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/05/25: [test] success in ruby 1.9.0 (2004-05-23) [i686-linux].
2004/05/25: [test] success in ruby 1.8.2 (2004-05-18) [i686-linux].
2004/05/25: [bug] (thanks Masahiro Sakai) [ruby-dev:23560]
ruby -ruri -ve 'URI::ABS_URI =~
"http://example.org/Andr\xC3\xA9"'
nested STK_REPEAT type stack can't backtrack repeat_stk[].
add OP_REPEAT_INC_SG and OP_REPEAT_INC_NG_SG.
2004/05/25: [new] support UTF-32LE. (ONIG_ENCODING_UTF32_LE)
2004/05/25: [new] support UTF-32BE. (ONIG_ENCODING_UTF32_BE)
2004/05/24: [impl] divide enc/utf16.c to utf16_be.c and utf16_le.c.
2004/05/24: [impl] add enc/unicode.c.
2004/05/24: [API] change calling sequences of onig_new_deluxe() and
onig_recompile_deluxe().
define OnigCompileInfo type.
2004/05/21: [impl] perform ensure process for rb_trap_exec() in match_at().
add onig_exec_trap() and CHECK_INTERRUPT_IN_MATCH_AT.
2004/05/21: [impl] add regex status check to onig_match().
2004/05/21: [new] add onig_get_capture_tree() and
onig_capture_tree_traverse().
2004/05/20: [spec] (thanks Isao Sonobe)
capture history return capture data tree.
(see sample/listcap.c)
2004/05/19: [bug] (thanks Simon Strandgaard)
Control-C does not work in matching process on Ruby.
add calling of CHECK_INTERRUPT into match_at().
ex. /<(?:[^">]+|"[^"]*")+>/.match('')
2004/05/19: [bug] (thanks Simon Strandgaard)
define virtual codepoint values for invalid encoding
byte 0xfe and 0xff in UTF-8.
ex. /\w+/u.match("%a\xffb\xfec%") ==> "a"
2004/05/19: [spec] (thanks Simon Strandgaard)
too big backref number should be treated as a sequence of
an octal char and number digits.
ex. /b\3777\c/.match("b\3777\c")
2004/05/17: [spec] rename encoding names "UTF-16 BE" and "UTF-16 LE"
to "UTF-16BE" and "UTF-16LE".
2004/05/17: [impl] move ismbchar() and mbclen() from oniguruma.h to oniggnu.h.
2004/05/17: [impl] rename onigenc_single_byte_is_allowed_reverse_match() to
onigenc_always_true_is_allowed_reverse_match().
2004/05/14: Version 3.0.0
2004/05/14: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/05/14: [test] success in ruby 1.9.0 (2004-05-14) [i686-linux].
2004/05/14: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
(* need to edit parse.y:
register int c; ---> int c; in yylex())
2004/05/14: [impl] add regext.c.
2004/05/14: [spec] KOI8 is not included in library archive by default setup.
2004/05/14: [impl] implementation changes are completed for all encoding files.
2004/05/12: [impl] add divide_ambig_string_node().
ambiguous string is divided and normalized before
optimization and compilation process.
2004/05/11: [dist] remove INSTALL-RUBY from distribution.
2004/04/28: [memo] (thanks Kazuo Saito)
Oniguruma 2.2.8 was merged to Ruby 1.9.0.
2004/04/26: [spec] change value DEFAULT_MATCH_STACK_LIMIT_SIZE = 0 : unlimited
2004/04/26: [new] add onig_get_match_stack_limit_size() and
onig_set_match_stack_limit_size().
2004/04/26: [bug] add error check to re.c.181.patch and re.c.168.patch.
2004/04/23: [impl] remove ctype_support_level from OnigEncodingType.
2004/04/22: [spec] allow the range from single byte char to multibyte char in
character class for implementation reason.
ex. /[a-\xbb\xcc]/ in EUC-JP encoding.
2004/04/21: [impl] remove max_enc_len_by_first_byte() from OnigEncodingType.
2004/04/20: [new] add onig_copyright().
2004/04/20: [impl] add regversion.c.
2004/04/15: [new] add onig_get_ambig_flag().
2004/04/14: [bug] (thanks Isao Sonobe)
undefined bytecode error happens if ONIG_OPTION_FIND_LONGEST
is set.
should finish matching process if find-condition
is fail at OP_END in match_at().
2004/04/12: [impl] add ambig_flag to regex_t.
2004/04/09: [impl] move onig_set_meta_char() to regsyntax.c.
2004/04/09: [bug] (thanks HIROSE Masaaki) fix onig_version().
2004/04/08: [impl] add regsyntax.c.
2004/04/07: [new] support UTF-16 LE. (ONIG_ENCODING_UTF16_LE)
2004/04/05: [impl] add ONIGENC_CTYPE_NEWLINE.
2004/04/05: [memo] (thanks Kazuo Saito)
Oniguruma 2.2.6 was merged to Ruby 1.9.0.
2004/04/02: [memo] Version 2.2.6 was released.
2004/03/26: [new] support UTF-16 BE. (ONIG_ENCODING_UTF16_BE)
2004/03/25: [spec] support non 8-bit encodings.
2004/03/16: [memo] 2.X branch for 8-bit encodings only.
2004/03/16: Version 2.2.5
2004/03/16: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/03/16: [test] success in ruby 1.9.0 (2004-02-24) [i686-linux].
2004/03/16: [impl] add property name to error message of
ONIGERR_INVALID_CHAR_PROPERTY_NAME.
2004/03/16: [spec] allow prefix 'Is' for \p{...} in ONIG_SYNTAX_PERL.
add syntax op. ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS.
2004/03/15: [dist] add sample/syntax.c.
2004/03/15: [spec] support NOT op. in char property. \p{^...}, \P{^...}.
add syntax op. ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT.
2004/03/15: [spec] rename ONIG_SYN_OP2_ESC_P_CHAR_PROPERTY to
ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY.
2004/03/10: [impl] move ONIGERR_XXX from regenc.h to oniguruma.h,
rename ONIGERR_XXX to ONIGENCERR_XXX in regenc.h.
2004/03/08: [impl] (thanks eban)
replace defined(__CYGWIN__) to defined(__GNUC__).
2004/03/08: [bug] (thanks eban) [ruby-dev:23172]
need to separate initialization for bcc32.
2004/03/06: [memo] (thanks Kazuo Saito)
Oniguruma 2.2.4 was merged to Ruby 1.9.0.
2004/03/05: [API] change second argument type of onig_set_meta_char()
from unsigned int to OnigCodePoint.
2004/03/05: [dist] (thanks Kazuo Saito)
add MANIFEST-RUBY.
2004/03/04: Version 2.2.4
2004/03/04: [impl] (thanks Moriyoshi Koizumi)
fix many warnings in Win32 VC++ with /W3 option.
2004/03/02: Version 2.2.3
2004/03/02: [bug] (thanks Isao Sonobe)
return invalid capture region value if capture history
is used. (OP_MEMORY_END_PUSH_REC bug)
ex. /\g(?@
\(\g\)){0}(?(?:\g
)*|){0}/
.match("((())())")
2004/03/02: [impl] (thanks Kazuo Saito)
add :nodoc: to onig_stat_print() for RDoc.
2004/03/02: [impl] don't use ONIG_SOURCE_IS_WRAPPED.
2004/02/27: Version 2.2.2
2004/02/27: [impl] fix the position of onig_stat_print().
2004/02/27: [impl] define ONIG_RUBY_DEFINE_GLOBAL_FUNCTION() in regint.h
for ignored by RDoc.
2004/02/26: Version 2.2.1
2004/02/26: [bug] [bugs.php.net:#26677] (thanks behrens)
invalid definition at onig_error_code_to_str()
in the case of NOT HAVE_STDARG_PROTOTYPES.
2004/02/25: Version 2.2.0
2004/02/25: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/02/24: [test] success in ruby 1.9.0 (2004-02-24) [i686-linux].
2004/02/24: [bug] undefined IS_BLANK() and IS_GRAPH() was used in
onigenc_is_code_ctype() in the case of Ruby M17N.
2004/02/24: [new] support ISO-8859-16. (ONIG_ENCODING_ISO_8859_16)
2004/02/24: [bug] should not fold match for 0xdf in iso8859_6.c.
2004/02/24: [new] support ISO-8859-14. (ONIG_ENCODING_ISO_8859_14)
2004/02/23: [new] support ISO-8859-13. (ONIG_ENCODING_ISO_8859_13)
2004/02/23: [new] support ISO-8859-10. (ONIG_ENCODING_ISO_8859_10)
2004/02/20: [bug] fix iso_8859_4_mbc_is_case_ambig().
2004/02/20: [new] support ISO-8859-9. (ONIG_ENCODING_ISO_8859_9)
2004/02/19: [bug] correct ctype tables for ISO-8859-3, ISO-8859-4,
ISO-8859-6, ISO-8859-7, ISO-8859-8, KOI8_R.
2004/02/18: [bug] wrong replaced name OnigSyntaxGnuOnigex.
2004/02/17: [spec] check capture status for empty infinite loop.
[ruby-dev:20224] etc...
ex. /(?:\1a|())*/.match("a"),
/(?:()|()|()|(x)|()|())*\2b\5/.match("b")
add USE_INFINITE_REPEAT_MONOMANIAC_MEM_STATUS_CHECK.
add OP_NULL_CHECK_END_MEMST, OP_NULL_CHECK_END_MEMST_PUSH.
add stack type STK_NULL_CHECK_END.
2004/02/13: [impl] add OnigEncodingEUC_CN to enc/euc_kr.c.
2004/02/13: [bug] (thanks Simon Strandgaard)
parsing of nested repeat was invalid.
ex. /ab{2,3}*/ was /(?:a(?:b{2,3}))*/,
should be /a(?:b{2,3}*)/
2004/02/12: [bug] (thanks Simon Strandgaard)
OP_REPEAT_INC_NG process in match_at() is wrong.
ex. bad match /a.{0,2}?a/ =~ "0aXXXa0"
2004/02/12: [bug] (thanks Simon Strandgaard)
wrong fetch after (?x) option. ex. "(?x)\ta .\n+b"
2004/02/12: [bug] (thanks Simon Strandgaard)
[\^] is not a empty char class.
2004/02/09: [new] add onig_set_syntax_op(), onig_set_syntax_op2(),
onig_set_syntax_behavior(), onig_set_syntax_options().
2004/02/06: [dist] add a new target 'site' to Makefile.in.
2004/02/06: [dist] add index.html.
2004/02/03: [bug] oniggnu.h was not installed by 'make install'.
2004/02/02: Version 2.1.0
2004/02/02: [test] success in ruby 1.9.0 (2004-02-02) [i686-linux].
2004/02/02: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/02/02: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2004/02/02: [new] support ISO-8859-11. (ONIG_ENCODING_ISO_8859_11)
2004/02/02: [new] support ISO-8859-5. (ONIG_ENCODING_ISO_8859_5)
2004/02/02: [impl] should check single byte encoding or not in and_cclass()
and or_cclass().
2004/01/30: [dist] add oniggnu.h.
2004/01/30: [bug] ISO-8859-7 0xb7 (middle dot) is Punct type.
2004/01/30: [new] support ISO-8859-8. (ONIG_ENCODING_ISO_8859_8)
2004/01/29: [new] support ISO-8859-7. (ONIG_ENCODING_ISO_8859_7)
2004/01/29: [new] support ISO-8859-6. (ONIG_ENCODING_ISO_8859_6)
2004/01/28: [new] support KOI8-R. (ONIG_ENCODING_KOI8_R)
2004/01/28: [new] support KOI8. (ONIG_ENCODING_KOI8)
2004/01/27: [dist] rename enc/isotable.c to enc/mktable.c.
2004/01/27: [new] support ISO-8859-4. (ONIG_ENCODING_ISO_8859_4)
2004/01/26: [new] support ISO-8859-3. (ONIG_ENCODING_ISO_8859_3)
2004/01/26: [bug] EncISO_8859_{1,15}_CtypeTable[256] was wrong.
(0x80 - 0xff is not ASCII)
2004/01/23: [new] support ISO-8859-2. (ONIG_ENCODING_ISO_8859_2)
2004/01/23: [dist] add enc/isotable.c.
2004/01/22: [new] support EUC-TW. (ONIG_ENCODING_EUC_TW)
2004/01/22: [bug] definition of GET_ALIGNMENT_PAD_SIZE() and
ALIGNMENT_RIGHT() was wrong.
type casting should be unsigned int, not int.
2004/01/22: [impl] add defined(__x86_64) || defined(__x86_64__)
to unaligned word access condition. (AMD64 ?)
2004/01/21: [dist] rename enc/eucjp.c to enc/euc_jp.c.
2004/01/21: [new] support EUC-KR. (ONIG_ENCODING_EUC_KR)
2004/01/20: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2004/01/20: [dist] change Makefile.in.
2004/01/20: [spec] add \p{...}, \P{...} in char class.
2004/01/20: [new] character property operators \p{...}, \P{...}.
supported in ONIG_SYNTAX_JAVA and ONIG_SYNTAX_PERL.
2004/01/19: [spec] allow /a{,n}/ as /a{0,n}/. (but don't allow /a{,}/)
2004/01/19: [dist] rename onigcomp200.h to onigcmpt200.h.
2004/01/19: [dist] update re.c.168.patch. svn add re.c.181.patch.
2004/01/16: [dist] update sample/*.c for new API.
2004/01/16: [dist] add onigcomp200.h. (for old API compatibility)
2004/01/16: [dist] update documents API, RE and RE.ja.
2004/01/16: [spec] change prefix REG_ -> ONIG_, regex_ onig_,
ENC_ -> ONIGENC, enc_ -> onigenc_.
2004/01/15: [impl] rename ENC_IS_MBC_E_WORD() to ENC_IS_MBC_WORD().
rename ENC_CTYPE_SUPPORT_LEVEL_SB_ONLY to
ENC_CTYPE_SUPPORT_LEVEL_SB.
2004/01/14: [impl] rename UNALIGNED_WORD_ACCESS to
PLATFORM_UNALIGNED_WORD_ACCESS.
2004/01/14: [impl] change MATCH_STACK_LIMIT_SIZE value from 200000 to 500000.
2004/01/13: [impl] remove ENC_CODE_TO_MBC_FIRST(enc,code) in regenc.h.
remove code_to_mbc_first member in RegCharEncodingType.
2004/01/13: [impl] remove head byte bitset information in cclass->mbuf.
2003/12/26: [impl] change macro name ismb_xxxx() in enc/*.c for
escape conflict.
2003/12/24: Version 2.0.0
2003/12/24: [spec] ignore case option is effective to numbered char.
ex. /\x61/i =~ "A"
2003/12/24: [test] success in ruby 1.8.1 (2003-12-24) [i686-linux].
2003/12/24: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2003/12/24: [test] success in ruby 1.8.0 (2003-08-08) [i386-mswin32].
2003/12/24: [test] success in regex.c compile test on ruby-m17n.
(but can't make miniruby because re.c patch fail.)
2003/12/24: [bug] (thanks H.Miyamoto) /[\W]/ was wrong in 1.9.5.
2003/12/22: [spec] implement fold match on UTF-8 encoding.
2003/12/19: [impl] add ctype_support_level and ctype_add_codes() member to
RegCharEncoding type.
2003/12/19: [impl] add add_ctype_to_cc() in regparse.c.
2003/12/19: [impl] add enc_is_code_ctype() in REG_RUBY_M17N case.
2003/12/19: [impl] change ENC_CODE_TO_MBC() interface.
2003/12/18: [new] implement fold match. (variable number of char
match in ignore case mode.)
ex. German alphabet ess-tsett(U+00DF) match "SS" and "ss".
2003/12/17: [impl] refactoring of encoding system.
2003/12/17: [impl] add enc_init() in regenc.c.
2003/12/17: [new] support Big5. (REG_ENCODING_BIG5)
2003/12/16: [impl] change CodePoint from unsigned int to unsigned long.
2003/12/16: [new] support ISO 8859-15. (REG_ENCODING_ISO_8859_15)
2003/12/16: [impl] change P_() macro definition condition for Win32.
2003/12/16: [dist] add sample/encode.c
2003/12/16: [new] support ISO 8859-1. (REG_ENCODING_ISO_8859_1)
2003/12/15: [impl] rename IS_ENC_XXXX to ENC_IS_XXXX.
2003/12/15: [impl] rename RegDefaultCharEncoding to EncDefaultCharEncoding.
2003/12/15: [impl] divide encoding files. (enc/ascii.c, enc/utf8.c etc...)
2003/12/15: [bug] unexpected infinite loop in regex_snprintf_with_pattern().
change local var. type char* to UChar*.
2003/12/15: [impl] remove REG_MBLEN_TABLE[].
2003/12/15: [spec] rename function prefix regex_get_prev_char_head(),
regex_get_left_adjust_char_head() and
regex_get_right_adjust_char_head() to enc_xxxxxx().
2003/12/15: [impl] rename function prefixes in regenc.h from regex_ to enc_.
2003/12/12: [impl] remove USE_SBMB_CLASS.
2003/12/12: [impl] rename mb -> mbc, mblen() to enc_len().
2003/12/12: [impl] rename WCINT to CodePoint.
2003/12/11: [impl] delete IS_XXXX() ctype macros from regint.h.
2003/12/11: [impl] add enc->wc_is_ctype() and RegAsciiCtypeTable[256].
2003/12/11: [impl] remove RegAsciiCaseAmbigTable.
2003/12/10: [impl] use ENC_TO_LOWER() for ignore case comparison.
2003/12/08: [impl] *** re-defined RegCharEncoding in oniguruma.h. ***
2003/12/08: [impl] add USE_POSIX_REGION_OPTION to regint.h.
2003/12/08: [impl] add IS_ENC_WORD() to regenc.h.
2003/12/05: [impl] rename IS_CODE_XXXX() to IS_ENC_XXXX().
2003/12/05: [impl] delete IS_CODE_WORD() from regenc.h.
2003/12/04: [spec] rename REG_SYN_OP_BACK_REF to REG_SYN_OP_DECIMAL_BACKREF.
2003/12/04: [spec] add (REG_SYN_OP_ESC_W_WORD | REG_SYN_OP_ESC_B_WORD_BOUND |
REG_SYN_OP_ESC_LTGT_WORD_BEGIN_END | REG_SYN_OP_BACK_REF)
to RegSyntaxGrep.
2003/12/04: [spec] remove REG_ENCODING_DEFAULT and REGCODE_DEFAULT.
2003/12/04: [spec] move declarations of regex_get_default_encoding() and
regex_set_default_encoding() from oniguruma.h to regenc.h.
2003/12/03: [new] add regex_get_default_encoding() and
regex_set_default_encoding().
2003/12/03: [spec] REG_ENCODING_DEFAULT meaning is changed.
(current default value, not initial default value.)
2003/12/03: [spec] REGCODE_XXX is obsoleted. use REG_ENCODING_XXX.
2003/12/02: [memo] alias svnst='svn status | grep -v "^\?"'
2003/12/02: [spec] move regex_set_default_trans_table() declaration
from oniguruma.h to regenc.h. (obsoleted API)
2003/12/02: [impl] move variables RegDefaultCharEncoding, DefaultTransTable and
AmbiguityTable to regenc.c.
2003/12/01: [impl] add regex_continuous_sbmb() to regenc.c.
2003/12/01: [dist] add regenc.h and regenc.c.
2003/11/18: [dist] change testconv.rb.
2003/11/18: [bug] (thanks Masaru Tsuda)
memory leak in parse_subexp().
2003/11/18: [bug] (thanks Masaru Tsuda)
memory leak in names_clear() and parse_char_class().
2003/11/17: [bug] memory leak in parse_char_class().
2003/11/17: [bug] (thanks Masaru Tsuda)
OptExactInfo length should not over OPT_EXACT_MAXLEN.
(concat_opt_exact_info_str())
2003/11/12: Version 1.9.5
2003/11/12: [test] success in ruby 1.8.0 (2003-08-08) [i386-cygwin].
2003/11/12: [test] success in ruby 1.8.1 (2003-11-11) [i686-linux].
2003/11/12: [spec] add definition of REG_INEFFECTIVE_META_CHAR.
2003/11/11: [dist] add a sample program sample/sql.c.
2003/11/11: [new] add variable meta character.
regex_set_meta_char()
2003/11/11: [spec] add syntax op. REG_SYN_OP_VARIABLE_META_CHARS.
2003/11/11: [spec] rename REG_SYN_OP_ESC_CAPITAL_Q_QUOTE to
REG_SYN_OP2_ESC_CAPITAL_Q_QUOTE,
REG_SYN_OP_QMARK_GROUP_EFFECT to
REG_SYN_OP2_QMARK_GROUP_EFFECT.
2003/11/06: [impl] define THREAD_PASS as rb_thread_schedule() in Ruby mode.
2003/11/05: [spec] add syntax behavior REG_SYN_WARN_REDUNDANT_NESTED_REPEAT.
2003/11/05: [spec] rename REG_SYN_WARN_FOR_CC_OP_NOT_ESCAPED to
REG_SYN_WARN_CC_OP_NOT_ESCAPED.
2003/11/04: [new] add regex_set_warn_func() and regex_set_verb_warn_func().
2003/10/30: [new] add regex_name_to_backref_number().
(for multiplex definition name, see sample/names.c)
2003/10/30: [spec] add name_end and reg argument to callback function of
regex_foreach_name(). (see sample/names.c)
2003/10/29: [spec] add syntax behavior REG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME.
add error code REGERR_MULTIPLEX_DEFINED_NAME.
2003/10/14: [dist] modify sample/simple.c.
2003/10/03: [bug] (thanks nobu) [ruby-dev:21472]
sub-anchor of optimization map info was wrong
in concat_left_node_opt_info().
ex. /^(x?y)/ = "xy" fail.
2003/09/17: Version 1.9.4
2003/09/17: [spec] change specification of char-class range in ignore case mode
follows with Ruby 1.8(2003-09-17).
ex. /[H-c]/i ==> (H-Z, 0x5b-0x60, a-c)/i
==> H-Z, h-z, 0x5b-0x60, a-c, A-C
2003/09/16: [bug] (thanks Guy Decoux)
remove env->option == option check in parse_effect().
change env->option for dynamic option in parse_exp().
(ex. bad match /(?i)(?-i)a/ =~ "A")
2003/09/12: [spec] rename REG_SYN_ALLOW_RANGE_OP_IN_CC to
REG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC,
REG_SYN_ESCAPE_IN_CC to REG_SYN_BACKSLASH_ESCAPE_IN_CC.
2003/09/11: [bug] change to IS_SYNTAX_OP2 at REG_SYN_OP2_ESC_GNU_BUF_ANCHOR.
2003/09/09: [spec] rename REG_SYN_OP2_ESC_M_BAR_META to
REG_SYN_OP2_ESC_CAPITAL_M_BAR_META,
REG_SYN_OP_ESC_Q_QUOTE to REG_SYN_OP_ESC_CAPITAL_Q_QUOTE,
REG_SYN_OP_ESC_SUBEXP to REG_SYN_OP_ESC_LPAREN_SUBEXP,
REG_SYN_OP_ESC_BUF_ANCHOR to REG_SYN_OP_ESC_AZ_BUF_ANCHOR,
REG_SYN_OP_ESC_GNU_BUF_ANCHOR to
REG_SYN_OP2_ESC_GNU_BUF_ANCHOR,
REG_SYN_OP_ESC_CONTROL_CHAR to REG_SYN_OP_ESC_CONTROL_CHARS,
REG_SYN_OP_ESC_WORD to REG_SYN_OP_ESC_W_WORD,
REG_SYN_OP_ESC_WORD_BEGIN_END to
REG_SYN_OP_ESC_LTGT_WORD_BEGIN_END,
REG_SYN_OP_ESC_WORD_BOUND to REG_SYN_OP_ESC_B_WORD_BOUND,
REG_SYN_OP_ESC_WHITE_SPACE to REG_SYN_OP_ESC_S_WHITE_SPACE,
REG_SYN_OP_ESC_DIGIT to REG_SYN_OP_ESC_D_DIGIT,
REG_SYN_OP_CC to REG_SYN_OP_BRACKET_CC,
REG_SYN_OP2_CCLASS_SET to REG_SYN_OP2_CCLASS_SET_OP,
REG_SYN_CONTEXT_INDEP_OPS to
REG_SYN_CONTEXT_INDEP_REPEAT_OPS,
REG_SYN_CONTEXT_INVALID_REPEAT_OPS to
REG_SYN_CONTEXT_INVALID_REPEAT_OPS.
add REG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR.
2003/09/08: [spec] rename REG_SYN_OP_ANYCHAR to REG_SYN_OP_DOT_ANYCHAR,
REG_SYN_OP_0INF to REG_SYN_OP_ASTERISK_ZERO_INF,
REG_SYN_OP_ESC_0INF to REG_SYN_OP_ESC_ASTERISK_ZERO_INF,
REG_SYN_OP_1INF to REG_SYN_OP_PLUS_ONE_INF,
REG_SYN_OP_ESC_1INF to REG_SYN_OP_ESC_PLUS_ONE_INF,
REG_SYN_OP_0INF to REG_SYN_OP_QMARK_ZERO_ONE,
REG_SYN_OP_ESC_0INF to REG_SYN_OP_ESC_QMARK_ZERO_ONE,
REG_SYN_OP_INTERVAL to REG_SYN_OP_BRACE_INTERVAL,
REG_SYN_OP_ESC_INTERVAL to REG_SYN_OP_ESC_BRACE_INTERVAL,
REG_SYN_OP_SUBEXP to REG_SYN_OP_LPAREN_SUBEXP,
REG_SYN_OP_ALT to REG_SYN_OP_VBAR_ALT,
REG_SYN_OP_ESC_ALT to REG_SYN_OP_ESC_VBAR_ALT,
REG_SYN_OP_NON_GREEDY to REG_SYN_OP_QMARK_NON_GREEDY,
REG_SYN_OP_SUBEXP_EFFECT to REG_SYN_OP_QMARK_GROUP_EFFECT,
REG_SYN_OP2_POSSESSIVE_{REPEAT,INTERVAL} to
REG_SYN_OP2_PLUS_POSSESSIVE_{REPEAT,INTERVAL},
REG_SYN_OP2_SUBEXP_CALL to REG_SYN_OP2_ESC_G_SUBEXP_CALL,
REG_SYN_OP2_NAMED_GROUP to REG_SYN_OP2_QMARK_LT_NAMED_GROUP
and REG_SYN_OP2_ESC_K_NAMED_BACKREF.
2003/09/02: [tune] call reduce_nested_qualifier() after disabling capture for
no-name group in noname_disable_map().
ex. /(a+)*(?...)/
2003/09/02: [impl] include is forgotten to erase in regcomp.c.
2003/09/01: [dist] update doc/RE and doc/RE.ja.
2003/08/26: [bug] (thanks Guy Decoux)
should not double free node at the case TK_CC_CC_OPEN
in parse_char_class().
2003/08/19: Version 1.9.3
2003/08/19: [inst] change re.c.180.patch.
2003/08/19: [impl] rename 'list of captures' to 'capture history'.
2003/08/19: [dist] add doc/RE.ja. (Japanese)
2003/08/19: [new] add regex_copy_syntax().
2003/08/19: [spec] rename REG_SYN_OP2_ATMARK_LIST_OF_CAPTURES to
REG_SYN_OP2_ATMARK_CAPTURE_HISTORY.
2003/08/18: [spec] (thanks nobu)
don't use IMPORT in oniguruma.h and onigposix.h.
2003/08/18: [impl] (thanks nobu) change error output to stdout in testconv.rb.
2003/08/18: [inst] (thanks nobu) lacked $(srcdir) in Makefile.in.
2003/08/18: [bug] REG_MBLEN_TABLE[SJIS][0xFD-0xFF] should be 1.
2003/08/18: [bug] (thanks nobu) mbctab_sjis[0x80] should be 0.
2003/08/18: [bug] (thanks nobu)
single/multi-byte decision was wrong in parse_char_class().
add regex_wc2mblen().
should not set fetched to 1 in TK_RAW_BYTE case.
2003/08/18: [bug] should update BitSet in the case inc_n >= 0
in add_wc_range_to_buf().
2003/08/13: [bug] change re.c.180.patch for fix rb_reg_to_s() in re.c.
2003/08/11: [bug] should clear region->list in regex_region_resize().
2003/08/08: Version 1.9.2
2003/08/08: [test] success in ruby 1.8.0 (2003-08-08) on Windows 2000
VC++ 6.0 and Cygwin.
2003/08/08: [impl] don't define macro vsnprintf for WIN32 platform,
because definition is added in win32\win32.h.
2003/08/08: [test] success in ruby 1.8.0 and ruby 1.6.8(2003-08-03) on Linux.
2003/08/08: [dist] change re.c.180.patch and re.c.168.patch.
2003/08/08: [new] (thanks akr)
implemented list of captures. (?@...), (?@...)
2003/08/07: [dist] add sample/listcap.c.
2003/08/06: [bug] OP_MEMORY_END_PUSH_REC case in match_at().
renewal of mem_start_stk[] should be after
STACK_PUSH_MEM_END() call.
2003/07/29: [new] add regex_get_encoding(), regex_get_options() and
regex_get_syntax().
2003/07/25: [spec] (thanks akr)
change group(...) to shy-group(?:...) if named group is
used in the pattern.
add REG_SYN_CAPTURE_ONLY_NAMED_GROUP.
2003/07/24: [spec] rename REG_OPTION_CAPTURE_ONLY_NAMED_GROUP to
REG_OPTION_DONT_CAPTURE_GROUP.
add REG_OPTION_CAPTURE_GROUP.
2003/07/17: [spec] rename REG_SYN_OP2_NAMED_SUBEXP to REG_SYN_OP2_NAMED_GROUP.
2003/07/17: [spec] add REGERR_EMPTY_GROUP_NAME.
2003/07/17: [spec] rename REGERR_INVALID_SUBEXP_NAME
to REGERR_INVALID_CHAR_IN_GROUP_NAME.
2003/07/17: [spec] restrict usable chars of group name to alphabet, digit,
'_' or multibyte-char in fetch_name(). [ruby-dev:20706]
2003/07/16: [impl] minor change of sample/names.c.
2003/07/14: [impl] rename USE_NAMED_SUBEXP to USE_NAMED_GROUP.
2003/07/14: [bug] add fetch_name() for USE_NAMED_SUBEXP off case.
2003/07/14: [API] add regex_number_of_names().
2003/07/08: [impl] change error message for undefined group number call.
'undefined group reference: /(a)\g<2>/'
--> 'undefined group <2> reference: /(a)\g<2>/'
2003/07/08: [dist] modify doc/RE.
2003/07/07: [impl] OP_SET_OPTION is not needed in compiled code.
add IS_DYNAMIC_OPTION() to regint.h.
2003/07/07: [spec] called group should not ignore outside option (?i:...).
ex. /(?i:(?(a)\2)){0}\g/.match("aA")
add opcode OP_BACKREFN_IC and OP_BACKREF_MULTI_IC.
set option status to effect memory in optimize_node_left().
2003/07/07: [impl] add opcode OP_ANYCHAR_ML, OP_ANYCHAR_ML_STAR and
OP_ANYCHAR_ML_START_PEEK_NEXT.
2003/07/07: [bug] (thanks nobu) REG_MBLEN_TABLE[SJIS][0x80] should be 1.
2003/07/07: [spec] rename REG_SYN_OP_QUOTE to REG_SYN_OP_ESC_Q_QUOTE.
2003/07/04: Version 1.9.1
2003/07/04: [new] add REG_OPTION_CAPTURE_ONLY_NAMED_GROUP. (thanks .NET)
2003/07/04: [spec] check mbuf member in the case of
REG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC in parse_char_class().
2003/07/04: [spec] typo REG_SYN_WARN_FOR_CC_OP_NOT_ESCAPEED.
should be REG_SYN_WARN_FOR_CC_OP_NOT_ESCAPED.
2003/07/04: [bug] conflict values on REG_SYN_WARN_FOR_CC_OP_NOT_ESCAPEED and
REG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC. (thanks nobu)
2003/07/03: [spec] add REG_SYN_OP_ESC_CONTROL_CHAR flag.
2003/07/03: [spec] remove REG_SYN_OP_ESC_OCTAL3 and REG_SYN_OP_ESC_X_HEX2
flag from RegSyntaxGnuRegex.
2003/07/03: [spec] remove REG_SYN_OP_NON_GREEDY flag from RegSyntaxGnuRegex.
2003/07/02: [dist] fix doc/RE.
2003/07/01: [impl] add config flag USE_VARIABLE_SYNTAX.
(turn off variable syntax on Ruby)
2003/07/01: [spec] add syntax behavior REG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND.
2003/06/30: [spec] allow different length top-level alternatives
in look-behind. ex. (?<=abc|abcd), (? (?>a*)b
(thanks Jeffrey E. F. Friedl)
2003/06/02: [impl] remove multibyte-BitSet for OP_CCLASS_MB/OP_CCLASS_MB_NOT.
2003/05/30: [new] char class intersection operator &&[...] like Java(TM).
(thanks akr)
2003/05/30: [bug] should use bbuf_free() for CClassNode in regex_node_free().
2003/05/29: [bug] wrong usage of syntax REG_SYN_ALLOW_EMPTY_RANGE_IN_CC.
/[d-a]/ should be error.
2003/05/28: [impl] optimize stop-backtrack compiled code.
(/(?>a*)/, /(?>\w+)/ etc...)
add OP_POP opcode.
2003/05/28: [new] possessive repeat operator. (?+, *+, ++, {n,m}+)
2003/05/27: [spec] '-' at beginning of char-class should be warn only if
it is start of range. (ex. /[--a]/)
2003/05/27: [spec] should not warn for right bracket at beginning of pattern.
ex. /]aaa/
2003/05/27: [spec] change CCEND_ESC_WARN() from VERB_WARNING() to WARNING().
2003/05/27: [spec] /[]aaa/ should be empty char-class error.
/[]aaa]/ should be warn for 'without backslash'.
(add char_exist_check() in regparse.c)
2003/05/26: [bug] OP_REPEAT in recursive subexp call.
ex. /(?(a|b\gc){3,5})/.match("baaaaca") => "baaaaca"
was wrong result. (should be "aaaa")
2003/05/26: [impl] add num_call member to regex_t.
2003/05/26: [impl] add repeat_range member to regex_t.
(for delete upper,lower members from StackType.u.repeat)
2003/05/26: [bug] change print_names() to external regex_print_names().
2003/05/26: [tune] change OP_NULL_CHECK_END process in match_at().
2003/05/26: [spec] change CCEND_ESC_WARN() from WARNING() to VERB_WARNING().
2003/05/26: [spec] remove POSIXLINE option. (?p:...)
(be made the same as Ruby.)
2003/05/22: [spec] use OP_NULL_CHECK_XXX only if repeat is infinite.
prev. /(?:()|()){0,10}\1\2/ =~ "" ==> FAIL
now /(?:()|()){0,10}\1\2/ =~ "" ==> MATCH
2003/05/22: [impl] change target_empty setting condition in setup_tree().
2003/05/19: [impl] avoid zero length repeat optimization. (thanks matz)
/()*/ ==> /()?/, /()+/ ==> /()/ etc...
2003/05/19: [impl] minor changes for gcc -Wall. (-DREG_DEBUG_STATISTICS case)
2003/05/19: [spec] rename regex_foreach_names() to regex_foreach_name().
2003/05/16: [new] add --with-statistics option to configure.
2003/05/16: [bug] move RegOpInfo[] definition to regint.h.
2003/05/16: [new] add regex_version().
2003/05/14: Version 1.8.6
2003/05/14: [bug] use _vsnprintf() on Win32.
2003/05/14: [spec] define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE.
(/\n$/ =~ "\n", /\n\Z/ =~ "\n") [ruby-dev:20125]
2003/05/14: [impl] minor changes for gcc -Wall.
2003/05/14: [impl] add string.h check in AC_CHECK_HEADERS().
2003/05/13: [impl] minor changes for gcc -Wall.
2003/05/13: [impl] add regex_snprintf_with_pattern().
2003/05/13: [spec] add warning for char class meta character without escape
in Ruby mode ('[', '-', ']').
2003/05/13: [impl] define WARNING() and VERB_WARNING() in regint.h.
2003/05/13: [bug] correct is_code_ascii() for /[[:ascii:]]/.
2003/05/12: [dist] add regular expression document (doc/RE).
2003/05/12: [spec] specification of $(END_LINE) was made the same as Ruby 1.8.
[ruby-dev:20130] (thanks matz)
2003/05/12: [memo] shifted to Subversion(version 0.21.0) from CVS.
2003/03/19: Version 1.8.5
2003/03/19: [impl] change REG_EXTERN definition. (thanks nobu)
2003/03/19: [impl] abbreviation for long error_par in regex_error_code_to_str().
2003/03/18: [dist] change re.c.XXX.patch for GNU regex API changes.
2003/03/18: [spec] change API regex_new(), regex_recompile() and
regex_error_code_to_str().
change API re_compile_pattern() and re_recompile_pattern().
2003/03/18: [spec] replace REGERR_END_PATTERN_AT_GROUP_{COMMENT|OPTION} to
REGERR_END_PATTERN_IN_GROUP.
2003/03/17: [impl] should free err_arg.
2003/03/17: [bug] mistake(high -> to) in add_wc_range_to_buf().
2003/03/17: [spec] add err_arg argument to regex_new() and regex_recompile().
for detail error message. (thanks akr)
2003/03/12: Version 1.8.4
2003/03/12: [tune] use cached value of effect node in get_min_match_length().
2003/03/12: [bug] escaped alphabet should be TK_RAW_BYTE
in fetch_token() and fetch_token_in_cc().
2003/03/12: [spec] change named backref and subexp call format.
backref: \k, call: \g (thanks akr)
2003/03/11: [inst] add regparse.[ch] in win32/Makefile.
2003/03/11: [bug] if UNALIGNED_WORD_ACCESS isn't set,
then compile error in unset_addr_list_fix(). (thanks knu)
2003/03/10: [impl] divide regcomp.c to regcomp.c, regparse.c and regparse.h.
2003/03/10: [bug] should handle multi-byte code name in fetch_name().
2003/03/10: [spec] remove REGERR_TABLE_FOR_IGNORE_CASE_IS_NOT_SETTED.
2003/03/10: [spec] support POSIX API option REG_NOSUB.
add comp_options member to POSIX API regex_t.
2003/03/10: Version 1.8.3
2003/03/10: [bug] can not compile with Ruby 1.6.8.
(inconsistent st.h with 1.6 and 1.8)
use hash table on Ruby 1.8 only.
2003/03/10: [spec] forbid to use '\' in group name.
2003/03/08: [impl] remove check_backref_number().
2003/03/08: [bug] called group in 0-repeat should not be eliminated from
compile code. ex. /(?*n)(?){0}/ (thanks akr)
add is_refered member to QualifierNode.
2003/03/07: [impl] use hash table(st.[ch]) for implementation of name table.
(enable on Ruby in default)
2003/03/07: [new] add regex_foreach_names().
2003/03/06: [impl] add member reg->stack_pop_level.
2003/03/06: [impl] add operator OP_MEMORY_START and member reg->backtrack_mem.
2003/03/06: [bug] if REG_OPTION_FIND_LONGEST or REG_OPTION_NOT_EMPTY,
should handle backtrack of MEM_END.
add OP_MEMORY_END_PUSH and OP_MEMORY_END_PUSH_REC.
2003/03/06: [impl] rename OP_MEMORY_END_PUSH to OP_MEMORY_END_MARK.
2003/03/06: [spec] change error messages.
2003/03/06: [tune] add tiny_pop check in STACK_POP.
2003/03/05: Version 1.8.2
2003/03/05: [impl] use cache info in EFFECT_MEMORY case
in optimize_node_info().
2003/03/05: [impl] add EFFECT_MEMORY node reference count check
in optimize_node_left().
2003/03/05: [impl] add min-len, max-len, char-len cache in EffectNode.
2003/03/05: [spec] allow to call in look behind. ex. /(?<=(?*a))/
2003/03/05: [bug] forgotten N_ANCHOR case in check_backref_number(),
subexp_inf_recursive_check_trav() etc...
2003/03/05: [impl] rename USE_ONIGURUMA_EXTENSION to USE_SBMB_CLASS.
2003/03/04: [impl] add CALL-node info in optimize_node_left().
2003/03/04: [spec] prohibit left recursion of subexp call. ex. (?|(?*n)a)
add subexp_inf_recursive_check_trav().
2003/03/04: [spec] rename REG_SYN_STRICT_CHECK_BACKREF_NUMBER
to REG_SYN_STRICT_CHECK_BACKREF
2003/03/03: [bug] /(?a(?*n)|)/ isn't infinite recursion.
fix N_LIST case in subexp_recursive_check(). (thanks akr)
2003/03/03: [bug] /(?|(?*n))+/ segmentation fault.
should re-allocate in unset_addr_list_add(). (thanks akr)
2003/03/01: Version 1.8.1
2003/03/01: [bug] change STACK_GET_MEM_START() and STACK_PUSH_MEM_END().
2003/03/01: [new] add reg_name_to_group_numbers() to POSIX API.
2003/03/01: [impl] use OP_MEMORY_END_PUSH in callable subexp compiled code
only if subexp is recursive.
2003/03/01: [spec] rename regex_name_to_backrefs() to
regex_name_to_group_numbers().
2003/02/28: [impl] use function stack_double() instead of macro.
2003/02/28: [new] subexp call. (?*name) (thanks akr)
2003/02/28: [spec] add match stack limit check. (MATCH_STACK_LIMIT_SIZE)
2003/02/28: [impl] check recursive subexp call.
2003/02/28: [impl] add opcode OP_MEMORY_END_PUSH for callable subexp.
2003/02/28: [impl] add opcode OP_CALL, OP_RETURN.
add stack type STK_CALL_FRAME, STK_RETURN, STK_MEM_END.
2003/02/26: [spec] add new syntax behavior REG_SYN_STRICT_CHECK_BACKREF_NUMBER.
if it is set, then error /(\1)/, /\1(..)/ etc...
2003/02/26: [spec] if backref number is greater than max group number,
then return compile error. (REGERR_INVALID_BACKREF_NUMBER)
2003/02/26: [tune] bad implemented N_ALT case in get_min_match_length().
2003/02/26: [dist] auto update testc.c and win32/testc.c in dist target.
2003/02/26: [impl] add -win option to testconv.rb.
2003/02/25: [spec] allow to assign same name to different group.
add OP_BACKREF_MULTI.
2003/02/24: [impl] reduce redundant repeat of empty target.
ex. /()*/ ==> /()?/, /()+/ ==> /()/, /(?:)+/ ==> //
2003/02/24: [impl] change condition in regex_is_allow_reverse_match().
2003/02/24: [impl] convert i(/../, ...) functions in testconv.rb.
2003/02/24: [impl] change name table struct.
2003/02/22: Version 1.8.0
2003/02/22: [new] named subexp, named back reference. (thanks akr)
define: (?...), back-ref: \g
2003/02/22: [impl] use str_node_can_be_split().
2003/02/21: [dist] add sample/posix.c
2003/02/21: [spec] rename some error code symbols.
2003/02/21: [spec] max number of multibyte ranges(255) is small.
255 --> 1000. (thanks MoonWolf)
2003/02/20: [new] supported Basic Regular Expression(BRE) in POSIX API.
(REG_EXTENDED option: Extended RE)
2003/02/20: [new] variable syntax.
2003/02/12: Version 1.7.2
2003/02/12: [bug] mismatch /\?a/i.match('?A').
check raw value in scan_make_node() and scan_backslash().
(thanks Nobu)
2003/02/12: [impl] rename 'max_mem' to 'num_mem' in regex_t.
2003/02/12: [impl] rename 'code' to 'enc' in regex_t.
2003/02/12: [spec] remove transtable argument in regex_new and regex_recompile.
remove transtable member in regex_t.
2003/02/10: [inst] change backup file suffix name from '.orig' to '.ruby_orig'.
(win32/Makefile)
2003/02/10: [spec] number check in scan_char_class() ignore-case mode.
ex. /[\x58-\x64]/i
2003/02/10: [impl] don't use OP_MEMORY_END_PUSH (and STK_MEM_END).
2003/02/10: [impl] lift up head_exact value from child qualifier node to parent.
2003/02/10: [tune] change stack type values.
2003/02/10: [dist] add HISTORY.
2003/02/08: [tune] change stack type values.
2003/02/08: [tune] add STACK_BASE_CHECK().
2003/02/08: [tune] add STACK_PUSH_ENSURED().
2003/02/08: [dist] change contents of doc/API.
2003/02/07: [inst] change backup file suffix name from '.orig' to '.ruby_orig'.
2003/02/07: [spec] range in char-class should be same spec. with Ruby
in ignore-case mode. (ex. /[A-c]/i == /[a-c]/i)
(thanks MoonWolf)
2003/02/07: [spec] [!--] should be allowed. (thanks MoonWolf)
2003/02/07: [dist] refresh re.c.180.patch for re.c (2003-02-06).
2003/02/07: Version 1.7.1
2003/02/07: [impl] check first byte of string in ignore-case mode.
(get_head_exact_node())
2003/02/07: [impl] remove redundant statements in setup_tree().
2003/02/06: [new] create Win32 DLL.
2003/02/06: [impl] use P_() macro for function prototype.
2003/02/06: [impl] add HAVE_PROTOTYPE, HAVE_STDARG_PROTOTYPES in
configure.in and config.h.in.
2003/02/06: [spec] /[0-9-a]/ is allowed as usual char '-' and 'a' in Ruby.
add USE_BETTER_COMPATIBILITY_FOR_ORIGINAL_REGEX in
regint.h. (thanks MoonWolf)
2003/02/06: [spec] rename REG_MBCTYPE_XXXX to REG_ENCODING_XXXX in onigposix.h.
2003/02/05: [spec] rename MBCTYPE_XXXX to REG_MBCTYPE_XXXX in onigposix.h.
2003/02/05: [spec] add POSIX API error REG_EONIG_THREAD to onigposix.h.
2003/02/05: [dist] add .cvsignore file.
2003/02/04: Version 1.7
2003/02/04: [bug] typo miss in regex_region_copy().
2003/02/04: [impl] change THREAD_PASS macro. (regint.h)
2003/02/04: [dist] add API document file doc/API.
2003/02/04: [tune] if sub_anchor has ANCHOR_BEGIN_LINE then
set REG_OPTIMIZE_EXACT_BM in set_optimize_exact_info().
2003/02/04: [spec] reimplement regex_clone() and it is obsoleted.
2003/02/04: [bug] add REGERR_OVER_THREAD_PASS_LIMIT_COUNT
to regerror.c regposix.c.
2003/02/03: [bug] Hankaku-Kana may be second byte in Shift_JIS
regex_is_allow_reverse_match().
2003/02/03: [impl] add optimization type REG_OPTIMIZE_EXACT_BM_NOT_REV.
remove exact_allow_reverse_match member in regex_t.
2003/02/03: [impl] add exact_allow_reverse_match member in regex_t.
2003/02/03: [impl] compile-search conflict in regex_search() is handled.
2003/02/01: [tune] decrease regex_region_clear() calling from regex_search().
2003/02/01: [tune] remove region argument from match_at().
2003/01/31: [tune] don't use strlen() in regexec() and regcomp().
2003/01/31: [tune] decrease regex_reduce_chain() calling in regex_search().
2003/01/31: [bug] STRING_CMP() in regexec.c was wrong in ignore-case.
2003/01/31: [impl] convert to lower-case char at string compile time.
change SBTRANSCMP() in regexec.c.
2003/01/31: [impl] rename TTRANS() to TOLOWER().
2003/01/30: [bug] .c.o --> .c.obj in win32\Makefile.
2003/01/30: [impl] add -DNOT_RUBY to Makefile.in.
NOT_RUBY is refered in regint.h for escape double
including config.h.
2003/01/30: [impl] when string hasn't case ambiguity, don't compile
to ignore case opcode.
2003/01/29: [impl] add SJIS, UTF-8 test_sb() test.
2003/01/29: [dist] add INSTALL-RUBY file.
2003/01/28: [test] success in Cygwin, Ruby 1.8.0 (2003-01-27).
2003/01/24: [inst] add rback target to Makefile.in.
2003/01/24: [impl] change SBCMP() -> IS_NEWLINE() in match_at().
2003/01/23: [impl] add encoding arg to scan_xxxx_number().
2003/01/23: [impl] rename WCInt to WCINT.
2003/01/22: [bug] POSIX API regexec() was not thread safe.
remove region member from POSIX regex_t.
[new] add search time option REG_OPTION_POSIX_REGION.
(region argument is treated as regmatch_t[] type)
speed up regexec().
2003/01/22: [memo] start CVS entry in my box.
2003/01/21: Version 1.6
2003/01/21: [test] Mac OS X 10.1, Ruby 1.8.0 (2003-01-20)
2003/01/20: [impl] add UTF-8 check to test.rb. (thanks UENO Katsuhiro)
2003/01/18: [impl] change REGION_NOTPOS to REG_REGION_NOTPOS in regex.h.
2003/01/17: [dist] add sample/simple.c.
2003/01/17: [inst] add configure option --with-rubydir.
2003/01/17: [bug] bad implemeted POSIX API options.
default: /./ not match "\n", anchor not match "\n"
REG_NEWLINE: /./ not match "\n", anchor match "\n"
2003/01/16: [impl] rewrite POSIX API regexec() for speed up.
2003/01/16: [impl] add region member to POSIX regex_t struct.
2003/01/16: [inst] rename library file from 'libregex.a' to 'libonig.a'.
2003/01/15: [dist] add testc.c to distribution file.
2003/01/15: [test] success in 'make rtest/ctest/ptest' on Windows 2000.
2003/01/15: [bug] change '/' to \' in win32/Makefile.
2003/01/14: [test] success in Ruby make test on Windows 2000.
VC++6.0, Ruby 1.6.8 (2003-01-12)
2003/01/14: [inst] change Makefile.in and win32/Makefile.
2003/01/11: [inst] changes for Win32 platform. (regint.h, reggnu.c, regcomp.c)
2003/01/11: [dist] add win32 directory. (config.h, Makefile, testc.c)
2003/01/10: [inst] add onigposix.h to install target. (Makefile.in)
2003/01/10: [bug] lacked a comma in ESTRING[]. (regposerr.c)
2003/01/10: [bug] local variable name was wrong. buf -> tbuf (regerror())
2003/01/10: [spec] remove REG_RUBY_M17N case from onigposix.h and regposix.c.
2003/01/09: Version 1.5
2003/01/09: [inst] replace Ruby re.c.XXX.patch files. (166 -> 168, 172 -> 180)
2003/01/09: [new] implement POSIX API. (thanks knu)
(onigposix.h, regposix.c, regposerr.c)
2003/01/08: [spec] remove REGERR_END_PATTERN_AFTER_BACKSLASH in regex.h.
2003/01/08: [spec] region arg can be NULL in regex_search() and regex_match().
2003/01/08: Version 1.4
2003/01/08: [inst] add test program converter (test.rb -> testc.c).
2003/01/08: [bug] move GET_WCINT() from regcomp.c to regint.h.
2003/01/07: [inst] add new test script (test.rb).
2002/12/30: [bug] wrong merge in multibyte mode (alt_merge_opt_exact_info()).
2002/12/28: [inst] add rtest target to Makefile.in.
2002/12/28: [bug] /\xfe/.match("\xfe") mismatch in multibyte mode.
add "raw" flag arg to concat_opt_exact_info_str().
2002/12/25: [bug] check condition was wrong in alt_merge_opt_map_info().
2002/12/25: [impl] add threshold_len check in regex_search().
2002/12/23: [bug] prec-read in alternative (/a|(?=z).f/.match("zf") => nil)
2002/12/23: [bug] \G in alternative (/a|\Gz/.match("bza") => "z").
add start member in MatchArg. (regexec.c)
2002/12/21: [impl] **** rewrite all optimization process. ****
2002/12/16: [impl] remove node subtype EFFECT_EMPTY.
2002/12/12: [impl] reconstruct node types. (regcomp.c)
2002/12/11: [impl] add regerror.c
2002/12/10: [bug] [ruby-dev:19042] (thanks Nobu)
anchor(\G etc...) influenced outside of "|". (/a|\Gb/)
2002/11/30: [bug] [ruby-dev:18966] (thanks Nobu)
char-class(\S, [^\s] etc...) optimize map-info was wrong.
2002/11/29: [bug] infinite loop on NULL-pointer str search (regex_search()).
(thanks matz)
2002/11/29: [bug] change static -> extern (regex_chain_reduce()).
2002/11/29: [bug] change encoding to RegDefaultCharEncoding
in re_recompile_pattern(). (adapt to re.c)
2002/04/24: [spec] USE_ONIGURUMA_EXTENSION is disabled in default.
2002/04/24: [new] add searching time option: REG_OPTION_NOTBOL/NOTEOL.
add searching time option argument to regex_search() and
regex_match(). (prepare for POSIX API)
2002/04/20: [impl] divide regex.c file into regcomp.c, regexec.c, reggnu.c
and regint.h.
2002/04/09: [impl] move IS_MULTILINE() to outside of loop in OP_ANYCHAR_STAR.
2002/04/08: [impl] don't use OP_REPEAT operator for '??'.
2002/04/06: [impl] reduce redundant nested repeat operators(?,*,+,??,*?,+?).
ex. (?:a*)?, (?:a??)* etc..
2002/04/06: [spec] should not warn for /(?:a?)+?/.
2002/04/04: [spec] should allow fixed length alternative and repeat pattern
in look-behind. ex. /(?<=(a|b){3})/ (thanks Guy Decoux)
2002/04/02: [spec] should warn for /(?:a+)?/ and /(?:a*)??/. (thanks akr)
2002/04/01: Version 1.3
2002/04/01: [dist] add COPYING.
2002/03/30: [spec] warn redundant nested repeat operator
in Ruby verbose mode. ex. (?:a*)?
2002/03/30: [spec] nested repeat operator error check should be
same with GNU regex. (thanks Guy Decoux)
2002/03/30: [new] add \x{hexadecimal-wide-char}. (thanks matz)
2002/03/27: [bug] MBCTYPE_XXX symbol values should be same with GNU regex.
2002/03/27: [impl] add THREAD_ATOMIC to regex_clone(), regex_init(), regex_end().
2002/03/25: [spec] if encoding is utf-8, allow combination of singlebyte and
multibyte code range in char class.
(cancelled 2002/04/01: for M17N compatibility)
2002/03/25: [dist] description of the license condition is added to README.
2002/03/23: [bug] should set all bits of reg->mem_stats,
if REG_OPTION_FIND_LONGEST or REG_OPTION_NOT_EMPTY.
2002/03/23: [new] add a new option REG_OPTION_NOT_EMPTY.
2002/03/20: [spec] allow incompleted left brace as an usual char.
ex. /{/, /({)/, /a{2,3/ etc...
2002/03/20: [impl] serialize integer in bytecode.
(switch by UNALIGNED_WORD_ACCESS in regex.c)
2002/03/20: [impl] change re_mbcinit() for REG_RUBY_M17N.
2002/03/19: [impl] word alignment of char class multi-byte code ranges.
2002/03/19: [impl] replace OP_EXACTMB4N with OP_EXACTMB3N.
2002/03/19: [bug] OP_CCLASS_MB_NOT process in matchAt() is wrong.
2002/03/19: [new] add re_mbctab[] for Ruby extension library compatibility.
2002/03/19: [spec] allow nested repeat operator, if operator is {n,m} type.
2002/03/19: [new] add REG_IS_PATTERN_ERROR(ecode) in regex.h
2002/03/18: [spec] /[a-b-c]/ should be error.
2002/03/18: [bug] /[\w-a]/ should be error. (thanks Guy Decoux)
2002/03/18: [bug] /[\]/ should be error. (thanks Guy Decoux)
2002/03/18: [bug] /()*/ etc.. should not be error. (thanks Guy Decoux)
2002/03/18: [spec] /a{1}*/ should not be error. (thanks Guy Decoux)
2002/03/18: [bug] ab{2}{3} was interpreded to (?:a(?:b{2})){3}
(thanks Guy Decoux)
2002/03/18: [bug] abort /(?i)*a/ etc... (thanks Guy Decoux)
2002/03/18: [bug] abort /a|*/,/a|{1}/ etc... (thanks Guy Decoux)
2002/03/13: Version 1.2
2002/03/13: [test] success in rubicon/builtin/AllBuiltinTests.rb.
(thanks rubicon)
2002/03/13: [bug] OP_EXACTMBN process in matchAt() is wrong.
2002/03/13: [bug] start argument of BackwardSearchRange() is wrong.
2002/03/12: [spec] change function name style from CamelCase
to underline_separation. (includes API)
2002/03/12: [bug] if pattern has nested null-check, cause infinite loop.
correct STACK_NULL_CHECK() macro. (thanks Guy Decoux)
2002/03/11: [bug] it is wrong that four numbers to continue as
an octal value in scanBackSlash(). ex. /\0111/
(thanks matz)
2002/03/11: [new] \k (single-byte word char), \K (multi-byte char).
2002/03/09: [inst] add two targets to Makefile.in (166 and 172).
2002/03/09: [spec] decrease REG_MAX_BACKREF_NUM, REG_MAX_REPEAT_NUM
values.
2002/03/08: [spec] allow use of "\A"(begin-buf) in look-behind.
2002/03/08: [impl] add a new opcode OP_PUSH_IF_PEEK_NEXT.
2002/03/08: [impl] add a new opcode OP_ANYCHAR_STAR_PEEK_NEXT.
2002/03/07: [spec] prohibit use of capture group "(...)"
in negative look-behind.
2002/03/07: [inst] add configure.in, config.h.in, Makefile.in.
2002/03/07: [impl] call Init_REGEX_STAT() in RegexInit().
2002/03/07: [spec] less length string match with negative look-behind.
ex. /(?
svn copy file:///home/kosako/svnreps/svnrep_onig/trunk file:///home/kosako/svnreps/svnrep_onig/tags/5.0.0 -m "ADD TAG: 5.0.0"
svn propset svn:ignore -F .cvsignore .
svn commit -m "..."
cvs history -T
cvs rtag "VERSION_X_X_X" oniguruma
* write Makefile.am and configure.in.
> aclocal
> libtoolize or glibtoolize
> automake --foreign --add-missing
> autoconf
> configure --with-rubydir=... CFLAGS="-O2 -Wall"
VERSION = current:revision:age
current: interface number (from 0)
revision: implementation number of same interface (from 0)
age: number of supported previous interfaces
(if current only supported then age == 0)
//END
PK /1]N README_japanesenu [ README.ja 2017/08/25
---- (C) K.Kosako
https://github.com/kkos/oniguruma
֤ɽ饤֥Ǥ롣
Υ饤֥Ĺϡ줾ɽ֥ȤȤ
ʸǥǤ뤳ȤǤ롣
ݡȤƤʸǥ:
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
EUC-JP, EUC-TW, EUC-KR, EUC-CN,
Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
* GB18030: ݷλ
* CP1251: Byte
------------------------------------------------------------
饤
BSD饤
ȡ
: UnixCygwinĶ
1. autoreconf -vfi (* configureץȤʤȤ)
2. ./configure
3. make
4. make install
ȡ
make uninstall
ǧ
onig-config --cflags
onig-config --libs
onig-config --prefix
onig-config --exec-prefix
: Windows 64/32bit (Visual Studio)Ķ
make_win64 뤤 make_win32 ¹
onig_s.lib: static link library
onig.dll: dynamic link library
* ưƥ (ASCII/Shift_JIS)
1. cd src
2. copy ..\windows\testc.c .
3. nmake -f Makefile.windows ctest
(Visual Studio Community 2015 ưǧ)
ɽ
doc/RE.ja
ˡ
Ѥץǡoniguruma.h롼ɤ(Oniguruma APIξ)
Oniguruma APIˤĤƤϡdoc/API.jaȡ
oniguruma.hƤ뷿̾UChar(== unsigned char)̵ˤ
ˤϡONIG_ESCAPE_UCHAR_COLLISIONdefineƤoniguruma.h롼
뤳ȡΤȤˤUChar줺OnigUCharȤ̾Τߤ
ͭˤʤ롣
oniguruma.hƤ뷿̾regex_t̵ˤˤϡ
ONIG_ESCAPE_REGEX_T_COLLISIONdefineƤoniguruma.h롼
뤳ȡΤȤˤregex_t줺OnigRegexType, OnigRegexȤ
̾Τߤͭˤʤ롣
Unix/Cygwinǥѥ롢㡧
(prefix/usr/localΤȤ)
cc sample.c -L/usr/local/lib -lonig
GNU libtoolѤƤΤǡץåȥեबͭ饤֥ݡȤ
СѤǤ褦ˤʤäƤ롣
Ū饤֥ȶͭ饤֥ΤɤѤ뤫ꤹˡ¹ԻǤ
ĶˡˤĤƤϡʬĴ٤Ʋ
Win32ǥƥå饤֥(onig_s.lib)ˤϡ
ѥ뤹Ȥ -DONIG_EXTERN=extern ѥɲä뤳ȡ
ץ
sample/simple.c Ǿ (Oniguruma API)
sample/names.c ̾դ롼ץХå
sample/encode.c Ĥʸǥ
sample/listcap.c ǽλ
sample/posix.c POSIX API
sample/sql.c ѥʸǽ (SQL-like ѥ)
sample/user_property.c 桼Unicodeץѥƥλ
ƥȥץ
sample/syntax.c PerlJavaASISʸˡΥƥ
sample/crnl.c --enable-crnl-as-line-terminator ƥ
ե
oniguruma.h APIإå ()
onig-config.in onig-configץ ƥץ졼
regenc.h ʸǥȤߥإå
regint.h
regparse.h regparse.cregcomp.cΤ
regcomp.c ѥ롢Ŭؿ
regenc.c ʸǥȤ
regerror.c 顼åؿ
regext.c ĥAPIؿ
regexec.c ȹؿ
regparse.c ɽѥϴؿ
regsyntax.c ɽѥʸˡؿȹʸˡ
regtrav.c ڽؿ
regversion.c Ǿؿ
st.h ϥåơ֥ؿ
st.c ϥåơ֥ؿ
oniggnu.h GNU regex APIإå ()
reggnu.c GNU regex APIؿ
onigposix.h POSIX APIإå ()
regposerr.c POSIX API顼åؿ
regposix.c POSIX APIؿ
mktable.c ʸץơ֥ץ
ascii.c ASCII ǥ
euc_jp.c EUC-JP ǥ
euc_tw.c EUC-TW ǥ
euc_kr.c EUC-KR, EUC-CN ǥ
sjis.c Shift_JIS ǥ
big5.c Big5 ǥ
gb18030.c GB18030 ǥ
koi8.c KOI8 ǥ
koi8_r.c KOI8-R ǥ
cp1251.c CP1251 ǥ
iso8859_1.c ISO-8859-1 (Latin-1)
iso8859_2.c ISO-8859-2 (Latin-2)
iso8859_3.c ISO-8859-3 (Latin-3)
iso8859_4.c ISO-8859-4 (Latin-4)
iso8859_5.c ISO-8859-5 (Cyrillic)
iso8859_6.c ISO-8859-6 (Arabic)
iso8859_7.c ISO-8859-7 (Greek)
iso8859_8.c ISO-8859-8 (Hebrew)
iso8859_9.c ISO-8859-9 (Latin-5 ޤ Turkish)
iso8859_10.c ISO-8859-10 (Latin-6 ޤ Nordic)
iso8859_11.c ISO-8859-11 (Thai)
iso8859_13.c ISO-8859-13 (Latin-7 ޤ Baltic Rim)
iso8859_14.c ISO-8859-14 (Latin-8 ޤ Celtic)
iso8859_15.c ISO-8859-15 (Latin-9 ޤ West European with Euro)
iso8859_16.c ISO-8859-16
(Latin-10 ޤ South-Eastern European with Euro)
utf8.c UTF-8 ǥ
utf16_be.c UTF-16BE ǥ
utf16_le.c UTF-16LE ǥ
utf32_be.c UTF-32BE ǥ
utf32_le.c UTF-32LE ǥ
unicode.c Unicodeǥζ̽
win32/Makefile Win32 Makefile (for VC++)
win32/config.h Win32 config.h
and I'm thankful to Akinori MUSHA.
PK /1]гq!+ + README.mdnu [ Oniguruma
=========
https://github.com/kkos/oniguruma
Oniguruma is a modern and flexible regular expressions library. It
encompasses features from different regular expression implementations
that traditionally exist in different languages. It comes close to
being a complete superset of all regular expression features found
in other regular expression implementations.
Its features include:
* Character encoding can be specified per regular expression object.
* Several regular expression types are supported:
* Oniguruma (native)
* POSIX
* Grep
* GNU Regex
* Perl
* Java
* Ruby
* Emacs
Supported character encodings:
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
EUC-JP, EUC-TW, EUC-KR, EUC-CN,
Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
* GB18030: contributed by KUBO Takehiro
* CP1251: contributed by Byte
New feature of version 6.8.2
--------------------------
* Fix: #80 UChar in header causes issue
* NEW API: onig_set_callout_user_data_of_match_param() (* omission in 6.8.0)
* add doc/CALLOUTS.API and doc/CALLOUTS.API.ja
New feature of version 6.8.1
--------------------------
* Update shared library version to 5.0.0 for API incompatible changes from 6.7.1
New feature of version 6.8.0
--------------------------
* Retry-limit-in-match function enabled by default
* NEW: configure option --enable-posix-api=no (* enabled by default)
* NEW API: onig_search_with_param(), onig_match_with_param()
* NEW: Callouts of contents (?{...contents...}) (?{...}\[tag]\[X<>]) (?{{...}})
* NEW: Callouts of name (*name) (*name\[tag]{args...})
* NEW: Builtin callouts (*FAIL) (*MISMATCH) (*ERROR{n}) (*COUNT) (*MAX{n}) etc..
* Examples of Callouts program: [callout.c](sample/callout.c), [count.c](sample/count.c), [echo.c](sample/echo.c)
(* Callout function API is experimental level and isn't fixed definitely yet. Undocumented now)
New feature of version 6.7.1
--------------------------
* NEW: Mechanism of retry-limit-in-match (* disabled by default)
New feature of version 6.7.0
--------------------------
* NEW: hexadecimal codepoint \uHHHH
* NEW: add ONIG_SYNTAX_ONIGURUMA (== ONIG_SYNTAX_DEFAULT)
* Disabled \N and \O on ONIG_SYNTAX_RUBY
* Reduced size of object file
New feature of version 6.6.0
--------------------------
* NEW: ASCII only mode options for character type/property (?WDSP)
* NEW: Extended Grapheme Cluster boundary \y, \Y (*original)
* NEW: Extended Grapheme Cluster \X
* Range-clear (Absent-clear) operator restores previous range in retractions.
New feature of version 6.5.0
--------------------------
* NEW: \K (keep)
* NEW: \R (general newline) \N (no newline)
* NEW: \O (true anychar)
* NEW: if-then-else (?(...)...\|...)
* NEW: Backreference validity checker (?(xxx)) (*original)
* NEW: Absent repeater (?~absent) \[is equal to (?\~\|absent|\O*)]
* NEW: Absent expression (?~|absent|expr) (*original)
* NEW: Absent stopper (?~|absent) (*original)
New feature of version 6.4.0
--------------------------
* Fix fatal problem of endless repeat on Windows
* NEW: call zero (call the total regexp) \g<0>
* NEW: relative backref/call by positive number \k<+n>, \g<+n>
New feature of version 6.3.0
--------------------------
* NEW: octal codepoint \o{.....}
* Fixed CVE-2017-9224
* Fixed CVE-2017-9225
* Fixed CVE-2017-9226
* Fixed CVE-2017-9227
* Fixed CVE-2017-9228
* Fixed CVE-2017-9229
New feature of version 6.1.2
--------------------------
* allow word bound, word begin and word end in look-behind.
* NEW option: ONIG_OPTION_CHECK_VALIDITY_OF_STRING
New feature of version 6.1
--------------------------
* improved doc/RE
* NEW API: onig_scan()
New feature of version 6.0
--------------------------
* Update Unicode 8.0 Property/Case-folding
* NEW API: onig_unicode_define_user_property()
License
-------
BSD license.
Install
-------
### Case 1: Unix and Cygwin platform
1. autoreconf -vfi (* case: configure script is not found.)
2. ./configure
3. make
4. make install
* uninstall
make uninstall
* configuration check
onig-config --cflags
onig-config --libs
onig-config --prefix
onig-config --exec-prefix
### Case 2: Windows 64/32bit platform (Visual Studio)
execute make_win64 or make_win32
onig_s.lib: static link library
onig.dll: dynamic link library
* test (ASCII/Shift_JIS)
1. cd src
2. copy ..\windows\testc.c .
3. nmake -f Makefile.windows ctest
(I have checked by Visual Studio Community 2015)
Regular Expressions
-------------------
See [doc/RE](doc/RE) or [doc/RE.ja](doc/RE.ja) for Japanese.
Usage
-----
Include oniguruma.h in your program. (Oniguruma API)
See doc/API for Oniguruma API.
If you want to disable UChar type (== unsigned char) definition
in oniguruma.h, define ONIG_ESCAPE_UCHAR_COLLISION and then
include oniguruma.h.
If you want to disable regex_t type definition in oniguruma.h,
define ONIG_ESCAPE_REGEX_T_COLLISION and then include oniguruma.h.
Example of the compiling/linking command line in Unix or Cygwin,
(prefix == /usr/local case)
cc sample.c -L/usr/local/lib -lonig
If you want to use static link library(onig_s.lib) in Win32,
add option -DONIG_EXTERN=extern to C compiler.
Sample Programs
---------------
|File |Description |
|:---------------------|:-----------------------------------------|
|sample/simple.c |example of the minimum (Oniguruma API) |
|sample/names.c |example of the named group callback. |
|sample/encode.c |example of some encodings. |
|sample/listcap.c |example of the capture history. |
|sample/posix.c |POSIX API sample. |
|sample/scan.c |example of using onig_scan(). |
|sample/sql.c |example of the variable meta characters. |
|sample/user_property.c|example of user defined Unicode property. |
|sample/callout.c |example of callouts. |
Test Programs
|File |Description |
|:------------------|:--------------------------------------|
|sample/syntax.c |Perl, Java and ASIS syntax test. |
|sample/crnl.c |--enable-crnl-as-line-terminator test |
Source Files
------------
|File |Description |
|:------------------|:-------------------------------------------------------|
|oniguruma.h |Oniguruma API header file (public) |
|onig-config.in |configuration check program template |
|regenc.h |character encodings framework header file |
|regint.h |internal definitions |
|regparse.h |internal definitions for regparse.c and regcomp.c |
|regcomp.c |compiling and optimization functions |
|regenc.c |character encodings framework |
|regerror.c |error message function |
|regext.c |extended API functions (deluxe version API) |
|regexec.c |search and match functions |
|regparse.c |parsing functions. |
|regsyntax.c |pattern syntax functions and built-in syntax definitions|
|regtrav.c |capture history tree data traverse functions |
|regversion.c |version info function |
|st.h |hash table functions header file |
|st.c |hash table functions |
|oniggnu.h |GNU regex API header file (public) |
|reggnu.c |GNU regex API functions |
|onigposix.h |POSIX API header file (public) |
|regposerr.c |POSIX error message function |
|regposix.c |POSIX API functions |
|mktable.c |character type table generator |
|ascii.c |ASCII encoding |
|euc_jp.c |EUC-JP encoding |
|euc_tw.c |EUC-TW encoding |
|euc_kr.c |EUC-KR, EUC-CN encoding |
|sjis.c |Shift_JIS encoding |
|big5.c |Big5 encoding |
|gb18030.c |GB18030 encoding |
|koi8.c |KOI8 encoding |
|koi8_r.c |KOI8-R encoding |
|cp1251.c |CP1251 encoding |
|iso8859_1.c |ISO-8859-1 (Latin-1) |
|iso8859_2.c |ISO-8859-2 (Latin-2) |
|iso8859_3.c |ISO-8859-3 (Latin-3) |
|iso8859_4.c |ISO-8859-4 (Latin-4) |
|iso8859_5.c |ISO-8859-5 (Cyrillic) |
|iso8859_6.c |ISO-8859-6 (Arabic) |
|iso8859_7.c |ISO-8859-7 (Greek) |
|iso8859_8.c |ISO-8859-8 (Hebrew) |
|iso8859_9.c |ISO-8859-9 (Latin-5 or Turkish) |
|iso8859_10.c |ISO-8859-10 (Latin-6 or Nordic) |
|iso8859_11.c |ISO-8859-11 (Thai) |
|iso8859_13.c |ISO-8859-13 (Latin-7 or Baltic Rim) |
|iso8859_14.c |ISO-8859-14 (Latin-8 or Celtic) |
|iso8859_15.c |ISO-8859-15 (Latin-9 or West European with Euro) |
|iso8859_16.c |ISO-8859-16 (Latin-10) |
|utf8.c |UTF-8 encoding |
|utf16_be.c |UTF-16BE encoding |
|utf16_le.c |UTF-16LE encoding |
|utf32_be.c |UTF-32BE encoding |
|utf32_le.c |UTF-32LE encoding |
|unicode.c |common codes of Unicode encoding |
|unicode_fold_data.c|Unicode folding data |
|win32/Makefile |Makefile for Win32 (VC++) |
|win32/config.h |config.h for Win32 |
PK /1]18! 8!
index_ja.htmlnu [
鬼車
鬼車
(c) K.Kosako, 最終更新: 2018/04/14
- 更新情報
- 2018/04/17: Version 6.8.2 リリース
- 2018/03/19: Version 6.8.1 リリース
- 2018/03/16: Version 6.8.0 リリース
- 2018/01/26: Version 6.7.1 リリース
- 2017/12/11: Version 6.7.0 リリース
- 2017/08/30: Version 6.6.1 リリース
- 2017/08/28: Version 6.6.0 リリース
- 2017/08/03: Version 6.5.0 リリース
- 2017/07/03: Version 6.4.0 リリース
- 2017/05/29: Version 6.3.0 リリース
- 2017/04/08: Version 6.2.0 リリース
- 2016/12/11: Version 6.1.3 リリース
鬼車は正規表現ライブラリである。
このライブラリの特徴は、それぞれの正規表現オブジェクトごとに異なる文字エンコーディングを
指定できること。
(API: GNU regex, POSIX and Oniguruma native)
- 対応している文字エンコーディング:
ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,
EUC-JP, EUC-TW, EUC-KR, EUC-CN,
Shift_JIS, Big5, GB18030, KOI8-R, CP1251,
ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,
ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,
ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16
(GB18030は、KUBO Takehiro氏提供)
(CP1251は、Byte氏提供)
ライセンス:BSDライセンス
- プラットフォーム:
- Unix (Mac OS Xを含む)
- Cygwin
- Win32
2.xの保守担当は、Hannes Wyss <hwyss AT ywesee.com>に交替しました。
2.xについては、彼に連絡してください。
* 5.xはUnicode Property/Scriptを提供
* 2.xはRuby1.6/1.8組込みライブラリとして動作する。 (2006年末で保守を終了)
- ドキュメント: (version 6.1.0)
- サンプルプログラム:
- サイト:
- リンク:
- 参考資料:
and I'm thankful to Akinori MUSHA.
- 他のライブラリ:
ホームにもどる
PK P1]B< < COPYINGnu [ PK /1]_
s index.htmlnu [ PK /1]n &