summaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
...
* * regexec.c (string_cmp_ic): add text_end argument.akr2008-09-181-0/+4
| | | | | | | | (slow_search): call enclen with real string end. (map_search): add text_end argument. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_comparable): make ascii8bit string to bematz2008-09-181-4/+5
| | | | | | | | | compatible with any other encoding. * string.c (rb_str_cmp): use rb_str_comparable() instead of rb_enc_compatible() since <=> is a comparison anyway. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * grapheme cluster implementation reverted. [ruby-dev:36375]akr2008-09-182-27/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c: add "Error" suffix for Encoding exception classes.matz2008-09-187-179/+179
| | | | | | | | | | a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in [ruby-dev:36346]. * encoding.c (Init_Encoding): rename EncodingCompatibilityError to Encoding::CompatibilityError. [ruby-dev:36366] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_casecmp): don't use rb_enc_codepoint.akr2008-09-171-0/+12
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_s_convert): accepts complextadf2008-09-171-1/+4
| | | | | | | | value (Complex(a,b) as a+bi). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_dup): avoid infinite loop.kazu2008-09-171-5/+1
| | | | | | | | | | [ruby-dev:36326] * test/ruby/test_io.rb (TestIO#test_dup): remove needless open. [ruby-dev:35957] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c: provides predicate real? instead of scalar?.tadf2008-09-163-10/+14
| | | | | | | | | | * complex.c: follows the above change. * lib/cmath.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io_m17n.rb: use __FILE__ instead of /dev/null.akr2008-09-161-5/+5
| | | | | | | | [ruby-dev:36327] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/oniguruma.h (OnigEncodingTypeST): add precise_retakr2008-09-161-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@19389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_marshal_{dump,load}): preserve instancetadf2008-09-162-0/+4
| | | | | | | | | | variables. * rational.c (nurat_marshal_{dump,load}): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c ():matz2008-09-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * string.c (): * string.c (single_byte_optimizable): make function inline. based on a patch from Michael Selig <michael.selig at fs.com.au> in [ruby-core:18532]. * string.c (str_modify_keep_cr): new function act as rb_str_modify(), but don't clear coderange * string.c (rb_str_casecmp): specialized for single byte strings. * string.c (rb_str_splice): preserve coderange. * string.c (rb_str_slice_bang, rb_str_reverse_bang, rb_str_upcase_bang, rb_str_downcase_bang, tr_trans, rb_str_capitalize_bang, rb_str_swapcase_bang, rb_str_delete_bang, rb_str_chop_bang, rb_str_chomp_bang, rb_str_lstrip_bang, rb_str_rstrip_bang): ditto. * string.c (rb_str_clear): preset coderange. * string.c (rb_str_split_m): specialized for splitting with a string. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_dup): exception should bematz2008-09-161-0/+3
| | | | | | raised from IO#dup. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_dup): this test might fail ifmatz2008-09-151-16/+7
| | | | | | there are any garbage IO objects. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add assertion message for previous commit.akr2008-09-151-6/+13
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_quote): use rb_enc_mbcput to generate ASCIIakr2008-09-151-0/+6
| | | | | | | incompatible characters properly. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_compatible): accepst other than strings andnaruse2008-09-151-1/+6
| | | | | | | | regexps. [ruby-core:18595] * encoding.c (rb_enc_get_index): works files and encodings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_eql_p): new.tadf2008-09-151-0/+4
| | | | | | | | | | * complex.c (nucomp_hash): should use hash values of the elements. * rational.c (nurat_hash): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (str_encode): returns duplicated string if nothingnobu2008-09-141-0/+6
| | | | | | | changed. [ruby-core:18578] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (f_{add,mul,sub}): omitted some shortcuts for preservetadf2008-09-141-0/+20
| | | | | | | | | | signed zero anyway. * complex.c (nucomp_negate): new. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c: refined.tadf2008-09-131-1/+1
| | | | | | | | * rational.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_prepare_opts): raise ArgumentError ifakr2008-09-121-0/+7
| | | | | | | a broken string is specified as a replacement. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2008-09-121-0/+12
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (validate_enc_binmode): extracted from rb_io_extract_modeenc.akr2008-09-121-0/+18
| | | | | | | | (rb_io_extract_modeenc): use validate_enc_binmode. (io_encoding_set): call validate_enc_binmode. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/escape.trans: transcoder name renamed to use underscore.akr2008-09-121-11/+11
| | | | | | | | * transcode.c: follow the renaming. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_init_by_convpath_i): new function.akr2008-09-121-2/+24
| | | | | | | | (rb_econv_init_by_convpath): new function. (econv_init): use rb_econv_init_by_convpath. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (decorator_names): extracted from rb_econv_open.akr2008-09-121-0/+16
| | | | | | | | | | | | | (rb_econv_open): use decorator_names. (econv_args): extracted from econv_init. (econv_init): use econv_args. (decorate_convpath): new function. (search_convpath_i): new function. (econv_s_search_convpath): new method. (Init_transcode): new method defined. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2008-09-121-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (make_encoding): new function.akr2008-09-101-15/+22
| | | | | | | | | | | (make_encobj): new function. (econv_s_asciicompat_encoding): use make_encoding. (rb_econv_open_exc): use SUPPLEMENTAL_CONVERSION. (econv_convpath): use encoding object in the result. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (econv_convpath): new method.akr2008-09-101-0/+19
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test modified.akr2008-09-101-1/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (econv_after_output): renamed fromakr2008-09-091-28/+28
| | | | | | | | | | | | | econv_output_followed_by_input. (ECONV_AFTER_OUTPUT): renamed from ECONV_OUTPUT_FOLLOWED_BY_INPUT. * transcode.c: follow the renaming. * io.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fwrite): raise an error if ASCII incompatible stringakr2008-09-091-31/+184
| | | | | | | | | written for text mode IO without encoding conversion. (rb_io_extract_modeenc): binmode requirement changed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_DECORATOR_MASK): mergeakr2008-09-091-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | ECONV_ENCODER_MASK and ECONV_DECORATOR_MASK. (ECONV_UNIVERSAL_NEWLINE_DECORATOR): renamed from ECONV_UNIVERSAL_NEWLINE_DECODER. (ECONV_CRLF_NEWLINE_DECORATOR): renamed from ECONV_CRLF_NEWLINE_ENCODER. (ECONV_CR_NEWLINE_DECORATOR): renamed from ECONV_CR_NEWLINE_ENCODER. (ECONV_XML_TEXT_DECORATOR): renamed from ECONV_XML_TEXT_ENCODER. (ECONV_XML_ATTR_CONTENT_DECORATOR): renamed from ECONV_XML_ATTR_CONTENT_ENCODER. (ECONV_STATEFUL_DECORATOR_MASK): renamed from ECONV_STATEFUL_ENCODER_MASK. (ECONV_XML_ATTR_QUOTE_DECORATOR): renamed from ECONV_XML_ATTR_CONTENT_DECORATOR. * io.c: follow the renaming. * transcode.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2008-09-081-0/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_econv_decorate_at_first): declared.akr2008-09-081-3/+3
| | | | | | | | | | | | | | | | | | | | (rb_econv_decorate_at_last): declared. * transcode.c (rb_econv_open_by_transcoder_entries): initialize replacement_enc. allocate outbuf for the last transcoder. (rb_econv_open0): extracted from rb_econv_open. (rb_econv_open): use rb_econv_open0 and decorate the result using rb_econv_decorate_at_first and rb_econv_decorate_at_last. (rb_econv_decorate_at): new function. (rb_econv_decorate_at_first): ditto. (rb_econv_decorate_at_last): ditto. (rb_econv_binmode): fix iteration end condition. (econv_init): don't set source_encoding_name and destination_encoding_name because they are set in rb_econv_open0. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests.akr2008-09-081-0/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (rb_econv_asciicompat_encoding): renamedakr2008-09-081-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from rb_econv_stateless_encoding to apply stateless ASCII incompatible encodings such as UTF-16BE. * io.c (make_writeconv): use rb_econv_asciicompat_encoding. * transcode_data.h (rb_transcoder_asciicompat_type_t): renamed from rb_transcoder_stateful_type_t. (rb_transcoder): use rb_transcoder_asciicompat_type_t. * transcode.c: follow the type change. (asciicompat_encoding_i): renamed from stateless_encoding_i. (rb_econv_asciicompat_encoding): renamed from rb_econv_stateless_encoding. (econv_s_asciicompat_encoding): method renamed. * tool/transcode-tblgen.rb: follow the type change. * enc/trans/utf_16_32.trans: follow the type change. rb_from_UTF_16BE to UTF-8 is asciicompat_decoder. rb_from_UTF_16LE to UTF-8 is asciicompat_decoder. rb_from_UTF_32BE to UTF-8 is asciicompat_decoder. rb_from_UTF_32LE to UTF-8 is asciicompat_decoder. UTF-8 to rb_to_UTF_16BE is asciicompat_encoder. UTF-8 to rb_to_UTF_16LE is asciicompat_encoder. UTF-8 to rb_to_UTF_32BE is asciicompat_encoder. UTF-8 to rb_to_UTF_32LE is asciicompat_encoder. * enc/trans/newline.trans: follow the type change. universal newline decoder is asciicompat_converter. * enc/trans/escape.trans: follow the type change. * enc/trans/iso2022.trans: ditto. * enc/trans/japanese.trans: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (rb_econv_insert_output): "readagain" part should beakr2008-09-081-0/+5
| | | | | | | after replacement. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_dup): add open in block.kazu2008-09-081-0/+4
| | | | | | | see [ruby-dev:35957]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rational.c: removed unused code.tadf2008-09-072-15/+41
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/iso2022.trans: stateless-iso-2022-jp is defined to avoidakr2008-09-071-2/+2
| | | | | | | | | | | undefined conversion error between iso-2022-jp and the corresponding stateless encoding. * enc/emacs_mule.c: replicate emacs-mule as stateless-iso-2022-jp. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_XML_ATTR_CONTENT_ENCODER): defined.akr2008-09-072-9/+40
| | | | | | | | | | | | | | | | | | | | (ECONV_STATEFUL_ENCODER_MASK): defined. (ECONV_XML_ATTR_QUOTE_ENCODER): defined. (ECONV_XML_ATTR_ENCODER): removed. * enc/trans/escape.trans (rb_escape_xml_attr_content): defined. (rb_escape_xml_attr_quote): defined. (rb_escape_xml_attr): removed. * io.c (NEED_WRITECONV): writeconv is required if supplemental converter is used. (make_writeconv): apply stateful encoder in writeconv. * transcode.c: follow the constant change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_parse.rb (TestParse): update a test not to usematz2008-09-061-3/+3
| | | | | | recently fixed inconsistent syntax. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_ERROR_HANDLER_MASK): defined.akr2008-09-061-0/+22
| | | | | | | | | | | | (ECONV_DECODER_MASK): defined. (ECONV_ENCODER_MASK): defined. * io.c (make_writeconv): restrict ecflags for writeconv with ECONV_ERROR_HANDLER_MASK. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_XML_TEXT_ENCODER): renamed fromakr2008-09-061-16/+16
| | | | | | | | | | | | | ECONV_HTML_TEXT_ENCODER. (ECONV_XML_ATTR_ENCODER): renamed from ECONV_HTML_ATTR_ENCODER. * enc/trans/escape.trans: follow the renaming. * transcode.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (str_transcode0): check ECONV_HTML_TEXT_ENCODER andakr2008-09-061-0/+3
| | | | | | | ECONV_HTML_ATTR_ENCODER. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (sym_html): new variable.akr2008-09-061-0/+7
| | | | | | | | | | (sym_text): ditto. (sym_attr): ditto. (econv_opts): check :html=>:text and :html=>:attr. (Init_transcode): initialize the above variables. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/encoding.h (ECONV_HTML_TEXT_ENCODER): new constant.akr2008-09-061-0/+14
| | | | | | | | | | | | | (ECONV_HTML_ATTR_ENCODER): ditto. * transcode.c (rb_econv_open): check ECONV_HTML_TEXT_ENCODER and ECONV_HTML_ATTR_ENCODER. (Init_transcode): Encoding::Converter::HTML_TEXT_ENCODER and Encoding::Converter::HTML_ATTR_ENCODER defined. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c (stateless_encoding_i): ignore supplemental conversions.akr2008-09-061-0/+1
| | | | | | | | Encoding::Converter.stateless_encoding("html-attr-escaped") should be nil. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e