naruse
19b25eb670
* lib/cgi.rb (CGI::Cookie): remove delagate.
...
* test/cgi/test_cgi_cookie.rb: added for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-27 01:38:23 +00:00
akr
db6ec3105e
* include/ruby/encoding.h (rb_econv_result_t): enumeration constant:
...
econv_incomplete_input.
* io.c (finish_writeconv): check econv_incomplete_input.
* transcode.c (transcode_restartable0): return econv_incomplete_input
for unexpected end of source buffer.
(trans_sweep): check econv_incomplete_input.
(rb_trans_conv): ditto.
(rb_econv_convert0): ditto.
(rb_econv_convert): ditto.
(transcode_loop): ditto.
(make_econv_exception): change message for econv_incomplete_input.
(econv_result_to_symbol): return :incomplete_input for
econv_incomplete_input.
(ecerr_incomplete_input): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 16:09:29 +00:00
akr
19ab08653e
* transcode.c (rb_econv_open): disable newline conversion for ASCII
...
incompatible encodings.
(str_transcode0): don't need disable newline conversion here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 12:55:14 +00:00
knu
2e24863549
* test/ruby/test_enum.rb (TestEnumerable#test_each_with_object):
...
Add a test for Enumerable#each_with_object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 10:28:57 +00:00
knu
0924bcf835
* test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):
...
Add (back) the test for Enumerable#with_object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 10:26:45 +00:00
naruse
990ffbb96a
* test/cgi/test_cgi_tag_helper.rb: add more tests for html3.
...
Patch by Takeyuki Fujioka. [ruby-dev:35975]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 07:18:35 +00:00
knu
cb32985d03
* enumerator.c (enumerator_initialize),
...
test/ruby/test_enumerator.rb: Add an ability to generate an
enumerator from a block. [experimental] [ruby-dev:35903]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 05:42:12 +00:00
duerst
c5e46ef397
* test/ruby/test_transcode.rb: added test_euc_jp
...
(contributed by Yoshihiro Kambayashi)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 04:26:00 +00:00
naruse
8ec7dce8c5
* test/cgi/test_cgi_tag_helper.rb: added by Takeyuki Fujioka.
...
[ruby-dev:35971]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-26 02:55:43 +00:00
akr
86154f63b3
* transcode.c (make_econv_exception): show readagain part for invalid
...
byte sequence exception. store the part as an instance variable.
(ecerr_readagain_bytes): new method to access the readagain part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 15:26:54 +00:00
mame
bc3c178509
* test/ruby/test_thread.rb (test_status_and_stop_p): reduce the risk
...
of race condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 13:46:34 +00:00
mame
4da80c7d6b
* test/ruby/test_io.rb (test_dup): fix typo. see [ruby-dev:35958]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 13:32:59 +00:00
akr
aeffc67dbb
* transcode.c (rb_econv_open_by_transcoder_entries): initialize
...
last_error. num_trans may be zero.
(rb_econv_convert0): num_trans may be zero.
(rb_econv_putbackable): ditto.
(rb_econv_putback): ditto.
(rb_econv_convert): input_ptr and output_ptr may be NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 13:04:16 +00:00
akr
329729da55
* io.c (rb_io_init_copy): copy encs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-24 10:40:37 +00:00
akr
071319fde1
* io.c (rb_io_s_pipe): accept optional hash.
...
(rb_io_set_encoding): ditto.
(rb_io_extract_modeenc): use rb_econv_opts to initialize
ecopts.
(rb_file_open_generic): ditto.
(rb_file_open_internal): ditto.
(io_encoding_set): new argument: opt.
(argf_set_encoding): copy fptr->encs.opts to argf_ecopts.
* transcode.c (rb_econv_opts): accept Qnil for initialization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-24 09:40:31 +00:00
akr
c6d291b003
* include/ruby/encoding.h (rb_str_transcode): add ecflags argument.
...
* transcode.c (econv_opts): extracted from str_transcode.
(str_transcode_enc_args): extracted from str_transcode.
(str_transcode0): extracted from str_transcode.
(str_transcode): use econv_opts, str_transcode_enc_args,
str_transcode0.
(rb_str_transcode): call str_transcode0.
(econv_primitive_insert_output): give the additional argument for
rb_str_transcode.
* io.c (make_writeconv): use invalid/undef flags.
(io_fwrite): ditto.
(rb_scan_open_args): give the additional argument for
rb_str_transcode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-24 06:25:24 +00:00
akr
8f9ed3c464
* include/ruby/encoding.h (rb_econv_open_exc): declared.
...
* transcode.c (rb_eNoConverter): new exception.
(rb_econv_open_exc): new function.
(transcode_loop): use rb_econv_open_exc.
* io.c (make_writeconv): use rb_econv_open_exc.
(make_readconv): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-24 02:42:37 +00:00
kazu
8aaf39ce80
* test/ruby/test_process.rb (TestProcess#test_rlimit_value): add Errno::EINVAL. [ruby-dev:35900]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-23 11:04:54 +00:00
akr
2b78afebc7
* include/ruby/io.h (FMODE_INVALID_MASK): defined.
...
(FMODE_INVALID_IGNORE): defined.
(FMODE_INVALID_REPLACE): defined.
(FMODE_UNDEF_MASK): defined.
(FMODE_UNDEF_IGNORE): defined.
(FMODE_UNDEF_REPLACE): defined.
* io.c (sym_invalid): defined.
(sym_undef): defined.
(sym_ignore): defined.
(sym_replace): defined.
(make_readconv): specify ECONV_INVALID_* and ECONV_UNDEF_* if
FMODE_INVALID_* and FMODE_UNDEF_* is set.
(rb_io_extract_modeenc): check {:invalid, :undef} => {:replace,
:ignore} for FMODE_INVALID_* and FMODE_UNDEF_*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-23 08:41:02 +00:00
akr
d4fabf0e36
* include/ruby/encoding.h (ECONV_INVALID_MASK): defined.
...
(ECONV_INVALID_IGNORE): defined.
(ECONV_INVALID_REPLACE): defined.
(ECONV_UNDEF_MASK): defined.
(ECONV_UNDEF_IGNORE): defined.
(ECONV_UNDEF_REPLACE): defined.
* transcode.c (INVALID_IGNORE): removed.
(INVALID_REPLACE): removed.
(UNDEF_IGNORE): removed.
(UNDEF_REPLACE): removed.
(rb_econv_convert0): renamed from rb_econv_convert.
(rb_econv_convert): defined to call rb_econv_convert0 with
replace/ignore behavior moved from transcode_loop.
(transcode_loop): replace/ignore behavior removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-23 06:02:58 +00:00
akr
860c233103
* io.c (rb_io_extract_modeenc): check :textmode and :binmode in option
...
hash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-23 02:23:42 +00:00
akr
c0d3881e0e
* include/ruby/io.h (FMODE_TEXTMODE): defined.
...
* include/ruby/encoding.h (rb_econv_t): new field: flags.
(rb_econv_binmode): declared.
* io.c (io_unread): text mode hack removed.
(NEED_NEWLINE_DECODER): defined.
(NEED_NEWLINE_ENCODER): defined.
(NEED_READCONV): defined.
(NEED_WRITECONV): defined.
(TEXTMODE_NEWLINE_ENCODER): defined for windows.
(make_writeconv): setup converter with TEXTMODE_NEWLINE_ENCODER for
text mode.
(io_fwrite): use NEED_WRITECONV. character code conversion is
disabled if fptr->writeconv_stateless is nil.
(make_readconv): setup converter with
ECONV_UNIVERSAL_NEWLINE_DECODER for text mode.
(read_all): use NEED_READCONV.
(appendline): use NEED_READCONV.
(rb_io_getline_1): use NEED_READCONV.
(io_getc): use NEED_READCONV.
(rb_io_ungetc): use NEED_READCONV.
(rb_io_binmode): OS-level text mode test removed. call
rb_econv_binmode.
(rb_io_binmode_m): call rb_io_binmode_m with write_io as well.
(rb_io_flags_mode): return mode string including "t".
(rb_io_mode_flags): detect "t" for text mode.
(rb_sysopen): always specify O_BINARY.
* transcode.c (rb_econv_open_by_transcoder_entries): initialize flags.
(rb_econv_open): if source and destination encoding is
both empty string, open newline converter. last_tc will be NULL in
this case.
(rb_econv_encoding_to_insert_output): last_tc may be NULL now.
(rb_econv_string): ditto.
(output_replacement_character): ditto.
(transcode_loop): ditto.
(econv_init): ditto.
(econv_inspect): ditto.
(rb_econv_binmode): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 16:44:00 +00:00
tadf
8f40b26581
* complex.c (nucomp_div): now behaves as quo.
...
* complex.c (nucomp_s_generic_p): has been removed.
* complex.c (nucomp_to_s): adopts new form.
* complex.c (nucomp_inspect): ditto.
* complex.c (string_to_c_internal): ditto and supports polar form.
* complex.c (rb_complex_polar): new.
* rational.c (nurat_to_s): did not canonicalize.
* rational.c (nurat_inspect): adopts new form.
* rational.c (string_to_r_internal): ditto.
* include/ruby/intern.h: added a declaration.
* lib/complex.rb: added an obsolate class method.
* lib/cmath.rb: use scalar? instead of generic?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 12:27:54 +00:00
kazu
2d302dfd40
* lib/webrick/server.rb (WEBrick::GenericServer#shutdown):
...
rescue Errno::ENOTCONN and close. [ruby-dev:35896]
* test/openssl/test_ssl.rb (OpenSSL#start_server): ditto.
[ruby-dev:35897]
* lib/net/imap.rb (Net::IMAP#disconnect): ditto. [ruby-dev:35898]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 11:12:06 +00:00
nobu
ce2b7d3a58
* strftime.c (rb_strftime): supported flags and precision for most
...
conversions. [ruby-dev:35906]
* lib/date/format.rb (Date#strftime): left-justifies %L and %N.
[ruby-dev:35909]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 05:28:08 +00:00
duerst
5dd5311fdf
* test/ruby/test_transcode.rb: test_shift_jis:
...
fixed comment strings (see r18291)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 05:12:33 +00:00
akr
dd7cf02eab
* io.c (rb_io_initialize): accept hash argument.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 17:09:56 +00:00
shugo
a0cc5b19b7
* strftime.c (rb_strftime): supported %F and %<precision>N.
...
reverted config.h to ruby.h for Windows.
* test/ruby/test_time.rb (TestTime::test_strftime): added tests
for %F and %N.
* time.c: documented %F and %N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 14:57:35 +00:00
kazu
60bc53a161
* test/ruby/test_m17n_comb.rb (TestM17NComb#test_str_crypt): add key and salt to error message.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 11:25:12 +00:00
akr
cefd28a84f
* file.c (rb_stat_inspect): don't raise if self is not initialized.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 10:20:55 +00:00
akr
61acccefb7
* process.c (pst_pid): use rb_attr_get to avoid warning on
...
Process::Status.allocate.pid.
(pst_inspect): don't raise if self is not initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 10:18:38 +00:00
akr
d34079b17a
* io.c (io_extract_encoding_option): if internal encoding is not
...
specified, enc is external encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 10:07:21 +00:00
akr
3f7bed0b80
test O_NOFOLLOW only on FreeBSD and Linux.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 10:04:23 +00:00
shugo
9b4d4a8a48
* strftime.c (rb_strftime): return "UTC" instead of "GMT".
...
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 00:30:28 +00:00
naruse
0cae739f2d
* test/iconv/test_option.rb (test_ignore_option): skip if iconv
...
doesn't have transliterate.
* test/iconv/test_option.rb (test_translit_option): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 23:00:01 +00:00
nobu
b9e3f3c129
* lib/scanf.rb (Scanf::FormatSpecifier#initialize): %i should accept
...
single digit decimal. [ruby-core:18355]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 21:12:58 +00:00
akr
4a2cd03fbd
* io.c (open_key_args): IO.foreach(path, rs, limit) didn't work.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 16:57:46 +00:00
shugo
1fd1e0ac04
* strftime.c: new file.
...
* common.mk (COMMONOBJS): added strftime.$(OBJEXT).
* time.c (time_strftime): do not use strftime(3). supported
%L(millisecond) and %N(nanosecond).
* test/ruby/test_time.rb: added tests for %L and %N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 15:30:28 +00:00
akr
65370097cd
* io.c (rb_io_open_with_args): use rb_open_file instead of rb_io_open.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 11:33:36 +00:00
akr
297f3249d9
mkcdtmpdir doesn't yield a value.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-19 20:27:08 +00:00
akr
02f43f1bd9
* io.c (rb_open_file): encoding in mode string was ignored if perm is
...
specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 16:33:46 +00:00
akr
93ad576b05
* re.c (rb_reg_inspect): don't raise for uninitialized Regexp.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 15:56:38 +00:00
akr
febc4b9923
* io.c (rb_io_check_readable): side effect for STDIN removed.
...
(rb_io_external_encoding): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 15:35:21 +00:00
akr
1b821cb4a3
* io.c (io_ungetbyte): renamed from io_ungetc.
...
(rb_io_ungetbyte): new method.
(rb_io_ungetc): push back into character buffer if enc2 is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 14:28:45 +00:00
akr
035d4816c3
* include/ruby/io.h (rb_io_t): new fields: writeconv,
...
writeconv_stateless and writeconv_initialized.
(MakeOpenFile): initialize them.
* include/ruby/encoding.h (rb_econv_stateless_encoding): declared.
(rb_econv_string): declared.
* io.c (make_writeconv): new function.
(io_fwrite): use econv.
(make_readconv): fix error message.
(finish_writeconv): new function.
(fptr_finalize): call finish_writeconv.
(clear_writeconv): new function.
(clear_codeconv): new function to call both clear_readconv and
clear_writeconv.
(rb_io_fptr_finalize): call clear_codeconv instead of
clear_readconv.
(mode_enc): ditto.
(io_set_encoding): ditto.
(argf_next_argv): ditto.
(io_encoding_set): ditto.
* gc.c (gc_mark_children): mark writeconv_stateless in T_FILE.
* transcode.c (stateless_encoding_i): new function.
(rb_econv_stateless_encoding): ditto.
(rb_econv_string): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 12:06:42 +00:00
akr
89b4f06a59
* io.c (clear_readconv): extracted from rb_io_fptr_finalize.
...
(mode_enc): call clear_readconv.
(io_set_encoding): ditto.
(argf_next_argv): ditto.
(io_encoding_set): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 08:24:49 +00:00
akr
6f1fe004f7
* io.c (io_shift_crbuf): add strp argument to append into existing
...
string.
(read_all): use econv if enc2 is set.
(io_getc): follow the io_shift_crbuf change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 03:13:53 +00:00
akr
815fd8536b
* io.c (io_enc_str_converted): new function.
...
(make_readconv): extracted from io_getc.
(more_char): ditto.
(appendline): use econv via make_readconv and more_char for code
conversion.
(prepare_getline_args): don't convert record separator.
(rb_io_getline_1): don't use rb_io_getline_fast if enc2 is set.
(io_getc): use make_readconv and more_char.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 01:40:01 +00:00
akr
f072d0464f
add tests.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-18 00:41:54 +00:00
akr
f3a42261fb
* io.c (appendline): appendline cannot check character boundary.
...
(rb_io_getline_1): relax limit until character boundary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-17 19:41:39 +00:00