| Server IP : 170.10.162.208 / Your IP : 216.73.216.181 Web Server : LiteSpeed System : Linux altar19.supremepanel19.com 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64 User : deltahospital ( 1806) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/deltahospital/.cagefs/tmp/ |
Upload File : |
Oniguruma LICENSE
-----------------
Copyright (c) 2002-2020 K.Kosako <kkosako0@gmail.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
[](https://travis-ci.org/kkos/oniguruma)
[](https://lgtm.com/projects/g/kkos/oniguruma/context:cpp)
[](https://lgtm.com/projects/g/kkos/oniguruma/alerts)
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.
Character encoding can be specified per regular expression object.
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
* doc/SYNTAX.md: contributed by seanofw
Version 6.9.5 revised 1
-----------------------
* Fixed Issue #192
Version 6.9.5
-------------
* POSIX API disabled by default for Unix (* Enabled by: configure --enable-posix-api=yes)
* Update Unicode version 13.0.0
* NEW: Code point sequence notation \x{HHHH HHHH ...}, \o{OOOO OOOO ...}
* NEW API: retry limit in search functions
* NEW API: maximum nesting level of subexp call
* Fixed behavior of isolated options in Perl and Java syntaxes. /...(?i).../
Version 6.9.4
-------------
* NEW API: RegSet (set of regexes)
* Fixed CVE-2019-19012
* Fixed CVE-2019-19203 (Does not affect UTF-8, UTF-16 and UTF-32 encodings)
* Fixed CVE-2019-19204 (Affects only PosixBasic, Emacs and Grep syntaxes)
* Fixed CVE-2019-19246
* Fixed some problems (found by libFuzzer test)
Version 6.9.3 (security fix release)
------------------------------------
* Fixed CVE-2019-13224
* Fixed CVE-2019-13225
* Fixed CVE-2019-16163
* Fixed many problems (found by libFuzzer test)
Version 6.9.2 (Reiwa)
---------------------
* add doc/SYNTAX.md
* Direct threaded code (for GCC and Clang)
* Update Unicode version 12.1.0
* NEW: Unicode Text Segment mode option (?y{g}) (?y{w}) (*original)
Version 6.9.1
-------------
* Speed improvement (* especially UTF-8)
Version 6.9.0
-------------
* Update Unicode version 11.0.0
* NEW: add Emoji properties
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
Version 6.8.1
-------------
* Update shared library version to 5.0.0 for API incompatible changes from 6.7.1
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)
Version 6.7.1
-------------
* NEW: Mechanism of retry-limit-in-match (* disabled by default)
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
Version 6.6.0
-------------
* NEW: ASCII only mode options for character type/property (?WDSP)
* NEW: Extended Grapheme Cluster boundary \y, \Y
* NEW: Extended Grapheme Cluster \X
* Range-clear (Absent-clear) operator restores previous range in retractions.
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)
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_win.bat
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)
Alternatively, you can build and install oniguruma using [vcpkg](https://github.com/microsoft/vcpkg/) dependency manager:
1. git clone https://github.com/Microsoft/vcpkg.git
2. cd vcpkg
3. ./bootstrap-vcpkg.bat
4. ./vcpkg integrate install
5. ./vcpkg install oniguruma
The oniguruma port in vcpkg is kept up to date by microsoft team members and community contributors.
If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
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/callout.c |example of callouts |
|sample/count.c |example of built-in callout *COUNT |
|sample/echo.c |example of user defined callouts of name |
|sample/encode.c |example of some encodings |
|sample/listcap.c |example of the capture history |
|sample/names.c |example of the named group callback |
|sample/posix.c |POSIX API sample |
|sample/regset.c |example of using RegSet API |
|sample/scan.c |example of using onig_scan() |
|sample/simple.c |example of the minimum (Oniguruma API) |
|sample/sql.c |example of the variable meta characters |
|sample/user_property.c|example of user defined Unicode property |
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 |
|windows/testc.c |Test program for Windows (VC++) |
History
2020/04/26: Version 6.9.5 revised 1
2020/04/24: fix #192: Unexpected regex match
2020/04/20: Version 6.9.5
2020/04/12: Release Candidate 2 for Version 6.9.5
2020/04/09: fix a problem (found by oss-fuzz test on my PC)
2020/04/05: Release Candidate 1 for Version 6.9.5
2020/03/30: remove src/*.py and src/*.sh from distribution files
2020/03/27: NEW: Code point sequence notation \x{HHHH ...}, \o{OOOO ...}
2020/03/24: NEW API: maximum nesting level of subexp call
2020/03/22: #165: change enable-posix-api default from YES to NO
2020/03/15: update Unicode version to 13.0.0
2020/03/10: add test_back.c
2020/03/08: tune output of debug in print_optimize_info()
2020/03/02: fix #186: Allow regset search to succeed at end of string
2020/02/13: NEW API: retry-limit-in-search functions
2020/01/20: add ONIG_SYN_VARIABLE_LEN_LOOK_BEHIND flag
2019/12/27: add USE_REGSET switch
2019/12/20: remove OPTIMIZE_STR_CASE_FOLD
2019/12/13: add test/test_syntax.c
2019/12/13: add ONIG_SYN_ISOLATED_OPTION_CONTINUE_BRANCH flag
2019/11/29: Version 6.9.4
2019/11/22: Release Candidate 3 for Version 6.9.4
2019/11/20: fix a problem found by libFuzzer test
2019/11/14: Release Candidate 2 for Version 6.9.4
2019/11/12: fix integer overflow by nested quantifier
2019/11/11: fix CVE-2019-19012: Integer overflow related to reg->dmax in search_in_range()
2019/11/07: fix CVE-2019-19203: heap-buffer-overflow in gb18030_mbc_enc_len()
2019/11/06: fix CVE-2019-19204: heap-buffer-overflow in fetch_interval_quantifier()
2019/11/06: add HAVE_INTTYPES_H into config.h.windows.in and config.h.win{32,64}
2019/11/06: add HAVE_STDINT_H into config.h.win{32,64}
2019/11/05: Release Candidate 1 for Version 6.9.4
2019/10/31: Update Unicode Emoji version to 12.1 (Nothing data changed)
2019/10/29: implement USE_REPEAT_AND_EMPTY_CHECK_LOCAL_VAR configuration
2019/10/18: re-implement case fold conversion
2019/10/04: fix #156: Heap buffer overflow in match_at() with case-insensitive match
2019/09/30: NEW API: add onig_regset_replace()
2019/09/30: change Unicode VERSION value format
2019/09/20: NEW API: add regset functions
2019/09/20: add data ensure check before peek string value in OP_PUSH_IF_PEEK_NEXT
2019/09/20: fix loose code in encode-harness.c
2019/08/13: fix heap-buffer-overflow
2019/08/13: Add a macro to disable direct threading in the match engine (PR#149)
2019/08/06: Version 6.9.3 (secirity fix release)
2019/07/30: add ONIG_SYN_ALLOW_INVALID_CODE_END_OF_RANGE_IN_CC
2019/07/29: add STK_PREC_READ_START/END stack type
2019/07/29: Fix #147: Stack Exhaustion Problem caused by some parsing functions
2019/07/11: add a dictionary file for libfuzzer
2019/07/07: add harnesses directory
2019/07/05-2019/07/29: fix many problems found by libfuzzer programs
2019/06/27: deprecate onig_new_deluxe()
2019/06/27: Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
2019/06/27: Fix CVE-2019-13225: problem in converting if-then-else pattern
2019/05/07: Version 6.9.2 (same as Release Candidate 3)
2019/04/23: Release Candidate 3 for 6.9.2
2019/04/23: add doc/SYNTAX.md into distribution file
2019/04/09: Release Candidate 2 for 6.9.2
2019/04/09: fix #139: UAF in match_at()
2019/04/01: Release Candidate 1 for 6.9.2
2019/04/01: update Unicode version to 12.1.0 (draft)
2019/03/29: allow {n,m} (n>m) as possessive interval
2019/03/25: add ONIG_SYN_OP2_OPTION_ONIGURUMA
2019/03/22: add new options ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER and
ONIG_OPTION_TEXT_SEGMENT_WORD
2019/03/21: PR #137: fix cross-compilation
2019/03/20: update Unicode version to 12.0.0
2019/03/17: add doc/SYNTAX.md
2019/03/13: {n,m}+ and {n,m}? are possessive and reluctant range operator
in Perl syntax
2019/03/04: fix #132: don't execute testp if ENABLE_POSIX_API == no
2019/02/28: re-implement bytecode by using Operation struct
2019/02/26: fix #130: Build error on UWP with VS2017
2019/02/03: PR #128: regerror/toascii: do not attempt to serialize NULL pointer
2019/01/30: Build breaks without autoreconf #73
2019/01/02: fix #127: Windows VS 2008 build errors
2018/12/19: fix #126: Unable to compile when USE_CALLOUT is not defined
2018/12/11: Version 6.9.1
2018/10/08: use ENC_FLAG_SKIP_OFFSET_XXX values
2018/10/06: UTF-8 supports code range from 0x0000 to 0x10FFFF
(https://tools.ietf.org/html/rfc3629)
2018/10/05: speed improvement
2018/10/03: use OPTIMIZE_STR_CASE_FOLD_FAST
2018/10/01: convert CRLF line endings to LF
2018/09/27: set SIZEOF_SIZE_T for windows platforms
2018/09/22: use Sunday quick search algorithm instead of Boyer-Moor-Horspool
2018/09/20: introduce threaded code into match_at()
2018/09/17: remove HAVE_STRINGS_H
2018/09/16: remove HAVE_PROTOTYPES and HAVE_STDARG_PROTOTYPES
2018/09/14: add a command line option '-gc' for make_unicode_property_data.py.
2018/09/08: remove AC_HEADER_STDC
2018/09/06: remove AC_OUTPUT macro call
2018/09/06: remove AC_FUNC_MEMCMP, AC_HEADER_TIME, AC_C_CONST, HAVE__SETJMP and
HAVE_STRING_H
2018/09/05: remove HAVE_LIMITS_H, HAVE_FLOAT_H and HAVE_STDLIB_H
2018/09/03: Version 6.9.0
2018/08/24: add Unicode Emoji properties
2018/08/24: update Unicode version 11.0.0
2018/08/21: support gperf 3.1 instead of 3.0.4
2018/08/07: add ENABLE_POSIX_API switch into src/Makefile.windows
2018/08/02: add make_win.bat and src/config.h.windows.in
2018/06/25: add ENABLE_POSIX_API option into CMakeLists.txt
2018/06/04: add .travis.yml (for TravisCI)
2018/04/17: Version 6.8.2
2018/04/13: add doc/CALLOUTS.API.ja
2018/04/10: add doc/CALLOUTS.API
2018/04/10: fix #87: Read unknown address in onig_error_code_to_str()
2018/04/06: fix #86: typedef StateCheckNumType is unused
2018/04/02: update automake 1.16.1
2018/03/30: fix #84: stack-buffer-overflow in mbc_enc_len
2018/03/28: PR #83: Improve CMake build
2018/03/21: switch uses of UChar to OnigUChar in oniguruma.h (#80)
2018/03/19: Version 6.8.1
2018/03/19: update LTVERSION from 4:0:0 to 5:0:0
2018/03/19: add flag, sb_range etc.. into OnigEncodingType
2018/03/19: move regex structure from oniguruma.h to regint.h
2018/03/19: ONIGENC_CTYPE_XXX to be enum (Issue #33)
2018/03/16: Version 6.8.0
2018/03/12: add doc/CALLOUTS.BUILTIN for builtin callouts
2018/03/08: allow abbreviated notation for callouts (?(*name)..|..) (?(?{...})..|..)
2018/03/02: NEW API: move onigenc_strdup() from regenc.h to oniguruma.h
2018/02/21: remove all USE_COMBINATION_EXPLOSION_CHECK
2018/02/15: fix #78: bad definition of PV_()
2018/02/14: add configure option --enable-posix-api (for #77)
2018/02/08: implement callouts of name
2018/02/01: implement callouts of contents
2018/01/30: define ONIGURUMA_VERSION_INT
2018/01/29: enable USE_TRY_IN_MATCH_LIMIT by default
2018/01/29: NEW API: onig_search_with_param() onig_match_with_param()
2018/01/26: remove include windows.h from oniguruma.h
2018/01/26: Version 6.7.1
2018/01/25: disable USE_TRY_IN_MATCH_LIMIT by default
2018/01/24: implement mechanism of try-in-match-limit
2018/01/24: #76: rename EXPORT to ONIGURUMA_EXPORT
2018/01/15: #73: update for automake 1.15.1
2018/01/14: #74: update description of README
2018/01/10: #72: Correct spelling and grammar in FAQ (English)
2017/12/25: remove USE_COMBINATION_EXPLOSION_CHECK codes
2017/12/11: Version 6.7.0
2017/12/08: Disable \N and \O on ONIG_SYNTAX_RUBY
2017/12/08: add ONIG_SYNTAX_ONIGURUMA (default syntax)
2017/12/05: restructure StackType
2017/11/13: implement subexp calls (?R), (?&name), (?-n), (?+n) for Perl syntax
2017/09/25: use string pool of gperf for Unicode Property lookup function
2017/09/16: fix #70: an empty greedy regex and a word boundary (.*\b) fails
2017/09/13: remove a stack type STK_POS
2017/09/08: fix #69: add a declaration of onig_end()
2017/09/07: fix #68: Compilation failure in out-of-source build
2017/09/03: [new] hexadecimal codepoint \uHHHH
2017/08/30: Version 6.6.1
2017/08/29: fix definition of \X to (?>\O(?:\Y\O)*)
2017/08/28: Version 6.6.0
2017/08/26: fix #67: can't compile with Visual Studio 2005
2017/08/24: rename Absent clear to Range clear
2017/08/21: [new] Extended Grapheme Cluster \X and boundary \y, \Y
2017/08/17: fix: invalid index(ctype) value assigned to Unicode Block properties
2017/08/16: --enable-crnl-as-line-terminator to be deprecated
2017/08/15: [new] ASCII only mode options (?WDSP)
2017/08/14: [new] ONIG_OPTION_XXXX_IS_ASCII options
2017/08/11: disable OP_CCLASS_NODE
2017/08/11: [spec] Absent clear restore previous range value at backtrack
2017/08/07: optimize for simple one char repetition in Absent expression
2017/08/07: fix: invalid impl. for reluctant repetition in Absent expression
2017/08/04: remove compile switch USE_NAMED_GROUP
2017/08/03: Version 6.5.0
2017/07/30: [new] support Absent clear (Absent functions)
2017/07/25: abolish configure option: --enable-combination-explosion-check
2017/07/23: [new] support Absent functions (?~...)
2017/07/14: fix #65: SIZEOF_SIZE_T doesn't exist on certain architecutres
2017/07/11: [new] support \O (true anychar)
2017/07/10: [new] support \K (keep)
2017/07/10: add new node type: NODE_GIMMICK
2017/07/07: [new] support \N (no newline)
2017/07/05: [new] support \R (general newline)
2017/07/05: [new] support if-then-else syntax
2017/07/04: [new] support backref validity checker
2017/07/03: Version 6.4.0
2017/06/30: fix memory leaks
2017/06/29: fix memory leaks
2017/06/28: change encoding of doc/XXXX.ja from EUC-JP to UTF-8
2017/06/28: update doc/RE, and doc/RE.ja
2017/06/26: fix fatal bug of endless repeat check on Windows
2017/06/26: PR #62 : add check for return values
2017/06/23: [new] support call zero (\g{0})
2017/06/23: [new] support relative call by positive number
2017/06/23: [new] support relative back-reference by positive number
2017/06/15: fix #60 : check value type
2017/06/02: change output format for ONIG_DEBUG_COMPILE and ONIG_DEBUG_MATCH
2017/05/29: Version 6.3.0
2017/05/24: fix #60 : invalid state(CCS_VALUE) in parse_char_class()
2017/05/24: fix #59 : access to invalid address by reg->dmax value
2017/05/23: fix invalid increment of start position in onig_scan()
2017/05/23: fix #58 : access to invalid address by reg->dmin value
2017/05/23: fix #57 : DATA_ENSURE() check must be before data access
2017/05/22: fix #56 : return invalid result for codepoint 0xFFFFFFFF
2017/05/19: [new] add \o{17777777777} syntax.
2017/05/19: fix #55 : Byte value expressed in octal must be smaller than 256
2017/04/08: Version 6.2.0
2017/03/15: fix: size in xmemcpy in stack_double (PR #51)
2017/02/21: Initialize return value
2017/01/03: NEW API: add onig_set_capture_num_limit()
2017/01/03: change MemNumType from short int to int
2016/12/13: fix: [0-9-a] was not allowed as [0-9\-a]
2016/12/13: fix: illegal capture after recursive call
2016/12/13: fix: problem with optimization of \z
2016/12/13: fix: .* optimization
2016/12/13: Set a limit of parser recursion
2016/12/12: fix; that warnings are not shown properly
2016/12/12: fix: /[a-c#]+\W/ =~ "def#" fails when encoding is UTF-16/32
2016/12/12: fix: /[\x{0}-X]/i doesn't match properly when UTF-16/32 is used.
2016/12/11: Version 6.1.3
2016/12/11: fix: Syntax error: redirection unexpected (expecting word) #35
2016/11/07: Version 6.1.2
2016/10/25: allow word bound, word begin and word end in look-behind.
2016/10/19: add ONIG_OPTION_CHECK_VALIDITY_OF_STRING option.
2016/10/16: fix use after free node.
2016/10/10: fix memory leaks after parsing regexp error.
2016/09/22: implement many of is_valid_mbc_string().
2016/09/02: Version 6.1.1
2016/08/31: fix segfault /W.?{888}{888}{888}\x00/ (found by libfuzzer)
2016/08/31: fix error unmatched close parenthesis for %{(.*?)} #23
2016/08/29: Version 6.1.0
2016/08/28: add contributed/libfuzzer-onig.cpp (thanks hannob)
2016/08/28: update LTVERSION 4:0:0
2016/08/28: NEW API: onigenc_is_valid_mbc_string().
2016/08/27: add is_valid_mbc_string() member into OnigEncodingType.
2016/08/27: fix out of bounds read.
2016/08/26: fix out of bounds read.
2016/08/25: disable USE_INVALID_CODE_SCHEME.
2016/08/24: fix out of bounds read.
2016/08/23: doc/RE improved.
2016/08/22: add onig_scan() into doc/API.
2016/08/22: fix bug: Out of bounds read in onig_strcpy() #17
2016/08/21: fix bug: infinite loop of backreference and group.
2016/08/21: fix out of bounds read in mbc_to_code() #16
2016/08/18: doc/RE refinements.
2016/08/16: add onig_scan() (NEW API)
2016/08/16: reimplement match stack allocation for case too many repeat
and too many captures in regexp.
2016/08/15: number of captures <= 32767 for bytecode representation.
2016/07/17: don't use int_map_backward for thread-safe.
2016/07/04: fix case of enclosed option in look-behind.
2016/07/04: fix ignore case in look-behind.
2016/05/23: fix memory leak in onig_unicode_define_user_property()
2016/05/20: declare variables at the top of scope. (thanks nmaya)
2016/05/09: Version 6.0.0
2016/05/05: add NEW API: onig_unicode_define_user_property()
2016/05/04: update Unicode data to 8.0.0
2016/05/02: change OnigCodePoint type to unsigned int.
2016/05/02: add doc/UNICODE_PROPERTIES.
2016/04/19: add error code ONIGERR_FAIL_TO_INITIALIZE.
2016/04/18: add make_win64/32.bat.
2016/04/18: fix bug of uninitialized regex_t value on error.
2016/04/16: reimplement Unicode case folding.
2016/04/11: update LTVERSION = 3.0.0
2016/04/05: remove all THREAD_ macro.
2016/04/05: add init member into OnigEncoding. (add onig_initialize())
2016/03/28: remove state member of regex.
2016/03/25: move source files into src/
2016/03/23: rename configre.in to configure.ac.
2015/11/17: fix memory leak. (thanks pigzang)
2015/07/13: change mail address.
2014/12/12: Version 5.9.6
2013/11/27: [impl] add onigenc_end_unicode(). (thanks Takenori Imoto)
2013/11/27: [impl] add onig_add_end_call(). (thanks Takenori Imoto)
2013/10/21: Version 5.9.5
2013/10/21: [impl] escape warnings for -Wall. (regparse.c)
2013/10/21: [bug] fixes an issue on Windows x64. (thanks Anatoliy Belsky)
The issue was discovered in PHP, see https://bugs.php.net/64769.
2013/10/21: [impl] remove unused variable. (regcomp.c)
2013/04/04: Version 5.9.4
2013/04/04: [dev] remove Makefile.in from git repository.
2013/04/04: [dist] add oniguruma.pc.in file. (for pkg-config)
(thanks Giulio Paci)
2012/10/26: Version 5.9.3
2012/10/15: remove warnings "test: =: unary operator expected" in ./configure.
(thanks t_okazaki)
2012/10/15: fix print_tree ENCLOSE_OPTION bug. (thanks Suraj N. Kurapati)
2010/01/09: Version 5.9.2
2010/01/05: [bug] fix utf16be_code_to_mbc() and utf16le_code_to_mbc().
2008/09/16: [bug] fix memory leaks in parse_exp().
2008/08/01: [bug] fix memory leaks.
2008/06/17: [bug] invalid type of argument was used
in onig_st_lookup_strend().
2008/06/16: [bug] invalid CaseFoldMap entry in ISO-8859-5. 0xdf -> 0xde
2008/02/19: [new] add: onig_reg_init().
2008/02/19: [new] add: onig_free_body().
2008/02/19: [new] add: onig_new_without_alloc().
2008/02/19: [API] rename onig_alloc_init() to onig_reg_init(),
and argument type changed.
2008/01/31: [impl] move UTF16_IS_SURROGATE_XXX() to regenc.h.
2008/01/30: [bug] (thanks akr)
fix euctw_islead().
2008/01/23: [bug] update enc/koi8.c.
2007/12/22: Version 5.9.1
2007/12/21: [impl] add sprint_byte().
2007/11/28: [bug] (thanks Andy Armstrong)
don't overwrite error code in fetch_name().
2007/11/12: [bug] utf8 mbc length of code 0xfe, 0xff are not 1,
2007/10/23: [spec] onig_enc_len() takes three arguments. (not used)
2007/10/15: [impl] (thanks Rui Hirokawa)
add check HAVE_STDARG_H.
2007/09/07: [API] rename enc_len() to onig_enc_len() in oniguruma.h.
2007/09/04: [API] remove ONIGENC_ERR_XXXXX.
2007/09/03: [API] add error ONIGERR_INVALID_CODE_POINT_VALUE.
2007/09/03: [impl] change error message to "invaid code point value"
for ONIGERR_INVALID_WIDE_CHAR_VALUE.
2007/09/03: [bug] xxx_code_to_mbclen() should return
ONIGERR_INVALID_WIDE_CHAR_VALUE for invalid code point.
ex. /[\x{7fffffff}]/ for ASCII encoding.
2007/08/28: [impl] remove "warning: no previous declaration ...".
2007/08/21: [impl] remove warnings in enc/mktable.c.
2007/08/20: [impl] remove "warning: unused parameter"
2007/08/20: [impl] remove "warning: comparison between signed and unsigned".
2007/08/06: [impl] remove clear_not_flag_cclass().
2007/08/03: [bug] fix the case of undefined USE_NAMED_GROUP.
2007/08/02: [spec] add backref by number.
2007/08/01: [API] add OnigCtype.
2007/07/27: [spec] add USE_CASE_FOLD_IS_APPLIED_INSIDE_NEGATIVE_CCLASS.
2007/07/24: [impl] define PLATFORM_UNALIGNED_WORD_ACCESS.
2007/07/23: [dist] fix doc/FAQ.ja.
2007/07/14: Version 5.9.0
2007/07/13: [bug] add check into onig_reduce_nested_quantifier().
2007/06/26: [spec] (thanks K.Takata)
ONIG_OPTION_SINGLELINE: '$' -> '\Z' (as Perl)
2007/06/26: [dist] (thanks K.Takata)
fix documents API and API.ja.
2007/06/19: [impl] remove IS_NOT_NULL() check before onig_node_free().
2007/06/18: [bug] (thanks KUBO Takehiro)
WORD_ALIGNMENT_SIZE must be sizeof(OnigCodePoint).
2007/06/18: [impl] rename CClassNode flags.
2007/06/18: [bug] initialization miss.
2007/06/13: [impl] change node type reference NXXXX.
2007/06/11: [impl] add node type bit.
2007/06/11: [spec] allow anchor in enclosed repeater. /(\z)*/
2007/06/11: [impl] rename node types.
2007/06/08: [impl] remove OP_SET_OPTION_PUSH and OP_SET_OPTION from match_at().
2007/06/07: [impl] use xvsnprintf().
2007/06/06: [tune] don't set qn->next_head_exact for string first byte is zero.
2007/06/06: [impl] remove unused variables.
2007/06/04: Version 5.8.0
2007/06/04: [impl] add #ifndef vsnprintf into regint.h.
2007/05/31: [dist] add configure option '--enable-crnl-as-line-terminator'.
2007/05/30: [dist] add sample/crnl.c.
2007/05/30: [bug] should check USE_CRNL_AS_LINE_TERMINATOR case
in onig_search().
2007/05/29: [impl] move USE_CRNL_AS_LINE_TERMINATOR into regenc.h.
2007/05/29: [impl] should check USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
in forward_search_range() and backward_search_range().
2007/04/27: Version 5.7.0
2007/04/20: [spec] add config USE_MATCH_RANGE_IS_COMPLETE_RANGE.
2007/04/20: [impl] refactoring in match_at().
2007/04/12: Version 5.6.1
2007/04/12: [bug] must not use UChar in oniguruma.h.
2007/04/09: [impl] change STATE_CHECK_BUFF_MAX_SIZE value from 0x8000
to 0x4000. [ruby-core:10883]
2007/04/04: Version 5.6.0 (mourning for Hideo Takamatsu)
2007/04/03: [spec] add new notation (?'name'), \k'name', \g'name'.
2007/04/03: [impl] remove unused variable.
2007/03/26: [impl] add 'void' to function declarations.
2007/03/06: Version 5.5.3
2007/03/06: [bug] add #include <malloc.h> for bcc32.
(In bcc32, alloca() is declared in malloc.h.)
2007/03/02: [bug] invalid optimization for semi-end-buf in onig_search().
ex. /\n\Z/.match("aaaaaaaaaa\n")
2007/03/02: [impl] move range > start check position in end_buf process.
2007/01/09: Version 5.5.2
2007/01/09: [impl] rename USE_EXTERNAL_LOWER_CASE_CONV_TABLE.
2007/01/05: [tune] select_opt_exact_info() didn't work for empty info.
ex. /.a/ make MAP info instead of EXACT info.
2006/12/28: [impl] add print_enc_string() for ONIG_DEBUG mode.
2006/12/22: Version 5.5.1
2006/12/22: [impl] rename ADD_PAD_TO_SHORT_BYTE_STRING
. to USE_PAD_TO_SHORT_BYTE_CHAR.
2006/12/21: [spec] should check too short multibyte char in parse_exp().
add ADD_PAD_TO_SHORT_BYTE_STRING.
ex. /\x00/ in UTF16 should be error.
2006/12/06: Version 5.5.0
2006/12/05: [bug] should add unfold-1 codes from folded code into
onigenc_unicode_get_case_fold_codes_by_str().
(ex. "S" -> "s" -> 0x017f)
2006/12/05: [new] add flag ONIGENC_CASE_FOLD_TURKISH_AZERI and
USE_UNICODE_CASE_FOLD_TURKISH_AZERI. (disabled in default)
2006/12/04: [spec] remove ONIGENC_CASE_FOLD_FULL.
2006/11/30: [impl] remove unnecessary check in xxx_mbc_case_fold().
2006/11/29: Version 5.4.0
2006/11/28: [spec] INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR is enabled in
default case fold status.
2006/11/28: [spec] rename ONIGENC_CASE_FOLD_MULTI_CHAR to
INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/11/28: [impl] remove USE_UNICODE_CASE_FOLD_MULTI_CHAR.
2006/11/28: [impl] remove Fold[123]Table and add FoldTable.
2006/11/27: [impl] change tool/unicode_fc.rb to see CaseFolding.txt.
2006/11/24: [bug] should call callback for to[j] <-> to[k] in
onigenc_unicode_apply_all_case_fold().
2006/11/22: Version 5.3.0
2006/11/22: [dist] add index_ja.html.
2006/11/22: [impl] undef ONIG_ESCAPE_UCHAR_COLLISION in regint.h and regenc.h.
2006/11/21: [bug] invalid array access.
2006/11/21: [impl] escape UChar collision from config.h.
2006/11/20: [new] add Hiragana/Katakana properties into Shift_JIS.
2006/11/20: [impl] fix CR_Katakana[] values in EUC-JP.
2006/11/17: [impl] declare strend hash table functions in regint.h.
2006/11/17: [impl] move property list functions to regenc.c.
2006/11/17: [new] add Hiragana/Katakana properties into EUC-JP.
2006/11/15: [impl] remove NOT_RUBY from AM_CFLAGS.
2006/11/14: Version 5.2.0
2006/11/14: [impl] remove program codes for Ruby.
2006/11/14: [impl] reduce program codes for Ruby.
2006/11/10: [bug] 0x24, 0x2b, 0x3c, 0x3d, 0x3e, 0x5e, 0x60, 0x7c, 0x7e
should be [:punct:].
2006/11/09: [new] (thanks Byte)
add new character encoding CP1251.
2006/11/08: [impl] rename QUALIFIER -> QUANTIFIER.
2006/11/07: Version 5.1.0
2006/11/07: [dist] remove test.rb, testconv.rb and testconvu.rb.
2006/11/07: [bug] get_case_fold_codes_by_str() should handle 'Ss' and 'sS'
combination for ess-tsett.
2006/11/07: [impl] apply_all_case_fold() doesn't need to return all
case character combination for multi-character folding.
(ONIGENC_CASE_FOLD_MULTI_CHAR)
2006/11/07: [bug] (thanks Byte)
add { 0xa3, 0xb3 } to CaseFoldMap[] for KOI8-R.
2006/11/06: [spec] change ONIG_OPTION_FIND_LONGEST to search all of
the string range.
add USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE.
2006/11/02: [impl] re-implement expand_case_fold_string() for
ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/10/30: [impl] add NSTR_DONT_GET_OPTINFO flag.
2006/10/30: [impl] (thanks K.Takata)
add THREAD_SYSTEM_INIT and THREAD_SYSTEM_END.
2006/10/30: [bug] (thanks Wolfgang Nadasi-Donner)
invalid offset value was used in STATE_CHECK_BUFF_INIT().
2006/10/27: [tune] speed up ONIGENC_MBC_CASE_FOLD() for UTF-16, UTF-32.
(ASCII code check)
2006/10/27: [tune] (thanks Kornelius Kalnbach)
String#scan for long string needs long time compare with
old Ruby
by initialization time for combination explosion check
ex. ("test " * 100_000).scan(/\w*\s?/)
change STATE_CHECK_BUFF_MAX_SIZE from 0x8000000 to 0x8000.
reduce initialization area of state_check_buff.
2006/10/25: [impl] add DISABLE_CASE_FOLD_MULTI_CHAR().
2006/10/23: Version 5.0.1
2006/10/23: [bug] should fold string in expand_case_fold_string().
2006/10/23: [bug] (thanks Km)
too many case fold/unfold expansion problem.
don't expand and set ambig flag to the string node.
(except ONIGENC_CASE_FOLD_MULTI_CHAR).
2006/10/23: [bug] (thanks K.Takata)
invalid \p{Alnum}, \p{ASCII}, [:alnum:], [:ascii:].
fix OnigEncAsciiCtypeTable[] etc...
2006/10/23: [spec] (thanks K.Takata)
add [:word:] POSIX bracket.
2006/10/23: [bug] (thanks K.Takata)
\p{Word} doesn't work.
2006/10/20: [impl] don't expand for AMBIG_FLAG string in
expand_case_fold_string().
2006/10/19: Version 5.0.0
2006/10/18: [bug] ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM should be 13.
2006/10/18: [impl] remove unused functions.
2006/10/18: [dist] update documents.
2006/10/18: [API] move OnigMetaCharTableType to OnigSyntaxType.
2006/10/18: [dev] add too/unicode_fc.rb, unicode_pc.rb.
2006/10/18: [dist] remove MANIFEST-RUBY from distribution.
2006/10/18: [bug] return duplicated code in
onigenc_unicode_get_case_fold_codes_by_str().
2006/10/18 [API] remove ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS.
2006/10/18: [dev] add tool/19.
2006/10/18: [dist] remove target 19 from Makefile.am.
2006/10/17: [dist] add enc/unicode.c to target 19 of win32/Makefile.
2006/10/17: [impl] change type for escape VC++ warning.
2006/10/17: [API] rename ONIGENC_CASE_FOLD_NONE to ONIGENC_CASE_FOLD_MIN.
2006/10/17: [dist] remove INSTALL-RUBY from distribution.
2006/10/17: [dist] update LTVERSION to "2:0:0".
2006/10/17: [impl] remove warnings for [make CFLAGS="-g -O2 -Wall"]
in the case USE_UNICODE_PROPERTIES and
USE_UNICODE_CASE_FOLD_MULTI_CHAR are undefined.
2006/10/17: [impl] remove warnings for [make CFLAGS="-g -O2 -Wall"].
2006/10/17: [impl] re-implement onigenc_unicode_apply_all_case_fold().
multi-char by case folded char-class is treated as
caseless-string (ambig flag on).
enable OP_EXACT1_IC and OP_EXACTN_IC.
2006/10/16: [bug] unfold expand for 1->2, 1->3 folding in
onigenc_unicode_apply_all_case_fold().
add CaseFoldExpand_12[], CaseFoldExpand_13[].
2006/10/16: [bug] (thanks Akinori Musha)
first argument of rb_warn() should be format string.
2006/10/16: [impl] add msa.state_check_buff_size initialization
in onig_search().
2006/10/16: [spec] re-implement Unicode Caseless Match codes.
2006/10/10: [bug] should call onig_st_free_table() in
onig_free_shared_cclass_table().
2006/10/10: [impl] remove OnigCompCaseFoldCodes.
2006/10/10: [impl] remove onigenc_ascii_is_mbc_ambiguous() and
onigenc_mbn_is_mbc_ambiguous().
2006/10/10: [API] remove is_mbc_ambiguous() member from OnigEncodingType.
2006/10/10: [API] rename onig_set_default_ambig_flag() to
onig_set_default_case_fold_flag(),
onig_get_default_ambig_flag() to
onig_get_default_case_fold_flag(),
onig_get_ambig_flag() to onig_get_case_fold_flag().
2006/10/10: [API] rename ambig_flag to case_fold_flag.
2006/10/10: [API] rename OnigAmbigType to OnigCaseFoldType.
2006/10/10: [impl] rename ONIGENC_IS_CODE_SB_WORD() to IS_CODE_SB_WORD()
and move to regint.h.
2006/10/10: [impl] remove OP_WORD_SB and OP_WORD_MB.
2006/10/10: [impl] remove OP_EXACT1_IC and OP_EXACTN_IC from match_at().
2006/10/10: [impl] should free new_str in expand_case_fold_string().
2006/10/06: [dist] add test entries to sample/encode.c.
2006/10/06: [impl] re-implement caseless match (case-fold).
2006/10/06: [impl] expand string node by case fold variations.
add expand_case_fold_string().
2006/10/05: [spec] rename OnigCompAmbigCodeItem to OnigCaseFoldCodeItem.
2006/10/05: [spec] add apply_all_case_fold() and get_case_fold_codes_by_str()
to OnigEncodingType.
2006/10/05: [spec] remove ambig_flag, get_all_pair_ambig_codes() and
get_all_comp_ambig_codes() member from OnigEncodingType.
2006/10/03: [impl] rename mbc_to_normalize() to mbc_case_fold().
2006/10/03: [spec] rename ONIGENC_AMBIGUOUS_MATCH_XXX
to ONIGENC_CASE_FOLD_XXX.
rename ONIGENC_CASE_FOLD_COMPOUND
to ONIGENC_CASE_FOLD_MULTI_CHAR.
2006/10/02: [impl] remove all ONIG_RUBY_M17N part.
2006/09/29: [impl] initialize state_check_buff_size in STATE_CHECK_BUFF_INIT().
make valgrind happy.
2006/09/22: [impl] remove parse time ctype values (CTYPE_WORD etc...)
2006/09/22: [ruby] enable USE_BACKREF_AT_LEVEL for Ruby mode.
2006/09/22: [spec] (thanks Allan Odgaard)
allow upper case letter as the first character
of group name.
fetch_name() and fetch_name_with_level()
2006/09/21: [impl] convert to ascii for parameter string in
onig_error_code_to_str().
add enc member into OnigErrorInfo.
2006/09/21: [dist] update documents for Unicode Property.
2006/09/21: [new] add Unicode Properties. (enc/unicode.c)
Any, Assigned, C, Cc, L, Lm, Arabic, Greek etc...
2006/09/21: [impl] add USE_UNICODE_PROPERTIES into regenc.h.
2006/09/21: [impl] remove USE_UNICODE_FULL_RANGE_CTYPE.
2006/09/20: [impl] change ONIGENC_CTYPE_XXXX to sequencial values.
add BIT_CTYPE_XXXX bit flags to regenc.h.
update XXXX_CtypeTable[] for BIT_CTYPE_ALNUM.
2006/09/19: [memo] move from CVS to Subversion (1.3.2).
2006/09/19: [impl] (thanks KOYAMA Tetsuji)
HAVE_STDARG_PROTOTYPES was not defined in Mac OS X
by Xcode 2.4(gcc 4.0.1) problem. [php-dev 1312] etc...
2006/09/15: [bug] (thanks Allan Odgaard)
out of range access in bm_search_notrev().
(p < s)
2006/09/13: [impl] add ONIGENC_CTYPE_ENC_EXT flag.
2006/09/13: [spec] remove 'Is' prefix check for property name
from fetch_char_property_to_ctype().
2006/09/13: [API] add property_name_to_ctype member to OnigEncodingType.
2006/09/12: [spec][ruby] add ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY and
ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT to OnigSyntaxRuby.
2006/09/08: Version 4.4.2
2006/09/08: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/09/08: [bug] (thanks K.Takata)
out of range access in bm_search_notrev().
2006/09/04: [spec] (thanks K.Takata)
allow look-behind in negative look-behind.
ex. /(?<!(?<=a)b|c)d/
2006/08/29: Version 4.4.1
2006/08/29: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/08/29: [dist] (thanks Seiji Masugata)
add configure option --enable-combination-explosion-check
2006/08/25: Version 4.4.0
2006/08/25: [test] success in ruby 1.9.0 (2006-08-22) [i686-linux].
2006/08/25: [impl] add_state_check_num() should be enclosed in
ifdef USE_COMBINATION_EXPLOSION_CHECK.
2006/08/23: [spec] config USE_COMBINATION_EXPLOSION_CHECK is enabled
in Ruby mode only.
2006/08/22: [impl] remove last line comma in enum OpCode.
2006/08/22: [impl] remove OP_STATE_CHECK_ANYCHAR_STAR_PEEK_NEXT and
OP_STATE_CHECK_ANYCHAR_ML_STAR_PEEK_NEXT.
2006/08/22: [impl] remove OP_BACKREF3.
2006/08/21: Version 4.3.1
2006/08/21: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/21: [impl] change stack type values
and re-define STK_MASK_TO_VOID_TARGET etc...
2006/08/21: [impl] set repeat_range[].upper to 0x7fffffff as infinite.
2006/08/21: [impl] add STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE.
2006/08/21: [impl] reduce (?:a*){n,m}, (?:a+){n,m} => (?:a*){n,n}, (?:a+){n,n}
2006/09/21: [impl] reduce (a*){n,m}, (a+){n,m} => (a*){n,n}, (a+){n,n}
if backreference is not used.
2006/08/17: [bug] should check scan_env.num_call > 0 for backrefed pattern
in combination explosion check.
2006/08/17: Version 4.3.0
2006/08/17: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/17: [new] add config USE_COMBINATION_EXPLOSION_CHECK.
check /(.+)*/, /(\s*foo\s*)*/ etc...
[API] add num_comb_exp_check member in regex_t.
[dist] change LTVERSION value to "1:0:0" in configure.in.
2006/08/15: [bug] OP_REPEAT_INC process in match_at().
should check repeat-count >= range-upper and
range-upper may be infinite.
2006/08/11: Version 4.2.3
2006/08/11: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/10: [impl] remove double call in set_qualifier().
2006/08/10: [impl] remove by_number member in QualifierNode.
2006/08/09: [impl] remove a comma at the end of enum ReduceType
for escape warning on Mac OS X.
2006/08/07: [impl] remove warning in regcomp.c.
2006/08/07: [spec] move definition of USE_BACKREF_AT_LEVEL into NOT_RUBY.
2006/08/03: Version 4.2.2
2006/08/03: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/08/03: [bug] (thanks Hiroyuki Yamamoto)
segmentation fault in regexec(). (POSIX API)
2006/08/02: [bug] combination of \G in look-ahead/look-behind and other
anchors(\A, \z, \Z) cause invalid result.
ex. /(?!\G)a\z/.match("ba")
start arg. of MATCH_ARG_INIT() should be original
arg. of onig_search().
2006/07/31: Version 4.2.1
2006/07/31: [test] success in ruby 1.9.0 (2006-07-28) [i686-linux].
2006/07/31: [bug] (thanks Kimura Minoru)
re-implement bm_search_notrev().
2006/07/31: [impl] bm_search_notrev() refactoring.
2006/07/31: [bug] (thanks Kimura Minoru)
fix incomplete multibyte string in exact info.
2006/07/31: [impl] (thanks Seiji Masugata)
remove cast in va_init_list() for Intel C Compiler.
2006/07/18: Version 4.2.0
2006/07/18: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/07/18: [new] (thanks Wolfgang Nadasi-Donner)
add back reference with nest level.
\k<name+n>, \k<name-n>
2006/07/11: [impl] change long to unsigned long for ONIG_OPTION_XXX
and ONIG_SYN_XXX number literals.
2006/07/03: Version 4.1.2
2006/07/03: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/07/03: [spec] (thanks Wolfgang Nadasi-Donner)
allow \G in look-behind.
add ANCHOR_BEGIN_POSITION flag in setup_tree().
2006/06/12: [impl] (thanks matz)
fix cast from char* to const char*
in onig_snprintf_with_pattern().
fix cast from char* to const char*
for PopularQStr[] and ReduceQStr[].
2006/05/22: Version 4.1.1
2006/05/22: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/22: [impl] add position string argument to STACK_BASE_CHECK().
2006/05/22: [bug] (thanks NARUSE, Yui)
add STK_NULL_CHECK_END to IS_TO_VOID_TARGET().
ex. core dump in
/(?<pare>\(([^\(\)]++|\g<pare>)*+\))/.match('((a))')
2006/05/15: Version 4.1.0
2006/05/15: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/15: [impl] thread atomic changes for onig_end() and
onig_free_node_list().
2006/05/15: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2005/05/15: [dist] update API, API.ja, FAQ, FAQ.ja.
2006/05/15: [spec] remove onig_recompile(), onig_recompile_deluxe()
and re_recompile_pattern().
add config USE_RECOMPILE_API.
2006/05/15: [impl] improved thread safe implementation of onig_search()
and onig_match().
2006/05/11: Version 4.0.4
2006/05/11: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/11: [bug] (thanks Yuji Kaneda)
dead-lock in onig_end().
2006/05/11: [dist] update index.html.
2006/05/08: Version 4.0.3
2006/05/08: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/05/08: [bug] (thanks Allan Odgaard)
Segmentation fault in backward search.
ex. /^\t.*$/
2006/04/18: [dist] update index.html.
2006/04/05: [dist] update index.html.
2006/03/24: [dist] update doc/RE, doc/RE.ja.
2006/03/23: Version 4.0.2
2006/03/22: [test] success in ruby 1.9.0 (2006-03-01) [i686-linux].
2006/03/22: [impl] add both of ONIG_OPTION_DONT_CAPTURE_GROUP
and ONIG_OPTION_CAPTURE_GROUP check.
2006/03/22: [spec] add error code ONIGERR_INVALID_COMBINATION_OF_OPTIONS.
2006/03/22: [impl] remove USE_NAMED_GROUP condition from
ONIG_OPTION_DONT_CAPTURE_GROUP check in parse_effect().
2006/03/22: [new] add API onig_noname_group_capture_is_active().
2006/03/01: [spec] rename regex object type from regex_t to OnigRegexType.
add typedef OnigRegexType regex_t
unless ONIG_ESCAPE_REGEX_T_COLLISION is defined.
2006/02/27: [spec] change ONIG_MAX_MULTI_BYTE_RANGES_NUM from 1000
to 10000. (for docdiff program)
2006/02/17: [dist] change COPYING year 2005 -> 2006.
2006/02/07: Version 4.0.1
2006/02/07: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2006/02/07: [bug] memory leaks in onig_free_shared_cclass_table().
2006/02/03: [ruby] add -m 0644 option to install command in "make 19".
2006/02/03: [impl] rename ANCHOR_ANYCHAR_STAR_PL to ANCHOR_ANYCHAR_STAR_ML.
change from IS_POSIXLINE() to IS_MULTILINE()
for ANCHOR_ANYCHAR_START/_ML decision
in optimize_node_left().
2006/01/26: [dist] update index.html for Oniguruma 2.5.3.
2006/01/25: [dist] update URL in index.html.
2006/01/24: Version 4.0.0
2006/01/24: [test] success in ruby 1.9.0 (2005-11-28) [i386-cygwin].
2006/01/24: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2006/01/24: [dist] remove warnings from sample/encode.c.
2006/01/24: [dist] change install description in README(.ja).
2006/01/24: [dist] remove re.c.XXX.patch from distribution and CVS.
2006/01/24: [dist] --- support shared library ---
use GNU libtool/automake.
change configure.in and add Makefile.am, sample/Makefile.am.
add AUTHORS file.
2006/01/24: [dist] test programs return exit code -1 when test fails.
2006/01/24: [bug] (thanks KIMURA Koichi)
invalid syntax definition in ONIG_SYNTAX_GREP.
ONIG_SYN_OP_BRACE_INTERVAL
-> ONIG_SYN_OP_ESC_BRACE_INTERVAL
2006/01/23: [dist] fix configure.in for onig-config.
2006/01/19: [new] add new config USE_UNICODE_ALL_LINE_TERMINATORS.
(U+000d, U+0085, U+2028, U+2029)
2005/12/29: [dist] change pmatch array size to 25 in testconv.rb.
2005/12/26: [dist] fix name in test.rb.
2005/12/26: [dist] update index.html for 2.5.1.
2005/11/29: Version 3.9.1
2005/11/29: [test] success in ruby 1.9.0 (2005-11-28) [i686-linux].
2005/11/24: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/11/21: [test] success in ruby 1.9.0 (2005-11-20) [i386-cygwin].
2005/11/21: [bug] (thanks Allan Odgaard)
utf-8 character comments in extended mode leads
invalid result.
ex. /(?x)(?<= # <any-utf-8 multibyte char>o\n~) /
fix onigenc_unicode_is_code_ctype() and
utf8_is_code_ctype().
2005/11/20: [bug] (thanks MATSUMOTO Satoshi) (thanks Isao Sonobe)
begin-line anchor and BM search optimization leads
invalid result in UTF-16/32.
fix in set_optimize_exact_info().
2005/11/20: Version 3.9.0
2005/11/20: [test] success in ruby 1.9.0 (2005-11-20) [i386-cygwin].
2005/11/20: [test] success in ruby 1.9.0 (2005-10-18) [i386-cygwin].
2005/11/20: [new] add new config USE_CRNL_AS_LINE_TERMINATOR.
(!!! NO SUPPORT experimental option !!!)
2005/11/15: [bug] (thanks Allan Odgaard)
tok->escape was not cleared in fetch_token_in_cc().
ex. [\s&&[^\n]] makes wrong result.
2005/10/18: [impl] (thanks nobu)
change sjis_mbc_enc_len()
and node_new_cclass_by_codepoint_range() scope to static.
2005/09/05: [dist] remove link to MultiFind.
2005/09/01: [dist] add link to yagrep.
2005/08/23: Version 3.8.9
2005/08/23: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/08/23: [inst] fix Makefile.in for make ctest/ptest.
2005/08/23: Version 3.8.8
2005/08/23: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/08/23: [impl] split is_code_in_cc() from onig_is_code_in_cc().
2005/08/23: [impl] should check DATA_ENSURE() at OP_CCLASS_NODE in match_at().
2005/08/23: [impl] (thanks akr)
add ONIG_OPTION_MAXBIT for escape conflict with
Ruby's option.
2005/08/22: [impl] escape GCC 4.0 warnings for testc.c.
2005/08/22: [bug] (thanks nobu, matz) [ruby-dev:26840]
UTF-8 0xFE, 0xFF handling bug in code_is_in_cclass_node().
abort on /\S*/ =~ "\xfe"
2005/08/22: [impl] escape GCC 4.0 warnings for sample/*.c.
2005/08/22: [impl] fix testconvu.rb.
2005/08/22: [impl] escape GCC 4.0 warnings.
2005/08/09: Version 3.8.7
2005/08/09: [test] success in ruby 1.9.0 (2005-08-09) [i686-linux].
2005/08/09: [bug] (thanks Allan Odgaard)
should not call enc_len() for s == range
in onig_search().
2005/08/01: [dist] add mkdir $prefix, mkdir $exec_prefix to make install.
2005/07/27: Version 3.8.6
2005/07/27: [test] success in ruby 1.9.0 (2005-07-26) [i686-linux].
2005/07/27: [impl] update onig-config.in.
2005/07/26: [new] (thanks Yen-Ju Chen)
add Oniguruma configuration check program.
(onig-config.in)
2005/07/14: Version 3.8.5
2005/07/14: [test] success in ruby 1.9.0 (2005-07-14) [i686-linux].
2005/07/11: [test] success in ruby 1.9.0 (2005-07-04) [i686-linux].
2005/07/11: [bug] (thanks nobu) [ruby-dev:26505]
invalid handling for /\c\x/ and /\C-\x/.
fix fetch_escaped_value().
2005/07/05: [impl] (thanks Alexey Zakhlestine)
escape GCC 4.0 warnings.
2005/07/01: Version 3.8.4
2005/07/01: [test] success in ruby 1.9.0 (2005-07-01) [i686-linux].
2005/06/30: [test] success in ruby 1.9.0 (2005-06-28) [i686-linux].
2005/06/30: [dist] add GB 18030 test to sample/encode.c.
2005/06/30: [impl] escape warning of gb18030_left_adjust_char_head().
2005/06/30: [new] (contributed by KUBO Takehiro)
add new character encoding ONIG_ENCODING_GB18030.
2005/06/30: [bug] invalid ctype check for multibyte encodings.
("graph", "print")
fix onigenc_mb2/4_is_code_ctype(),
eucjp_is_code_ctype() and sjis_is_code_ctype().
2005/06/30: [bug] invalid conversion from code point to mbc in
onigenc_mb4_code_to_mbc().
2005/06/28: Version 3.8.3
2005/06/28: [test] success in ruby 1.9.0 (2005-06-28) [i686-linux].
2005/06/27: [test] success in ruby 1.9.0 (2005-05-31) [i686-linux].
2005/06/27: [bug] (thanks Wolfgang Nadasi-Donner)
invalid check for never ending recursion.
lower zero quantifier should be treated as
a non-recursive call alternative.
ex. /(?<bal>[^()]*(\(\g<bal>\)[^()]*)*)/
2005/06/15: [impl] add divide_ambig_string_node_sub().
2005/06/15: [dist] add a test to sample/encode.c.
2005/06/10: [new] add ONIG_SYNTAX_PERL_NG. (Perl + named group)
2005/06/01: Version 3.8.2
2005/06/01: [test] success in ruby 1.9.0 (2005-05-31) [i686-linux].
2005/05/31: [dist] add doc/FAQ and doc/FAQ.ja.
2005/05/31: [impl] minor change in node_new().
2005/05/30: [test] success in ruby 1.9.0 (2005-05-11) [i686-linux].
2005/05/30: [bug] (thanks Allan Odgaard)
FreeNodeList null check should be on thread-atomic
in node_new().
2005/05/11: Version 3.8.1
2005/05/11: [test] success in ruby 1.9.0 (2005-05-11) [i386-mswin32].
2005/05/11: [dist] update win32/Makefile (make 19).
2005/05/11: [test] success in ruby 1.9.0 (2005-05-11) [i686-linux].
2005/05/06: [test] success in ruby 1.9.0 (2005-05-06) [i686-linux].
2005/05/06: [impl] (thanks nobu) [ruby-core:4815]
add #ifdef USE_VARIABLE_META_CHARS to goto label.
2005/04/25: [test] success in ruby 1.9.0 (2005-04-25) [i686-linux].
2005/04/25: [impl] change DEFAULT_WARN_FUNCTION and DEFAULT_VERB_WARN_FUNCTION
to onig_rb_warn() and onig_rb_warning().
2005/04/15: Version 3.8.0
2005/04/15: [test] success in ruby 1.9.0 (2005-04-14) [i686-linux].
2005/04/01: [test] success in ruby 1.9.0 (2005-03-24) [i686-linux].
2005/04/01: [impl] (thanks Joe Orton)
(thanks Moriyoshi Koizumi)
many const-ification to many *.[ch] files.
2005/03/25: Version 3.7.2
2005/03/25: [test] success in ruby 1.9.0 (2005-03-24) [i686-linux].
2005/03/23: [test] success in ruby 1.9.0 (2005-03-20) [i686-linux].
2005/03/23: [test] success in ruby 1.9.0 (2005-03-08) [i686-linux].
2005/03/23: [new] add ONIG_SYNTAX_ASIS.
2005/03/23: [new] add ONIG_SYN_OP2_INEFFECTIVE_ESCAPE.
2005/03/09: [spec] rename MBCTYPE_XXX to RE_MBCTYPE_XXX. (GNU API)
2005/03/08: [test] success in ruby 1.9.0 (2005-03-08) [i686-linux].
2005/03/08: [impl] (thanks matz) [ruby-dev:25783]
should not allocate memory for key data in st.c.
move st_*_strend() functions from st.c. fixed some
potential memory leaks.
(imported from Ruby 1.9 2005-03-08)
2005/03/07: Version 3.7.1
2005/03/07: [test] success in ruby 1.9.0 (2005-03-07) [i686-linux].
2005/03/07: [impl] (thanks Rui Hirokawa)
add ONIG_ESCAPE_UCHAR_COLLISION.
rename UChar to OnigUChar in oniguruma.h.
2005/03/07: [impl] remove declarations for Ruby in oniggnu.h.
2005/03/05: [bug] ANCHOR_ANYCHAR_STAR didn't work in onig_search().
2005/03/01: [dist] remove oniggnu.h from MANIFEST-RUBY.
remove oniggnu.h from make 19.
2005/03/01: [bug] (thanks matz) [ruby-dev:25778]
uninitialized member (OptEnv.backrefed_status)
was used.
2005/02/19: Version 3.7.0
2005/02/19: [test] success in ruby 1.9.0 (2005-02-19) [i386-cygwin].
2005/02/19: [new] (thanks Minero Aoki)
add onig_region_set().
2005/02/19: [API] change onig_region_init() to extern.
2005/02/19: [dist] remove reggnu.c from MANIFEST-RUBY.
remove reggnu.c from make 19.
2005/02/19: [dist] update doc/API and doc/API.ja.
2005/02/19: [test] success in ruby 1.9.0 (2005-02-19) [i386-cygwin].
2005/02/19: [impl] (thanks Alexey Zakhlestine)
change UChar* to const UChar* in oniguruma.h,
regenc.h and regparse.h.
2005/02/13: [impl] change UChar* to const UChar* in oniguruma.h and
onigposix.h and st.h.
2005/02/12: [test] success in ruby 1.9.0 (2005-02-11) [i386-cygwin].
2005/02/12: [bug] (thanks nobu) [ruby-dev:25676]
type_cclass_hash() fix overrun.
2005/02/09: [test] success in ruby 1.9.0 (2005-02-09) [i686-linux].
2005/02/09: [spec] add RE_OPTION_FIND_NOT_EMPTY etc.. to oniggnu.h.
2005/02/09: [dist] remove hash.c.patch.
2005/02/07: [impl] remove re_mbctab, mbctab_ascii etc...
(USE_COMPATIBILITY_FOR_RUBY_EXTENSION_LIBRARY)
2005/02/04: Version 3.6.0
2005/02/04: [test] success in ruby 1.9.0 (2005-02-04) [i686-linux].
2005/02/01: [bug] add key_free() call to st_free_table().
2005/02/01: [new] add onig_get_default_ambig_flag() and
onig_set_default_ambig_flag().
2005/02/01: [dist] update MANIFEST-RUBY.
2005/01/31: [test] success in ruby 1.9.0 (2005-01-29) [i686-linux].
2005/01/31: [spec] remove ONIGENC_AMBIGUOUS_MATCH_COMPOUND
from ONIGENC_AMBIGUOUS_MATCH_DEFAULT.
2005/01/31: [dist] update Makefile.in (make 19).
2005/01/29: [memo] (thanks Kazuo Saito)
Oniguruma 3.5.4 was merged to Ruby 1.9.0.
2005/01/28: [impl] (thanks UK-taniyama)
add extern "C" { } directive to oniguruma.h, oniggnu.h
and onigposix.h for C++.
2005/01/25: [impl] remove nested function call for xxx_code_to_mbclen().
(euc_kr.c, euc_tw.c, big5.c)
2005/01/19: Version 3.5.4
2005/01/19: [test] success in ruby 1.9.0 (2005-01-05) [i686-linux].
2005/01/19: [bug] (thanks Isao Sonobe)
callback function argument name_end of onig_foreach_name()
was wrong.
name key of name table should be null terminated for
character encoding length.
add strdup_with_null(), rename onig_strdup() to k_strdup().
use e->name_len in i_names().
2005/01/17: [impl] (thanks UK-taniyama)
add HAVE_SYS_TYPES_H to config.h.in.
2005/01/13: Version 3.5.3
2005/01/13: [test] success in ruby 1.9.0 (2005-01-05) [i686-linux].
2005/01/13: [bug] ignore case match bug.
ex. /s+/iu.match("SSSSS") ==> [4..5]
fix OP_EXACT1_IC, OP_EXACTN_IC process.
2005/01/13: [bug] (thanks Isao Sonobe)
ignore case match bug.
ex. /is/iu.match("ss") fail.
fix str_lower_case_match() etc.
2005/01/05: Version 3.5.2
2005/01/05: [test] success in ruby 1.9.0 (2005-01-05) [i686-linux].
2005/01/05: [test] success in ruby 1.9.0 (2004-12-16) [i686-linux].
2005/01/05: [bug] (thanks Isao Sonobe)
ignore case match bug.
ex. /s+/iu.match("sssss") ==> [4..5]
fix OP_EXACT1_IC, OP_EXACTN_IC process.
2005/01/05: [bug] (thanks Isao Sonobe)
group name table should be renumbered.
add onig_renumber_name_table().
2004/12/24: [dist] remove file onigcmpt200.h.
2004/12/17: Version 3.5.1
2004/12/17: [dist] add INSTALL-RUBY to archive.
2004/12/16: [test] success in ruby 1.9.0 (2004-12-16) [i686-linux].
2004/12/16: [dist] update hash.c.patch.
2004/12/15: [bug] (thanks matz)
char > 127 should be casted to unsigned char. (utf8.c)
2004/12/13: [impl] add HAVE_PROTOTYPES and HAVE_STDARG_PROTOTYPES definition
to oniguruma.h in the case __cplusplus.
2004/12/06: [dist] update doc/RE and doc/RE.ja.
2004/12/03: [impl] (thanks nobu)
st.h fix prototype for C++.
2004/12/03: Version 3.5.0
2004/12/02: [test] success in ruby 1.9.0 (2004-12-02) [i686-linux].
2004/12/01: [test] success in ruby 1.9.0 (2004-12-01) [i386-mswin32].
2004/12/01: [dist] add make targets 19 and 19up to win32/Makefile.
2004/12/01: [test] success in ruby 1.9.0 (2004-12-01) [i386-cygwin].
2004/12/01: [test] success in ruby 1.9.0 (2004-12-01) [i686-linux].
2004/12/01: [impl] double cast for escape warning in Cygwin.
(HashDataType* )((void* )(&e)) in regparse.c
2004/12/01: [test] success in ruby 1.9.0 (2004-11-30) [i686-linux].
2004/12/01: [tune] change implementation of clear_opt_map_info().
(which was 10-16% cost in gprof result for my test program)
2004/12/01: [dist] remove regex.c from distribution files.
2004/11/30: [memo] remove targets 16 and 18 from Makefile.in.
2004/11/30: [test] success in ruby 1.9.0 (2004-11-30) [i686-linux].
2004/11/30: [inst] add "cp -p st.[ch] st.[ch].ruby_orig" to "make 19".
2004/11/30: [tune] map_position_value() return 20 if code is 0
and minimum enclen > 1.
2004/11/30: [test] success in ruby 1.9.0 (2004-11-29) [i686-linux].
2004/11/30: [impl] minor changes for multi-thread in regexec.c and regcomp.c.
2004/11/30: [impl] change THREAD_PASS_LIMIT_COUNT value from 10 to 8.
2004/11/30: [impl] add THREAD_ATOMIC_XXX to FreeNodeList access in regparse.c
2004/11/29: [impl] add USE_MULTI_THREAD_SYSTEM.
2004/11/29: [memo] add hash.c.patch to CVS.
2004/11/29: [dist] change mail address to 'sndgk393 AT ...'
2004/11/29: [dist] add -s option (silent mode) to test.rb.
2004/11/29: [tune] change THRESHOLD_RANGE_NUM_FOR_SHARE_CCLASS value
from 20 to 8.
2004/11/29: [inst] add make target "19up".
2004/11/29: [dist] change Oniguruma Home Page URL.
2004/11/29: [impl] remove onig_is_in_code_range_array().
2004/11/29: [dist] fix doc/RE and RE.ja (character types).
2004/11/26: [dist] fix win32/Makefile.
2004/11/26: [dist] fix doc/RE and RE.ja (multibyte character types).
2004/11/26: [impl] add onig_free_shared_cclass_table().
2004/11/26: [impl] move definition USE_UNICODE_FULL_RANGE_CTYPE to regenc.h.
2004/11/26: [impl] add opcode OP_CCLASS_NODE.
2004/11/26: [impl] move definition of CClassNode to regint.h.
2004/11/26: [impl] add type PointerType in regint.h.
2004/11/25: [impl] remove ONIGENC_CTYPE_MOD_NOT.
2004/11/25: [impl] rename onig_node_new_cclass_by_codepoint_range to
node_new_cclass_by_codepoint_range.
2004/11/25: [impl] remove get_type_cc_node method from OnigEncodingType.
2004/11/25: [impl] move implementation of shared char-class from enc/*.c
to regparse.c.
2004/11/25: [dist] add hash.c.patch for Ruby 1.9 hash.c change.
2004/11/22: [impl] change utf8_get_type_node().
2004/11/22: [impl] add ONIGENC_CTYPE_MOD_NOT.
2004/11/22: [bug] (thanks MIYAMUKO Katsuyuki)
ruby make test fail in HP-UX B.11.23 ia64.
should use tok->u.code instead of tok->u.c in
the case of TK_CODE_POINT.
2004/11/19: [bug] (thanks Yoshida Masato)
invalid multibyte code causes segmentation fault.
ex. /[\xFF-\xFF]/u
2004/11/19: [bug] (thanks Yoshida Masato)
illegal check in char-class range in UTF-8.
ex. s = "[\xC2\xA0-\xC3\xBE]"
p(Regexp.new(s, nil, "u") =~ "\xC3\xBE")
2004/11/18: [impl] add onig_node_new_cclass_by_codepoint_range().
2004/11/18: [impl] remove OnigCodePointRange type. (use OnigCodePoint[].)
2004/11/17: [bug] (thanks nobu)
abort in "a".gsub(/a\Z/, "")
fix ONIGENC_STEP_BACK() argument in onig_search().
2004/11/16: [impl] add key2 member to st_table_entry in st.[ch].
change API of st for non-null terminated string key.
2004/11/16: [impl] add get_type_cc_node method to OnigEncodingType.
2004/11/15: [impl] add st.h and st.c from Ruby 1.9.
use st-hash always.
2004/11/12: [impl] change member 'not' of CClassNode to 'flags'.
add flags FLAG_CCLASS_NOT and FLAG_CCLASS_SHARE.
2004/11/12: [impl] add onig_is_in_code_range_array() to enc/unicode.c.
2004/11/12: [impl] fix CRWord in enc/unicode.c and MBWord in enc/utf8.c.
2004/11/11: [bug] fix enc/utf8.c.
size 0 array initializer was compile error in VC++.
2004/11/09: [inst] (thanks Hiroki YAGITA)
change installed file mode to 0644.
2004/11/09: [bug] (thanks UK-taniyama)
wrong definitions GET_RELADDR_INC(), GET_ABSADDR_INC()
etc... (NOT PLATFORM_UNALIGNED_WORD_ACCESS)
2004/11/09: [impl] type cast in regexec() for remove compile time warning.
(WIN32, regposix.c)
2004/11/08: [spec] fix Unicode character types.
0x00ad (soft hyphen) should be [:cntrl:] and [:space:] type.
[0x0009..0x000d], 0x0085 should be [:print:] type.
0x00ad should not be [:punct:] type.
2004/11/08: [inst] fix Makefile.in. (for make ctest/ptest/testcu)
2004/11/06: [impl] (thanks Kazuo Saito)
too many alternatives pattern causes core dump.
change implementation of onig_node_free().
2004/11/05: [spec] rename ONIGERR_END_PATTERN_AT_BACKSLASH to
ONIGERR_END_PATTERN_AT_ESCAPE.
2004/11/05: [impl] (thanks matz)
escape compile time warnings for x86-64 Linux.
StackIndex type int -> long
2004/11/05: [memo] (thanks Kazuo Saito)
Oniguruma 3.4.0 was merged to Ruby 1.9.0.
2004/10/30: Version 3.4.0
2004/10/30: [test] success in ruby 1.9.0 (2004-09-24) [i686-linux].
2004/10/30: [new] add hexadecimal digit char type. (\h, \H)
syntax: ONIG_SYN_OP2_ESC_H_XDIGIT
2004/10/30: [bug] (thanks Guy Decoux)
reluctant infinite repeat bug.
ex. /^[a-z]{2,}?$/.match("aaa") fail.
fix OP_REPEAT_INC_NG process in match_at().
2004/10/18: Version 3.3.1
2004/10/18: [test] success in ruby 1.9.0 (2004-09-24) [i686-linux].
2004/10/18: [impl] (thanks Imai Yasumasa)
enclose #include <sys/types.h> 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