naruse
0424e152c6
* Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820 ]
...
https://github.com/k-takata/Onigmo
cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h
cp oniguruma.h
cp tool/enc-unicode.rb
cp -r enc/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 07:42:23 +00:00
naruse
800f04c6a5
* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint
...
is invalid. [Feature #5855 ] [Bug #5863 ] [Bug #5864 ]
* string.c (rb_str_concat): ditto.
* string.c (rb_str_concat): set encoding as ASCII-8BIT when the string
is US-ASCII and the argument is an integer greater than 127.
* regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.
* enc/euc_jp.c (code_to_mbclen): ditto.
* enc/shift_jis.c (code_to_mbclen): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-08 20:42:45 +00:00
nobu
3a47cf3395
* remove trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
nobu
5528903d01
* enc/{emacs_mule,euc_jp}.c (code_to_mbc): suppress warnings.
...
* enc/iso_8859_{1,2}.c (apply_all_case_fold): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 20:16:32 +00:00
naruse
07b1f01b33
* enc/shift_jis.c (property_name_to_ctype): fix memory leak.
...
* enc/euc_jp.c (property_name_to_ctype): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-17 00:49:49 +00:00
naruse
dbf7e6f9f2
* regenc.c (onigenc_minimum_property_name_to_ctype):
...
\p{...} should be case insensitive. [ruby-core:33000]
* regenc.c (onigenc_property_list_add_property):
ditto.
* enc/euc_jp.c (init_property_list, property_name_to_ctype):
to lowercase property names.
* enc/shift_jis.c (init_property_list, property_name_to_ctype):
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-09 07:36:33 +00:00
naruse
81e40399fb
add references.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-18 06:42:01 +00:00
akr
081c802cb9
* grapheme cluster implementation reverted. [ruby-dev:36375]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-18 12:53:25 +00:00
akr
a67d4fa01c
* include/ruby/oniguruma.h (OnigEncodingTypeST): add precise_ret
...
argument for mbc_to_code.
(ONIGENC_MBC_TO_CODE): provide NULL for precise_ret.
(ONIGENC_MBC_PRECISE_CODEPOINT): defined.
* include/ruby/encoding.h (rb_enc_mbc_precise_codepoint): defined.
* regenc.h (onigenc_single_byte_mbc_to_code): precise_ret argument
added.
(onigenc_mbn_mbc_to_code): ditto.
* regenc.c (onigenc_single_byte_mbc_to_code): precise_ret argument
added.
(onigenc_mbn_mbc_to_code): ditto.
* string.c (count_utf8_lead_bytes_with_word): removed.
(str_utf8_nth): removed.
(str_utf8_offset): removed.
(str_strlen): UTF-8 codepoint oriented optimization removed.
(rb_str_substr): ditto.
(enc_succ_char): use rb_enc_mbc_precise_codepoint.
(enc_pred_char): ditto.
(rb_str_succ): ditto.
* encoding.c (rb_enc_ascget): check length with
rb_enc_mbc_precise_codepoint.
(rb_enc_codepoint): use rb_enc_mbc_precise_codepoint.
* regexec.c (string_cmp_ic): add text_end argument.
(match_at): check end of character after exact string matches.
* enc/utf_8.c (graphme_table): defined for extended graphme cluster
boundary.
(grapheme_cmp): defined.
(get_grapheme_properties): defined.
(grapheme_boundary_p): defined.
(MAX_BYTES_LENGTH): defined.
(comb_char_enc_len): defined.
(mbc_to_code0): extracted from mbc_to_code.
(mbc_to_code): use mbc_to_code0.
(left_adjust_combchar_head): defined.
(utf_8): use a extended graphme cluster as a unit.
* enc/unicode.c (onigenc_unicode_mbc_case_fold): use
ONIGENC_MBC_PRECISE_CODEPOINT to extract codepoints.
(onigenc_unicode_get_case_fold_codes_by_str): ditto.
* enc/euc_jp.c (mbc_to_code): follow mbc_to_code field change.
use onigenc_mbn_mbc_to_code.
* enc/shift_jis.c (mbc_to_code): ditto.
* enc/emacs_mule.c (mbc_to_code): ditto.
* enc/gbk.c (gbk_mbc_to_code): follow mbc_to_code field and
onigenc_mbn_mbc_to_code change.
* enc/cp949.c (cp949_mbc_to_code): ditto.
* enc/big5.c (big5_mbc_to_code): ditto.
* enc/euc_tw.c (euctw_mbc_to_code): ditto.
* enc/euc_kr.c (euckr_mbc_to_code): ditto.
* enc/gb18030.c (gb18030_mbc_to_code): ditto.
* enc/utf_32be.c (utf32be_mbc_to_code): follow mbc_to_code field
change.
* enc/utf_16be.c (utf16be_mbc_to_code): ditto.
* enc/utf_32le.c (utf32le_mbc_to_code): ditto.
* enc/utf_16le.c (utf16le_mbc_to_code): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 16:48:05 +00:00
akr
19416601a0
* include/ruby/oniguruma.h (OnigEncodingTypeST): add end argument for
...
left_adjust_char_head.
(ONIGENC_LEFT_ADJUST_CHAR_HEAD): add end argument.
(onigenc_get_left_adjust_char_head): ditto.
* include/ruby/encoding.h (rb_enc_left_char_head): add end argument.
* regenc.h (onigenc_single_byte_left_adjust_char_head): ditto.
* regenc.c (onigenc_get_right_adjust_char_head): follow the interface
change.
(onigenc_get_right_adjust_char_head_with_prev): ditto.
(onigenc_get_prev_char_head): ditto.
(onigenc_step_back): ditto.
(onigenc_get_left_adjust_char_head): ditto.
(onigenc_single_byte_code_to_mbc): ditto.
* re.c: ditto.
* string.c: ditto.
* io.c: ditto.
* regexec.c: ditto.
* enc/euc_jp.c: ditto.
* enc/cp949.c: ditto.
* enc/shift_jis.c: ditto.
* enc/gbk.c: ditto.
* enc/big5.c: ditto.
* enc/euc_tw.c: ditto.
* enc/euc_kr.c: ditto.
* enc/emacs_mule.c: ditto.
* enc/gb18030.c: ditto.
* enc/utf_8.c: ditto.
* enc/utf_16le.c: ditto.
* enc/utf_16be.c: ditto.
* enc/utf_32le.c: ditto.
* enc/utf_32be.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 19:23:52 +00:00
naruse
3960c2f7a7
* enc/euc_jp.c (euc-jp-ms): euc-jp-ms is not EUC-JP not an alias of
...
eucJP-ms.
* enc/trans/japanese.trans (eucJP-ms): eucJP-ms is the correct
name of the encoding in Ruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 08:24:55 +00:00
shyouhei
0ef21e44e7
forgot to commit
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 09:50:30 +00:00
mame
d7baa40cac
* enc/euc_jp.c (property_name_to_ctype): core dumped when sizeof(int)
...
differs from sizeof(long).
* enc/shift_jis.c (property_name_to_ctype): ditto.
* enc/unicode.c (onigenc_unicode_property_name_to_ctype): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 13:06:34 +00:00
naruse
8984fa6742
* enc/{euc_jp.c,gbk.c,iso_8859_1.c,iso_8859_11.c,iso_8859_13.c,
...
iso_8859_2.c,iso_8859_6.c,iso_8859_7.c,iso_8859_8.c,iso_8859_9.c,
shift_jis.c,windows_1251.c}: add document about encodings.
* enc/cp949.c: divided into new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-17 03:21:20 +00:00
naruse
0a640a9386
* enc/*: add ARG_UNUSED.
...
* enc/koi8_u.c: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-15 14:54:40 +00:00
naruse
edc61cf4c1
* encoding.c (ENC_REGISTER): use &OnigEncoding*.
...
(ENCINDEX_UTF_8): renamed from ENCINDEX_UTF8.
(rb_enc_init): use ENC_REGISTER.
* include/ruby/oniguruma.h (OnigEncodingUTF8, ONIG_ENCODING_UTF8):
removed.
* enc/*.c: remove use of &encoding_*; use enc argument instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-15 13:36:18 +00:00
naruse
8f15b8128c
* include/ruby/oniguruma.h: remove ONIG_ENCODING_* and OnigEncoding*
...
which are not builtin.
* regenc.{c,h} (onigenc_mb2_code_to_mbclen, onigenc_mb4_code_to_mbclen):
fix prototype.
* enc/big5.c, enc/euc_kr.c, enc/euc_tw.c, enc/gb18030.c,
enc/koi8_r.c, enc/windows_1251.c: imported from Oniguruma.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-13 17:16:09 +00:00
naruse
21671b558c
* enc/make_encdb.h: sort encoding names by original name.
...
* encoding.c, enc/*.c: define replicas and aliases.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-13 14:29:12 +00:00
naruse
513d0ca7f6
* encoding.c (ENCINDEX_EUC_JP, ENCINDEX_SJIS): removed.
...
(rb_enc_init): EUC-JP and Shift_JIS are not builtin now.
* enc/Makefile.in: ditto.
* common.mk: ditto.
* ruby.c (proc_options): ditto.
* enc/shift_jis.c, enc/euc_jp.c: fixes for romove from builtin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-13 02:51:15 +00:00
naruse
5b9739a832
* enc/make_encdb.rb: added. search enc/*.c and make encoding database.
...
* regenc.h (ENC_REPLICATE, ENC_ALIAS): added for defining replica
encoding and encoding alias.
* encoding.c (rb_enc_init): move alias definitions to enc/*.c.
(rb_enc_find_index): search original of replica and alias when no
encoding library.
(rb_enc_name_list, rb_enc_aliases_enc_i, rb_enc_aliases_str_i,
rb_enc_aliases, Encoding.name_list, Encoding.aliases): added.
(Init_Encoding): init encdb.
* enc/ascii.c, enc/us_ascii.c, enc/euc_jp.c, enc/sjis.c:
add replica encoding and encoding alias difinition.
* common.mk (dist-clean-local): add rule for remvoe encdb.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-12 16:03:51 +00:00
akr
ed74723af4
* enc/euc_jp.c: remove eucjp_ prefix. breakpoint can be specified as
...
euc_jp.c:mbc_enc_len. avoid needless conflict by merge.
* enc/sjis.c: remove sjis_ prefix.
* enc/utf8.c: remove utf8_ prefix.
* enc/iso_8859_1.c: remove iso_8859_1_ prefix.
* enc/iso_8859_2.c: remove iso_8859_2_ prefix.
* enc/iso_8859_3.c: remove iso_8859_3_ prefix.
* enc/iso_8859_4.c: remove iso_8859_4_ prefix.
* enc/iso_8859_5.c: remove iso_8859_5_ prefix.
* enc/iso_8859_6.c: remove iso_8859_6_ prefix.
* enc/iso_8859_7.c: remove iso_8859_7_ prefix.
* enc/iso_8859_8.c: remove iso_8859_8_ prefix.
* enc/iso_8859_9.c: remove iso_8859_9_ prefix.
* enc/iso_8859_10.c: remove iso_8859_10_ prefix.
* enc/iso_8859_11.c: remove iso_8859_11_ prefix.
* enc/iso_8859_13.c: remove iso_8859_13_ prefix.
* enc/iso_8859_14.c: remove iso_8859_14_ prefix.
* enc/iso_8859_15.c: remove iso_8859_15_ prefix.
* enc/iso_8859_16.c: remove iso_8859_16_ prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-03 17:57:48 +00:00
matz
52ed8c4edd
* include/ruby/oniguruma.h: Oniguruma 1.9.1 merged.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-03 15:55:04 +00:00
akr
a13c1148a9
* enc/us_ascii.c: add us_ascii_ prefix for functions to ease
...
setting breakpoint when debugging.
* enc/euc_jp.c: add eucjp_ prefix.
* enc/sjis.c: add sjis_ prefix.
* enc/iso_8859_1.c: add iso_8859_1_ prefix.
* enc/iso_8859_2.c: add iso_8859_2_ prefix.
* enc/iso_8859_3.c: add iso_8859_3_ prefix.
* enc/iso_8859_4.c: add iso_8859_4_ prefix.
* enc/iso_8859_5.c: add iso_8859_5_ prefix.
* enc/iso_8859_6.c: add iso_8859_6_ prefix.
* enc/iso_8859_7.c: add iso_8859_7_ prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-02 20:06:58 +00:00
nobu
817a4e3c83
* common.mk (enc.mk): depends on $(RBCONFIG) instead of rbconfig.rb.
...
* encoding.c (Init_Encoding): ISO-8859-1 is no longer a replica.
* regenc.h (OnigEncodingDefine): names of extension and encoding can
differ.
* enc/Makefile.in: always shared.
* enc/depend (deffile): should not upcase.
* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: fix for Init.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 02:23:26 +00:00
nobu
dc4d4b3923
* common.mk (enc.mk): depends on rbconfig.rb.
...
* regenc.h (OnigEncodingDefine): external encoding definition macro.
* enc/Makefile.in: fix for linking.
* enc/depend, enc/make_encmake.rb: fix for Windows.
* enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: renamed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 08:07:56 +00:00
akr
69406aad50
* encoding.c (rb_enc_precise_mbclen): new function for mbclen with
...
validation.
* include/ruby/encoding.h (rb_enc_precise_mbclen): declared.
(MBCLEN_CHARFOUND): new macro.
(MBCLEN_INVALID): new macro.
(MBCLEN_NEEDMORE): new macro.
* include/ruby/oniguruma.h (OnigEncodingTypeST): replace mbc_enc_len
by precise_mbc_enc_len.
(ONIGENC_PRECISE_MBC_ENC_LEN): new macro.
(ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND): new macro.
(ONIGENC_CONSTRUCT_MBCLEN_INVALID): new macro.
(ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): new macro.
(ONIGENC_MBCLEN_CHARFOUND): new macro.
(ONIGENC_MBCLEN_INVALID): new macro.
(ONIGENC_MBCLEN_NEEDMORE): new macro.
(ONIGENC_MBC_ENC_LEN): use ONIGENC_PRECISE_MBC_ENC_LEN.
* enc/euc_jp.c: validation implemented.
* enc/sjis.c: ditto.
* enc/utf8.c: ditto.
* string.c (rb_str_inspect): use rb_enc_precise_mbclen for invalid
encoding.
(rb_str_valid_encoding_p): new method String#valid_encoding?.
* io.c (rb_io_getc): use rb_enc_precise_mbclen.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 09:28:26 +00:00
nobu
72483cdcca
* Makefile.in, */Makefile.sub (VPATH): add enc directory.
...
* common.mk (ENCOBJS): encoding objects.
* enc: directory for encodings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-10 21:35:45 +00:00