Граф коммитов

4640 Коммитов

Автор SHA1 Сообщение Дата
nobu a59bfa76e5 * lib/optparse/ac.rb: autoconf-like options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-02 04:25:14 +00:00
nobu 38b8afcf5a * string.c (rb_str_start_with, rb_str_end_with): raise an error if
an argument is not convertible to a String.
  [ruby-core:40623][Bug #5536]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-02 01:34:11 +00:00
naruse 8630041945 Refix of 35206; 0.3 is too small for Ruby's timeout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 21:06:13 +00:00
naruse 61fcda16fd ReRefix the test for r35205.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 21:00:54 +00:00
naruse 9d8ca7e15e Refix the test for r35205.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 20:59:02 +00:00
naruse 8520505e44 Fix the test for r35205.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 18:42:22 +00:00
naruse 4179e0b5c6 Client waits only the first line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 14:06:42 +00:00
naruse ae79409db4 * lib/net/ftp.rb (Net::BufferedSocket): should delegate send() to @io
for Net::FTP#abort and Net::FTP#status..

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-01 14:06:38 +00:00
nobu bfdccf09c7 use super in h.default
* test/ruby/test_hash.rb (TestHash#test_shift_none): super in
  singleton default method doesn't cause SystemStackError now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-31 08:13:58 +00:00
nobu 160d02d830 * hash.c (hash_default_value): extract from rb_hash_aref(), to be
shared with rb_hash_shift(), so that overriding Hash#default
  will be respected.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-31 05:23:01 +00:00
shugo 5f81a53fd2 * lib/net/ftp.rb (read_timeout=, open_timeout=): supported timeout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-31 04:44:36 +00:00
nobu d481e34e3c misplaced rescue
* test/ruby/test_thread.rb (test_condvar_wait_deadlock_2): fix cleanup
  code which is never executed because of misplaced rescue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-31 00:48:56 +00:00
nobu becc3000ca descriptive assertions
* test/ruby/test_hash.rb: use more descriptive assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-30 22:18:52 +00:00
nobu fc4e79e301 join LocalBarrier
* test/ruby/lbtest.rb: needs to join the local barrier.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-30 22:18:50 +00:00
nobu efd6f6b856 * test/ruby/lbtest.rb: print at once including newlines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-29 15:03:05 +00:00
nobu 30cea65767 * st.c (st_update): add existing parameter to the callback function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-29 07:36:12 +00:00
emboss aad347f5ec * ext/openssl/ossl_pkcs7.c: fix crash when parsing garbage data.
* test/openssl/test_pkcs7.rb: assert correct behavior for it.
  Thanks to Matt Venables for reporting the issue.
  [ruby-core:43250][Bug #6134]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-29 01:27:17 +00:00
emboss 836af4e5dc * test/openssl/test_x509cert.rb: Exclude test that fails when issuing
a certificate with RSA signature and DSS1 digest for earlier
  OpenSSL versions when used in conjunction with OpenSSL 1.0.1.
  Thanks, Vit Ondruch, for reporting the issue.
  [ruby-core:42949][Bug #6089]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-29 00:32:09 +00:00
emboss 5bef1c9223 * ext/openssl/ossl_asn1.c: raise TypeError when trying to encode nil
values for Primitive instances. 
* test/openssl/test_asn1.rb: Assert consistent behavior when
  encoding nil values: Primitives raise TypeError, Constructives
  raise NoMethodError.
  Fixes [ruby-core:43009][Bug #6102]
-This line, and those below, will be ignored--

M    test/openssl/test_asn1.rb
M    ext/openssl/ossl_asn1.c
M    ChangeLog


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 22:53:18 +00:00
nobu 9bf9b3ef95 * process.c (obj2uid, obj2gid): allow strings as input user/group id.
[ruby-core:40923][Feature #5610]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 07:40:02 +00:00
nobu 1521f9331e * marshal.c (r_symreal): default to ASCII-8BIT for non-ascii symbols,
otherwise it should be converted to US-ASCII in rb_intern_str() if
  possible.  [ruby-core:43762][Bug #6209]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28 06:06:20 +00:00
nobu ab9c982cc0 * string.c (str_new_empty): should copy also the encoding as an
empty substring.  [ruby-dev:45441][Bug #6206]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 04:13:54 +00:00
shugo 422c8baeb9 * lib/net/ftp.rb (parse_pasv_port): refactored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 14:39:16 +00:00
shugo cae1d532f5 * test/net/ftp/test_ftp.rb: add the test, which was forgotten in the
previous commit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 10:52:06 +00:00
shugo b9f67c4149 * enumerator.c (inspect_enumerator): show method arguments of
lazy enumerators correctly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 10:52:02 +00:00
nobu 764d54788a * ruby.c (load_file_internal): bail out if the script is a directory.
[Feature #2408][ruby-core:26925]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 02:46:04 +00:00
naruse 73a184cc3a * string.c (tr_setup_table): fix multiple non latin argument for
non latin (over 256 characters) tr-like methods.
  [ruby-core:43371] [Bug #6167]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-25 09:20:04 +00:00
shugo 0c9f66eb40 * enumerator (lazy_initialize): set the instance variable "receiver"
to include the receiver to the return value of inspect on a lazy
  enumerator directly created by Enumerator::Lazy.new.

* enumerator (RETURN_LAZY): don't set the instance variable "receiver".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-24 15:53:38 +00:00
shugo 6b885f6e74 * enumerator (enumerator_inspect): include the original receiver and
method name of Enumerator::Lazy in the result of inspect.
  [ruby-core:43345] [Bug #6159]

* enumerator (InitVM_Enumerator): don't use rb_define_alias for
  some methods such as collect in order to make rb_frame_this_func()
  return the correct method names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-24 15:17:31 +00:00
nobu 28e48d3fd8 * time.c (time_init_1): Time.new will accept seconds as string or
int.  [ruby-core:43569][Bug #6193]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-24 13:22:22 +00:00
nobu 163ab0a4da * bignum.c (rb_str_to_inum): must be ASCII compatible encoding as
well as String#hex and String#oct.  [ruby-core:43566][Bug #6192]
* string.c (rb_must_asciicompat): check if ASCII compatible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 04:19:24 +00:00
nobu a13486997a * test/ruby/test_io.rb (try_fdopen): more GCable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-23 03:14:49 +00:00
nobu 2b84626193 * transcode.c (str_encode_bang, encoded_dup): if nothing was
transcoded, just set encoding but leave coderange unchanged as
  forcee_encoding.  [ruby-core:43557][Bug #6190]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 14:14:39 +00:00
shirosaki 7cbff3b9dd * io.c (static int io_fflush): add the definition.
Use it in set_binary_mode_with_seek_cur().

* io.c (set_binary_mode_with_seek_cur): refactoring to split the
  content into io_unread(). Fix the possibility of buffer overflow.

* io.c (io_unread): add new implementation for Windows. Previous one
  caused invalid cursor position using IO#pos with OS text mode. New
  one fixes the bug.

* test/ruby/test_io_m17n.rb
  (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for
  above bug.
  [ruby-core:43497] [Bug #6179]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 14:05:31 +00:00
nobu 0b83d3b27b * test/ruby/test_m17n.rb (test_env): show failed values.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 09:37:47 +00:00
usa caf627afce * test/ruby/test_io.rb (TestIO#test_pos_with_getc): updated.
see [ruby-core:43550]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-22 02:14:42 +00:00
usa af86dba25a * test/ruby/test_io.rb (TestIO#test_pos_with_getc): added.
see [Bug #6179][ruby-core:43518]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-21 08:03:08 +00:00
nobu 1e42030f2a test_thread: test_condvar_wait_not_owner duplicates test_condvar_nolock
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-20 13:54:59 +00:00
shugo ded27bf5dc * enumerator.c (lazy_flat_map_func): convert the block value to
Array if it doesn't respond to each.  [ruby-core:43334]
  [Bug #6155]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-19 08:22:29 +00:00
shyouhei d4f0f28430 * test/test_pty.rb: same as r29280, skip tests when PTY allocation
failed (that's not our fault).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-19 06:08:44 +00:00
nobu f4aff7feb1 num2ll and num2ull
* ext/-test-/num2int/num2int.c (print_num2ll, print_num2ull): define
  only if long long is available, and use long long printf modifier
  checked by configure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-18 15:21:04 +00:00
nobu ed4c5f38ba * bignum.c (rb_big_pow): estimate result bit size more precisely.
[ruby-core:30735][Feature #3429]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-18 08:17:50 +00:00
nobu 2555f3f5bf * gc.c (free_method_entry_i): method entry may be in
unlinked_method_entry_list.  [ruby-core:43383][Bug #6171]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-18 08:17:39 +00:00
kazu ea6511c63a * string.c (trnext): fix bug with string ending with '\\'.
[ruby-dev:45374][Bug #6160]

* test/ruby/test_string.rb (TestString#test_delete): test for
  above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 16:49:44 +00:00
nobu ba20fe6289 * string.c (trnext): should advance char-wise.
[ruby-core:43335][Bug #6156]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 11:06:27 +00:00
nobu 7af3e9f08b fix unreachable warning line number
* parse.y (block_append_gen): fix unreachable warning line number.
  should warn at the code, not jump.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:42:16 +00:00
nobu be2dc4434a fix typo
* test/ruby/test_module.rb (test_method_redefinition): fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:27 +00:00
nobu 2b906bf226 verbose_warning
* test/ruby/envutil.rb (verbose_warning): should not hide execptions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:24 +00:00
nobu d19e5328d8 suppress warning.
* test/ruby/envutil.rb: suppress warnings.

* test/ruby/test_exception.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:22 +00:00
nobu 36ada1b318 fix indent
* test/ruby/test_exception.rb (test_exception): fix indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:20 +00:00
nobu 9faa910961 Tempfile#open
* test/ruby/test_exception.rb (test_systemexit_new,
  test_exception_in_exception_equal): use Tempfile#open.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:18 +00:00
nobu 62cdd6e64a fix argument order
* test/ruby/test_parse.rb (test_void_expr_stmts_value): expected value
  comes first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:16 +00:00
nobu a87f0aa071 bug number
* test/ruby/test_syntax.rb (test_keyword_rest): give the bug number to assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:13 +00:00
shugo 6853b44a92 * lib/net/imap.rb (initialize): raise Net::IMAP::Error when the
connection is closed without a greeting response.
  [ruby-core:40938] [Bug #5616]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 05:12:39 +00:00
shugo ed07df5ab5 * lib/net/imap.rb (rfc822_text): ignore [] after RFC822.
[ruby-core:40945] [Bug #5620]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 04:56:18 +00:00
nobu 817eb7d17d * vm_insnhelper.c (argument_error): use line number at the beginning
of lambda, not the first code ob its body.
  [ruby-core:43314][Bug #6151]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 03:00:44 +00:00
shugo 29f73009ca * enumerator.c (lazy_take): don't enumerate an extra value.
[ruby-dev:45370] [Bug #6152]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 02:22:20 +00:00
shugo 2baeb78294 * enum.c (rb_enum_values_pack): rename from enum_values_pack, and
remove static.

* enumerator.c (lazy_init_iterator, lazy_init_yielder,
  lazy_select_func, lazy_reject_func, lazy_grep_func): handle
  multiple values correctly.

* enumerator.c (lazy_grep): change the behavior when a block is
  given, to be consistent with Enumerable#grep.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 14:20:27 +00:00
shugo d135138f9b * enumerator.c (lazy_zip): rescue StopIteration returned by
Enumerator#next.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 10:14:22 +00:00
shugo 032861ade7 * enumerator.c (lazy_zip, lazy_cycle): Enumerator::Lazy#{zip,cycle}
should be eager when a block is given, to be consistent with
  Enumerable#{zip,cycle}.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 09:25:03 +00:00
shugo ff1f6107f9 * enumerator.c (InitVM_Enumerator): renamed Enumerable::Lazy to
Enumerator::Lazy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 08:47:09 +00:00
nobu bf87ec4eb9 * parse.y (parser_yylex): fix warning line number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 06:37:46 +00:00
nobu b30c4aa8d7 * test/ruby/test_m17n.rb (assert_warning): use common method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 06:24:10 +00:00
nobu 375aedbfb4 * parse.y (sym_check_asciionly): check ascii compatibility before
scanning for code range.
* parse.y (intern_str): set to us-ascii if ascii only.
  [ruby-dev:45363][Bug #6146]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 06:04:44 +00:00
shugo d18dc74698 * enumerator.c (lazy_cycle): add Enumerable::Lazy#cycle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 02:00:30 +00:00
nobu 9f9201b85d * test/ruby/test_arity.rb (TestArity#err_mess): use assert_raise.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 01:31:43 +00:00
drbrain 724e683e86 * vm_eval.c (check_funcall): Raise ArgumentError if respond_to?
requires more than three arguments. [Bug #6000]
	* test/ruby/test_object.rb (class TestObject):  Test for respond_to?
	  requiring more than three arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 22:12:53 +00:00
marcandre 7316302483 * include/ruby/intern.h: Add rb_check_arity, rb_error_arity [#6085]
* array.c: Use rb_check_arity / rb_error_arity

* class.c: ditto

* enumerator.c: ditto

* eval.c: ditto

* file.c: ditto

* hash.c: ditto

* numeric.c: ditto

* proc.c: ditto

* process.c: ditto

* random.c: ditto

* re.c: ditto

* signal.c: ditto

* string.c: ditto

* struct.c: ditto

* transcode.c: ditto

* vm_eval.c: ditto

* vm_insnhelper.c: ditto & implementation of rb_error_arity

* test/ruby/test_arity.rb: tests for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 21:10:34 +00:00
marcandre 35c356ea72 * vm_insnhelper.c: improve number of arguments error in case of
optional parameters (issue #6085)

* include/ruby/intern.h: define UNLIMITED_ARGUMENTS

* test/ruby/test_arity.rb:  test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 21:10:16 +00:00
shugo c8860b504e * enumerator.c (lazy_init_iterator): break when Qundef is returned
to make obj.drop(3).take(2) work properly.

* enumerator.c (lazy_take_while): add Enumerable::Lazy#take_while.

* enumerator.c (lazy_drop): add Enumerable::Lazy#drop.

* enumerator.c (lazy_drop_while): add Enumerable::Lazy#drop_while.

* enumerator.c (InitVM_Enumerator): add Enumerable::Lazy#force as an
  alias of to_a.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 13:04:18 +00:00
shugo 0b35e9e5dd * enumerator.c (lazy_take): add Enumerable::Lazy#take.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 10:29:25 +00:00
usa 005953a17b * test/test_tmpdir.rb (TestTmpdir#test_world_writable): skip on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 07:42:30 +00:00
marcandre 4c2e2d8bde * numeric.c: fix flodivmod for cornercases [Bug #6044]
add ruby_float_mod

* insns.def (opt_mod): use ruby_float_mod

* internal.h: declare ruby_float_mod

* test/ruby/test_float.rb: tests for above

* test/ruby/envutil.rb: create helper assert_is_minus_zero

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 06:10:01 +00:00
nobu 4bce9fc7bd more GCable
* test/test_weakref.rb (make_weakref): more GCable, probably.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 02:29:48 +00:00
nobu cb1d290886 * enumerator.c (lazy_grep_func): should use === instead of =~, as
well as Enumerable#grep

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 01:44:37 +00:00
nobu 8cdfe403d3 Init_Enumerator
* enumerator.c (Init_Enumerator): initialize method IDs first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-14 01:35:09 +00:00
shugo 6b4525912b * enumerator.c (lazy_zip_func): use each for non-Array objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 23:16:37 +00:00
shugo 22434473c7 * enumerator.c (lazy_zip): add Enumerable::Lazy#flat_map.
* enumerator.c (lazy_lazy): just returns self.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 23:08:15 +00:00
nobu 8fe3fb4c0f * compile.c (iseq_set_arguments): keyword rest arg without keyword args.
* node.c (dump_node): dump kw_rest_arg too.
* parse.y (block_param, f_arg): more kwrest patterns.
  [ruby-core:42455][Bug #5989]
* parse.y (new_args_gen): no extra kw_rest_arg if no keyword rest arg.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 13:00:17 +00:00
nobu d6a977f667 * parse.y (block_param, f_args): add rules for the case arguments
begin with kwrest.  [ruby-core:42455][Bug #5989]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 06:17:08 +00:00
naruse db83618d2c * io.c (io_encoding_set): always warn if external encoding and internal
encoding are identical. [ruby-core:40727] [Bug #5568]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 04:03:06 +00:00
naruse 272d72efc0 Fix error and show given message and match message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 04:03:03 +00:00
nobu df058ea0e3 Bug #5350
* gc.c: add ObjectSpace::WeakMap.  [ruby-dev:44565][Bug #5350]
* lib/weakref.rb: use WeakMap instead of _id2ref.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 03:37:06 +00:00
nobu 826cdd67a0 assert_warn, assert_warning
* test/ruby/envutil.rb (assert_warn): add optional message argument.

* test/ruby/envutil.rb (assert_warning): moved from test_io_m17n.rb

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 03:34:11 +00:00
naruse 7f199d12e0 Add missing assert_warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 15:17:27 +00:00
nobu 33ceea5cdb * encoding.c (rb_find_encoding): new function find encoding from
arbitrary object as a pointer to rb_encoding, and return NULL if
  not found.
* io.c (io_encoding_set): just warn unsupported encodings, but not
  exception.  [ruby-core:40726] [Bug #5567]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 10:23:17 +00:00
nobu a2229db3e8 * vm_method.c (Init_eval_method): copy basic methods to Exception.
[ruby-core:40287][Bug #5473]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 03:44:40 +00:00
nobu b19f3a8a15 * eval_jump.c (rb_exec_end_proc): remember the latest exit status.
[ruby-core:43173][Bug #5218]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 01:13:40 +00:00
naruse 90b7ddb89f Exclude json/add/complex.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 00:32:16 +00:00
nobu bcb9e567c4 * lib/tmpdir.rb (Dir.tmpdir): should not use world-writable but
non-sticky directory.
* lib/tmpdir.rb (Dir.mktmpdir): check the parent directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 22:19:06 +00:00
nobu b87f2fe1e4 * random.c (random_s_rand): ensure default PRNG is re-initialized
after fork.  patched by Eric Wong.  [ruby-core:41209][Bug #5661]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 22:03:36 +00:00
naruse b7df3e9f4e * pack.c (pack_unpack): when unpack('M') occurs an illegal byte
sequence, output the "=" character and the following character in
  the decoded data without any transformation.
  [ruby-dev:44875] [Bug #5635]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 14:59:42 +00:00
naruse 4d8d3184d1 * ext/json: Merge 164a75c8bd2007d32c4d7665d53140d8fc126dcd.
[ruby-core:41917] [Bug #5846]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 13:36:06 +00:00
nobu a73d958c33 * st.c: add st_foreach_check for fixing iteration over packed table
and st_delete_safe.  patched by Sokolov Yura at
  https://github.com/ruby/ruby/pull/84


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-10 14:52:19 +00:00
nobu efae619458 * st.c: fix packed num_entries on delete_safe. patched by Sokolov
Yura at https://github.com/ruby/ruby/pull/84


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-10 14:52:06 +00:00
naruse 3c45e3f1b7 Rescue even if it test_readpartial_locktmp RuntimeError. [Bug#6099]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-09 05:52:18 +00:00
shugo a21d0f72c2 * enumerator.c (lazy_flat_map): add Enumerable::Lazy#flat_map.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-09 05:34:41 +00:00
nobu 5452b18f99 * test/ruby/test_lazy_enumerator.rb: tests for r34951 and r34952.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-09 01:13:59 +00:00
tenderlove 240c9acb5c * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after
the first document has been parsed.

* test/psych/test_stream.rb: pertinent tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-08 21:31:05 +00:00
tenderlove a2e3de1b3f * ext/psych/lib/psych.rb (parse_stream, load_stream): if a block is
given, documents will be yielded to the block as they are parsed.
  [ruby-core:42404] [Bug #5978]

* ext/psych/lib/psych/handlers/document_stream.rb: add a handler that
  yields documents as they are parsed

* test/psych/test_stream.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-08 21:21:52 +00:00
nobu e160610200 * enumerator.c (enumerator_each, generator_each): pass arguments to
the block with yielder.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-08 15:26:01 +00:00
nagachika 0c8ae91651 * lib/xmlrpc/client.rb (module XMLRPC): fix typo.
* test/xmlrpc/test_client.rb (test_async_call): add test for
  XMLRPC::Client#call_async to check above fix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-07 13:45:04 +00:00
nobu 075d98c7dc * error.c (rb_load_fail): should honor encoding.
* load.c (load_failed): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-07 07:30:31 +00:00
tenderlove d576a25c26 * error.c (rb_loaderror_with_path): Adding the missing file as an
instance variable to the LoadError exception.

* load.c: call rb_loaderror_with_path so that the missing path is
  added to the exception.

* ruby.c: call rb_loaderror rather than raising our own LoadError
  exception.

* include/ruby/intern.h: add declaration for rb_loaderror_with_path.

* test/ruby/test_require.rb: add supporting test for LoadError#path
  method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 23:38:33 +00:00
tenderlove ce2f69862e * lib/xmlrpc/parser.rb: support i8 types. Thanks Stas Kelvich!
[ruby-core:29246] [Feature #3090]

* test/xmlrpc/test_client.rb: supporting test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 23:30:03 +00:00
tenderlove 9e9264c8d5 * lib/xmlrpc/client.rb: assume servers that do not send a Content-Type
header are sending 'text/xml'. Thanks Nathan Leavitt!
  [ruby-core:41204] [Bug #5660]

* test/xmlrpc/test_client.rb: supporting test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 22:45:43 +00:00
tenderlove 1ac1163f56 * test/xmlrpc/test_client.rb: adding a test for performing an XMLRPC
call.
* test/xmlrpc/data/blog.xml: supporting XML document for the response.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 22:40:38 +00:00
naruse 2fbc01fb56 Fix typo.
reported by Nobuhiro IMAI.$
https://twitter.com/no6v/status/176959588531314688

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 09:47:17 +00:00
nobu bc6dde9420 * parse.y (parser_tokadd_string): escape simple regexp meta
character termninators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 07:24:07 +00:00
nobu dd9569ded8 * ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK
bits too.
* ext/io/console/console.c (echo_p): ignore ECHOE and ECHOK bits.
  [ruby-dev:45309] [Bug #6116]
* ext/io/console/console.c (console_raw): fix rdoc.
* ext/io/console/console.c (console_set_echo): mentioned about
  platform dependency.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 01:11:47 +00:00
tenderlove 8456c0603e only run `test_key` on ruby 2.0.0 or up
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 21:48:49 +00:00
nobu c46bdadb84 * parse.y (block_call): rules for block_call after block_call.
based on a patch by pasberth https://github.com/ruby/ruby/pull/102
  [ruby-dev:45308][Bug #6115]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 16:34:21 +00:00
nobu 0827c3848a assert_valid_syntax
* test/ruby/test_syntax.rb (assert_valid_syntax): new assertion to
  validate syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 16:17:29 +00:00
kazu bc4ef96c9e fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 09:29:24 +00:00
nobu eb1eee03ca * ext/syck/lib/syck/rubytypes.rb (Exception.yaml_new): fix bug
that causes YAML serialization problem for Exception.
  Exception#initialize doesn't use visible instance variable for
  the exception message, so call the method with the message.
  patched by Jingwen Owen Ou <jingweno AT gmail.com>.
  http://github.com/ruby/ruby/pull/41

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 08:11:48 +00:00
usa 842c6f605b * test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): syntax error.
* test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): call uname
  only on linux because it's a workaround for linux only.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 07:51:31 +00:00
naruse 1d30263d34 Fix condition of r34897.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 07:36:47 +00:00
naruse 14e1137989 Old linux (at least CentOS 5.6, kernel 2.6.18) wakes up 4.99 sec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 01:16:19 +00:00
nobu 68a16f9a2d * parse.y (parser_tokadd_string): regexp engine doesn't need
terminators to be escaped.  [ruby-core:40364][Bug #5484]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-04 14:21:13 +00:00
akr 61c148723d * process.c (rb_run_exec_options_err): chdir at last to interpret
relative pathnames from the current directory of the parent process.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-03 13:53:53 +00:00
tenderlove 1836f44fe9 * lib/xmlrpc/client.rb (new2): use URI for uri parsing.
* test/xmlrpc/test_client.rb: test that query params are passed to the
  client constructor.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 23:46:17 +00:00
tenderlove cd85cd25b4 * lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad
arguments.
* test/xmlrpc/test_client.rb: tests for bad uris

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 23:21:17 +00:00
tenderlove 60282ebfe5 * lib/xmlrpc/client.rb (new2): fix custom port specification when an
SSL uri is used.
* test/xmlrpc/test_client.rb: tests for XMLRPC::Client.new2

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 23:12:32 +00:00
nobu 4525bcae0b subclass of String
* test/ruby/test_string.rb (TestString2): tests for subclass of
  String.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 14:05:28 +00:00
nahi effb5248a2 * test/ruby/test_array.rb (test_combination2): Make the test case for
[ruby-core:29240] more descriptive.
  cf. http://bugs.jruby.org/6518


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-02 08:16:14 +00:00
usa 70581477da * test/ruby/test_io.rb (TestIO#test_readpartial_locktmp): skip on
windows because of the platform restriction.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 06:40:41 +00:00
usa 74b70ad879 * test/ruby/memory_status.rb (Memory): syntax error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 06:39:22 +00:00
nobu 1673881f58 /proc/self/status format check
* test/ruby/memory_status.rb: use /proc/self/status if it is in
  the expected format.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-29 04:07:10 +00:00
tadf 3486a98a71 * ext/date/date_core.c: [ruby-core:42998]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 11:28:23 +00:00
nobu 9b02a72d71 * io.c (io_fread, io_getpartial, rb_io_sysread): set buffer size
after check if readable, which can cause thread switch.
  [ruby-dev:45297][Bug #6099]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 09:33:35 +00:00
nobu 007b7fcdcf * lib/time.rb (Time#xmlschema): use strftime specifiers instead of
fractional exponential calcuation which yields undesirable
  result.  [ruby-core:42997][Bug #6100]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 08:16:03 +00:00
drbrain 09f27873ed * lib/net/protocol.rb: Add OpenTimeout subclass of Timeout::Error
* lib/net/pop.rb:  Modernize Timeout usage.  Patch by Eric Wong.
	  Use Net::OpenTimeout instead of Timeout::Error.  [Bug #5765]
	* lib/net/http.rb:  ditto
	* lib/net/smtp.rb:  ditto
	* lib/net/telnet.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 05:15:54 +00:00
drbrain 8a7da58c0f * lib/net/http.rb: Retry HTTP requests for additional network errors.
Introduce OpenTimeout subclass of Timeout::Error.  [Bug #6001]
	* test/net/http/test_http.rb:  Reduce timeout to 0.01s for faster test
	* test/net/http/test_https.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 04:51:37 +00:00
tenderlove 0cb987bc51 * ext/psych/lib/psych.rb: default open YAML files with utf8 external
encoding. [ruby-core:42967]
* test/psych/test_tainted.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 01:30:15 +00:00
usa 58fb7e9151 forgotten to commit at r34834.
* test/ruby/test_io.rb (TestIO#test_setpos): use binmode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 16:27:26 +00:00
nobu 2a19074c65 * test/ruby/test_syntax.rb (test_newline_in_block_parameters):
test for [ruby-dev:45292].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 08:27:39 +00:00
nobu f5482e4c38 * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): since methods
can be overridden, so should not make an assumption on the type
  of results.  [ruby-core:42969][Bug #6093]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 08:03:24 +00:00
nobu 8e683a8a97 * test/rubygems/test_gem_specification.rb (test_self_from_yaml_syck_default_key_bug):
ignore the test for too old versions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:53:47 +00:00
naruse a77ea177fe * regparse.c (add_code_range_to_buf0): wrong condition of duplicated
warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-26 14:32:54 +00:00
nobu 6a8d009709 * compile.c (iseq_compile_each): call on special object instead of
self.  since stabby lambda is a syntax, so it should not be
  affected by the context.  [ruby-core:42349][Bug #5966]
* insns.def (send): no special deal for FCALL.  self should be put
  on TOS instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-26 02:26:49 +00:00
naruse aced01eeb4 Fix r34779. Raised error on connection reset varies on environments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:41:07 +00:00
naruse eeff98c430 * complex.c (nucomp_marshal_load): raise error on invalid data.
reported by John Firebaugh [ruby-core:42860] [Bug #6076]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:20:00 +00:00
nobu b4288080e7 * ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_t
and intptr_t.  [ruby-core:42460][Feature #5992]
* ext/fiddle/fiddle.c (Init_fiddle): ditto.
* ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 05:47:16 +00:00
nobu 785521bd51 * parse.y (parser_tokadd_string): insert a backslash only if
quoted by single quotes.  [ruby-dev:45281] [Bug #6069]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 22:54:00 +00:00
nobu eec0b2d88a * dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path.
[Bug #6072]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 22:53:51 +00:00
nobu 85738261a5 * dir.c (dir_initialize): keep path in original encoding.
* error.c (syserr_initialize): prefer the encoding of message over
  locale.  [ruby-dev:45279][Bug #6071]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 22:53:42 +00:00
nahi d77f31b635 * test/zlib/test_zlib.rb (TestZlibGzipReader#test_encoding): Add
encoding testcases for GzipReader#read.  read() emits 
  Encoding.default_external in contrast to read(size) emits BINARY.
  See also: http://bugs.jruby.org/6208


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 09:25:14 +00:00
shyouhei 79bd9c3e4d * test/ruby/test_literal.rb (TestRubyLiteral#test_special_const): test for https://bugs.php.net/bug.php?id=61095
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 08:58:24 +00:00
tenderlove 0d1c8fd9d6 * ext/psych/parser.c: prevent a memory leak by protecting calls to
handler callbacks.
* test/psych/test_parser.rb: test to demonstrate leak.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 04:55:33 +00:00
drbrain 7a1180c745 * lib/net/http.rb (Net::HTTP#transport_request): Fix infinite loop
upon EOFError or Errno::ECONNRESET where count is reset to 0.
* test/net/http/test_http.rb (class TestNetHTTPKeepAlive):  Test for
  above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 01:10:07 +00:00
nobu 45c6daeed7 * parse.y (parser_tokadd_string, parser_yylex): insert a backslash
if the next character is non-ascii.  [ruby-dev:45278] [Bug #6069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 23:52:12 +00:00
tenderlove 774cf315e8 * ext/psych/parser.c: set parser encoding based on the YAML input
rather than user configuration.
* test/psych/test_encoding.rb: corresponding tests.
* test/psych/test_parser.rb: ditto
* test/psych/test_tainted.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 23:12:57 +00:00
akr e5cf1dcf7b * test/test_curses.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 13:27:29 +00:00
marcandre dfb1a71222 * lib/ostruct.rb (delete_field): Bug fix so previous value is returned.
Patch by Nick Recobra [Bug #6063]

* test/ostruct/test_ostruct.rb: Test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 18:59:03 +00:00
nobu 4341c58c39 * io.c (rb_io_extract_modeenc): fail only if conflicting
text/binary modes given explicitly.  [ruby-dev:45268][Bug #6055]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 17:33:10 +00:00
nobu f56c6318de * test/iconv/test_option.rb: enabled. [ruby-core:42802][Bug #6061]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 14:27:11 +00:00
tadf 8cd604c6c7 * reverted 34739 for test/date.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 10:23:23 +00:00
sorah c0ec3efcae * lib/test/unit.rb (setup_options): add option "--show-skip" to
cancel "--hide-skip" (-q)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 09:47:24 +00:00
nobu b67bc8d722 * test/date, test/rdoc: exclude tests dependent on unbundled libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 09:34:59 +00:00
nobu 31d8a97657 * io.c (rb_io_s_foreach): argument check before making Enumerator.
[ruby-dev:31525]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 08:36:25 +00:00
nobu 873b56fd50 * io.c (rb_io_s_foreach): return enumerator including kerword
arguments.  [ruby-dev:45267][Bug #6054]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 08:07:38 +00:00
nobu 8e799c3e5b * test/mkmf/test_framework.rb: try CoreFoundation framework, than
Cocoa which is dependent on QuickTime SDK which has separated
  since Xcode 4.3.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-22 01:32:14 +00:00
marcandre f12c14d3ef * proc.c (method_hash, proc_hash): Fix {Unbound}Method#hash
[Bug #6048]. Isolate hash computation for proc

* internal.h: Declaration for above

* vm_method.c (rb_method_definition_hash): Computation for
  hash part of a method definition

* method.h: Declaration for above

* test/ruby/test_method.rb: Test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-21 00:13:44 +00:00
akr 05a2cd709f add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-19 14:44:36 +00:00
akr 1efa14169a add assertions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-19 08:33:01 +00:00
akr 460bb8a829 * test/dbm/test_dbm.rb (test_dbmfile_suffix): check pag and dir is
empty for 4.3BSD ndbm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-19 08:08:37 +00:00
akr c509bec71d cosmetic change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 18:05:24 +00:00
akr 62debc952d * test/dbm/test_dbm.rb (test_dbmfile_suffix): check magic numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 18:01:02 +00:00
akr 90cc116431 simplify a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 10:06:24 +00:00
akr 4c1ea85dd8 * test/dbm/test_dbm.rb (test_dbmfile_suffix): DBM::VERSION should
be Berkeley DB if foo.db is created by DBM.open.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 04:54:09 +00:00
akr 48a97f2c94 * test/dbm/test_dbm.rb (test_dbmfile_suffix): test dbm file suffix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 04:41:15 +00:00
tenderlove ace46301d8 * lib/fileutils.rb: refactored FileUtil methods to use the
`define_command` API.  Patch from 7rans <transfire@gmail.com>
* test/fileutils/test_dryrun.rb: corresponding test refactoring
* test/fileutils/test_nowrite.rb: ditto
* test/fileutils/test_verbose.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 17:59:47 +00:00
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
nobu 41e331cc36 * enum.c: move work variables to objects not to let called blocks
access stack area out of scope.  [Bug #5801]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 04:24:48 +00:00
akr d698ea8991 * test/dbm/test_dbm.rb: fix skip condition for libgdbm 1.8.0 or prior.
reported by Bohuslav Kabrda.
  [ruby-core:42685] [Bug #6036]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-16 15:25:06 +00:00
nobu fde3c421be * insns.def (splatarray): make new array if flag is set.
* compile.c (iseq_compile_each): make new array with
  splat. [ruby-core:21901][Feature #1125]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 20:41:38 +00:00
nagachika 2910f6736e * cont.c (rb_fiber_reset_root_local_storage): add a new function to
restore rb_thread_t::local_storage.

* cont.c (rb_obj_is_fiber): add a new function to tell finalizer to
  prevent fibers from destroy.

* gc.c (rb_objspace_call_finalizer): don't sweep fibers at finalizing
  objspace.

* internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber):
  add prototypes.

* vm.c (ruby_vm_destruct): reset main thread's local_storage before
  free main thread. rb_thread_t::local_storage is replaced by fiber's
  local storage when forked from fiber, and it should be already freed
  when the fiber was destroyed.

* test/ruby/test_fiber.rb (test_fork_from_fiber): add test for fork
  from fiber.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 14:00:11 +00:00
nobu fa65df0d08 * ext/fiddle/closure.c (callback): same as r34506.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 10:52:31 +00:00
naruse df5867a2a7 Add test for r34624.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 09:47:22 +00:00
naruse 1c923eb230 Set encoding as ASCII-8BIT. [Bug #6027]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-14 20:13:27 +00:00
knu 23473d1f9f * vm_method.c (rb_method_boundp):
obj.respond_to?(:a_protected_method) should return false because
  calling a protected method may cause NoMethodError if called
  from outside the class inheritance tree.  Kernel#respond_to? is
  mostly used to test if it is safe to call a method, so the false
  positive should be avoided. [ruby-dev:40461] [ruby-dev:41739]
  [ruby-dev:41837]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 14:02:26 +00:00
nobu df77202b37 * io.c (io_setstrbuf): defer resizing buffer string until data is
read actually.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 09:30:40 +00:00
drbrain 691a3a2bdc * vm_eval.c (check_funcall): Call respond_to? with matching arity for
legacy single-argument implementations.  [ruby-trunk - Bug #6000]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 19:15:36 +00:00
nobu cd339692ef * compile.c (defined_expr): guard the whole expression.
[ruby-dev:45021][Bug#5786]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 03:04:23 +00:00
drbrain 1516f8eb9f * ext/zlib/zlib.c (rb_inflate_add_dictionary): Added
Zlib::Inflate#add_dictionary to allow users to pre-specify
  for using during #inflate.  [ruby-trunk - Feature #5937]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 00:37:44 +00:00
drbrain 403dc5357d * ext/zlib/zlib.c (do_inflate): Inflate more data if buffered data
exists.  Allows Zlib::Inflate#set_dictionary to work.
  [ruby-trunk - Bug #5929]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 00:29:52 +00:00
tenderlove 59a1344808 * ext/psych/parser.c: removed external encoding setter, allow parser
to be reused.
* ext/psych/lib/psych/parser.rb: added external encoding setter.
* test/psych/test_parser.rb: test parser reuse

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 18:44:27 +00:00
nobu 5ee0135a2f * test/ruby/envutil.rb (assert_no_memory_leak): new assertion to
check memory leak by invoking child ruby process and watch its
  memory size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 15:47:11 +00:00
nagachika 42144fc3bb * test/pathname/test_pathname.rb (test_binread): add assertion to
check encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 14:44:10 +00:00
usa 71837f629e * test/ruby/memory_status.rb (Memory::Win32): 64bit support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 07:11:23 +00:00
naruse 7bde0843a2 * test/pathname/test_pathname.rb: not read but binread.
patched by Benoit Daloze, [ruby-core:42440] [Bug #5984]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 19:13:14 +00:00
naruse 7fa3f1c5a9 FreeBSD needs multiple -o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 18:29:52 +00:00
nobu fc018c9b34 * test/-ext-/string/test_modify_expand.rb: test for r34492.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 13:35:27 +00:00
naruse 54b90b7be8 Fix condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 11:47:00 +00:00
naruse f75a30776c "street" for X509 Name is not supported before 0.9.8m.
It is added openssl/crypto/objects/obj_mac.h 1.83.
http://cvs.openssl.org/rlog?f=openssl/crypto/objects/obj_mac.h

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 09:49:36 +00:00
nahi 3ff2f9f3a3 * ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
option to prevent BEAST attack. See [Bug #5353].

  In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent
  TLS-CBC-IV vulunerability described at
  http://www.openssl.org/~bodo/tls-cbc.txt
  It's known issue of TLSv1/SSLv3 but it attracts lots of attention
  these days as BEAST attack. (CVE-2011-3389)

  Until now ossl sets OP_ALL at SSLContext allocation and call
  SSL_CTX_set_options at connection.  SSL_CTX_set_options updates the
  value by using |= so bits set by OP_ALL cannot be unset afterwards.

  This commit changes to call SSL_CTX_set_options only 1 time for each
  SSLContext. It sets the specified value if SSLContext#options= are
  called and sets OP_ALL if not.

  To help users to unset bits in OP_ALL, this commit also adds several
  constant to SSL such as
  OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.  These constants were
  not exposed in Ruby because there's no way to unset bits in OP_ALL
  before.

  Following is an example to enable 0/n split for BEAST prevention.

    ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS

* test/openssl/test_ssl.rb: Test above option exists.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 05:27:14 +00:00
emboss 45706e70c9 * ext/openssl/ossl_x509name.c: Use the numerical representation of
unrecognized OIDs instead of the sn "UNDEF".

* test/openssl/test_x509name.rb: Add tests for the fixed behavior.

  Patch provided by Paul Kehrer, thanḱ you!
  [ruby-core:41769] [Feature #5787]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 04:19:33 +00:00
nobu cf1a22fdf9 * st.c (st_update): table can be unpacked in the callback.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-07 05:52:15 +00:00
nobu 97c3c98762 * st.c (st_foreach): should not yield same pair when checking
after unpacking.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-07 05:29:20 +00:00
naruse b346d7a69c * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string
is ascii only string. [ruby-core:42354] [Bug #5968]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-05 15:17:50 +00:00
kazu ca0bb51887 * test/net/http/test_https_proxy.rb
(HTTPSProxyTest#test_https_proxy_authentication):
  add workaround to avoid to hang up without openssl.
  see #5786

* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 15:55:07 +00:00
kou 92cecf79b4 * lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
fix the default xml namespace URI validation.
  Reported by Miho Hiramatsu. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 12:42:27 +00:00
naruse 2a6ccf6c13 * io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
r34409 breaks replacing ARGV.
  [ruby-dev:45160] [Bug #5952]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 08:52:55 +00:00
usa a267b9512a * test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug
output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 07:22:17 +00:00
nobu dc82e7e749 * test/ruby/test_argf.rb (test_readlines_twice_tty): removed incomplete test committed accidentally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-01 01:50:52 +00:00
nobu 0470ce53c5 * io.c (argf_close): skip stdin, which should be readable again.
[ruby-dev:45160] [Bug #5952]
* io.c (argf_readlines): reinitialize after all read to be
  readable again.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 21:39:00 +00:00
nobu 487cc8b5ce * test/ruby/test_thread.rb (TestThreadGroup#test_thread_timer_and_interrupt): suppress interrupt message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 05:29:52 +00:00
nobu 8dd4353968 * test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid
in block form.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 05:27:27 +00:00
nobu 72969cd348 * vm_eval.c (vm_call0): should pass block to enumerators. patched
by Kazuki Tsujimoto.  [ruby-dev:44961][Bug #5731]
* vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):
  ditto.  patched by satoshi shiba.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 10:08:23 +00:00
nobu cba57022b0 * test/readline/test_readline.rb (test_completion_encoding): test on more locales.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 05:37:28 +00:00
usa 5625355c9b * test/irb/test_completion.rb: skip if cannot load irb/completion
(maybe readline does not exist).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 01:39:52 +00:00
naruse 1971897890 Skip test if locale is not Japanese nor UTF-8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-29 14:24:05 +00:00
nobu f3dabacefb * ext/readline/readline.c (readline_attempted_completion_function):
respect encodings.  [Bug #5941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-29 03:18:11 +00:00
shirosaki bb65920642 * test/ruby/test_thread.rb
(TestThreadGroup#test_thread_timer_and_interrupt): skip exit status
  assertion because we cannot get signal status on Windows.

* win32/win32.c (CreateChild): create process group to receive the
  signal by GenerateConsoleCtrlEvent().

* win32/win32.c (kill): use CTRL_BREAK_EVENT instead of CTRL_C_EVENT
  if a process group is specified. CTRL_C_EVENT signal cannot be
  generated for process groups for the specification.
  [ruby-dev:45149] [Bug #5812]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-28 00:51:40 +00:00
shirosaki 11de7c034b * test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set
binmode explicitly for fixing test error on Windows. This is consistent
  with r34243.
  [ruby-dev:45149] [Bug #5812]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-28 00:51:33 +00:00
nobu ef72bdf2de * lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
ignore non-string name modules.  [ruby-core:42244][Bug #5938]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-27 20:53:37 +00:00
nobu 8335ce7065 * ext/io/console/console.c (io_getch): default delegating method
for StringIO.  https://github.com/nobu/io-console/issues/4
* ext/stringio/stringio.c: moved some methods to hidden modules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 18:24:09 +00:00
nobu 97f0b0f558 * file.c (rb_file_s_basename): ignore non-ascii extension in
different encoding, which cannot match.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 04:27:45 +00:00
nobu ed469831e4 * file.c (rb_enc_path_next, rb_enc_path_skip_prefix)
(rb_enc_path_last_separator, rb_enc_path_end)
  (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware
  path handling functions.
* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)
  (rb_file_s_basename, rb_file_dirname, rb_file_s_extname)
  (rb_file_join): should respect the encodings of arguments than
  file system encoding.  [ruby-dev:45145] [Bug #5919]
* dir.c (check_dirname, ruby_glob0): ditto.
* ext/pathname/pathname.c (path_sub_ext): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 02:32:06 +00:00
nobu 04726dd749 * vm.c (rb_iter_break_value): new function to break a block with
the value.  [ruby-dev:45132] [Feature #5895]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-24 05:20:48 +00:00
nobu d03199b6d6 * object.c (rb_Hash): trivial optimization.
* test/ruby/test_object.rb (TestObject#test_convert_hash): fix
  arguments order.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-24 04:29:07 +00:00
matz 498838c662 * object.c (rb_Hash): add Kernel#Hash conversion method like
Array() or Float().  a patch from Run Paint Run Run.  Fix #3131

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-24 04:02:30 +00:00
naruse ac2683c809 Additional test for r34358.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-24 04:00:44 +00:00
naruse 44d7233201 * lib/uri/mailto.rb (URI::MailTo.build): follow Array#to_s change of
Ruby 1.9; use Array#join. [Bug #5840]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 08:12:52 +00:00
naruse aa5b65b2ed * io.c (extract_binmode): raise an exception if binmode/textmode
is specified with both vmode and opthash.
  [ruby-core:42199] [Bug #5918]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 07:56:25 +00:00
naruse e7d83904cb * io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified
with opthash. [ruby-core:42197] [Bug #5917]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 07:56:20 +00:00
mrkn 4c9968c9d9 * test/cgi/test_cgi_util.rb (test_cgi_escape_preserve_encoding):
add a test for CGI::escape to preserve encoding.

* test/cgi/test_cgi_util.rb (test_cgi_unescape_preserve_encoding):
  add a test for CGI::unescape to preserve encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-23 01:09:06 +00:00
naruse b1428ace6b * encoding.c (rb_enc_compatible): fix segv on symbols.
[ruby-core:42204] [Bug #5921]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-21 12:57:37 +00:00
mrkn ce8d368b1e * lib/cgi/util.rb (CGI.escape): support a string with invalid byte
sequence.

* test/cgi/test_cgi_util.rb
  (test_cgi_escape_with_invalid_byte_sequence): test for the above
  change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-20 11:48:52 +00:00
nobu a903f89a23 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_set_program_name): enabled the test too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-20 08:27:24 +00:00
naruse bee7ccddd2 * lib/net/http.rb (Net::HTTP#transport_request): retry a idempotent
request automatically. [ruby-dev:45030] [Bug #5790]
  [ruby-core:41821] [Bug #5813]

* lib/net/http.rb (Net::HTTP#keep_alive_timeout=): added to specify
  the second to reconnect the TCP connection on Keep-Alive.
  The default value is 2 second because current servers uses 2 sec.
  http://ftp-admin.blogspot.com/2009/09/keepalivetimeout2.html

* lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP
  connection on keep-alive timeout.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-20 05:56:35 +00:00
nobu 87daaf61b9 * test/ruby/test_file_exhaustive.rb (test_expand_path): fix commit miss, removed surplus downcase.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-19 06:28:48 +00:00
nobu d6c22be4e7 * test/ruby/test_file_exhaustive.rb (test_expand_path): ignore case of paths on DOSISH platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-19 06:20:49 +00:00
nobu 81d3b071b9 * test/ruby/test_file_exhaustive.rb (test_expand_path): add tests for absolute paths and drive letters. [ruby-core:42177]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-19 06:01:29 +00:00
tadf 49d65bc4d6 ext/date/date_parse.c: [ruby-core:42173].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 22:13:10 +00:00
naruse 8c6e0d3007 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 07:02:58 +00:00
tenderlove 8cf05741bc * ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading
subclasses of String with ivars
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping
  subclasses of String with ivars
* test/psych/test_string.rb: corresponding tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 03:52:01 +00:00
tenderlove ee3ebc2de5 * ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array
subclasses with ivars.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump
  array subclasses with ivars.
* test/psych/test_array.rb: corresponding tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 01:44:21 +00:00
nobu de1e4881d4 * lib/optparse.rb (Regexp): fix incorrect options when casting to
a Regexp, and suppress encoding option warnings.
  https://github.com/ruby/ruby/pull/82


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-16 07:42:01 +00:00
naruse ef18be2366 * object.c (rb_inspect): raise the result is not compatible with
the default external encoding. [ruby-core:42095] [Bug #5848]
  If the default external encoding is ASCII compatible, the encoding of
  inspected result must be compatible with it.
  If the default external encoding is ASCII incomapatible,
  the result must be ASCII only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-15 07:28:50 +00:00
nobu e72ae8cc0f * iseq.c (iseq_data_to_ary): check line info table boundary. line
number 0 means no line number info is needed.  [ruby-dev:45130]
  [Bug #5894]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-14 12:56:46 +00:00
nagachika 15e1ff7f23 * error.c (exc_equal): clear rb_thread_t::errinfo when ignore
an exception under rb_protect(). [ruby-core:41979] [Bug #5865]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-14 09:36:18 +00:00
nobu f2aa0fd5d4 * error.c (exc_equal): ignore exceptions during implicit
conversion.  [ruby-core:41979] [Bug #5865]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-14 03:00:24 +00:00
naruse 1648e9442d Revert "* error.c (exc_equal): try implicit conversion for delegator."
This reverts commit r34291 because it breaks objects whose "exception"
method doesn't allow no argument like XMLRPC::FaultException class.
To reproduce: `RuntimeError.new == XMLRPC::FaultException`.
[ruby-core:41979] [Bug #5865]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-13 23:41:55 +00:00
nobu a5bfe7ca83 * error.c (exc_equal): try implicit conversion for delegator.
[ruby-core:41979] [Bug #5865]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-13 07:44:50 +00:00
knu 1c58146ee5 Forgot to commit the test part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-13 06:10:37 +00:00
knu 8c72fc9bf0 * lib/shellwords.rb (Shellwords#shellsplit): Fix a bug where
consecutive backslashes in double quotes are all removed except
  the one at the tail.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-12 18:42:03 +00:00
nagachika 2afa0b4cca * test/readline/test_readline.rb (test_completion_proc_empty_result):
ensure clearance of Readline's line_buffer after the test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-11 13:46:32 +00:00
nobu 1aa408971f * test/ruby/test_enumerator.rb (test_nested_iteration): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-10 07:13:04 +00:00
nobu 7ef154f833 * test/readline/test_readline.rb (test_completion_proc_empty_result): rescue NoMemoryError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-10 01:45:09 +00:00