* ext/socket/socket.c (unix_peeraddr): getpeername(2) may result
len = 0.
* string.c (rb_str_subpat_set): support function for new argument
pattern String#[re,offset] = val. [new]
* eval.c (POP_BLOCK): rb_gc_force_recycle() was called too much.
Should not be called if SCOPE_DONT_RECYCLE is set.
* string.c (rb_str_aref_m): new argument pattern
String#[re,offset]. [new]
* string.c (rb_str_substr): should return an instance of
receiver's class.
* string.c (rb_str_succ): ditto.
* array.c (rb_ary_subseq): ditto.
* array.c (rb_ary_initialize): Array.new([1,2,3]) => [1,2,3]. [new]
* string.c (rb_str_reverse): should return an instance of
receiver's class.
* string.c (rb_str_times): ditto.
* array.c (rb_ary_times): ditto
* string.c (str_gsub): ditto.
* string.c (rb_str_ljust): ditto.
* string.c (rb_str_rjust): ditto.
* string.c (rb_str_center): ditto.
* eval.c (eval): retrieves file, line information from binding.
* eval.c (intersect_fds): counts intersecting fds.
* eval.c (rb_thread_schedule): only fds requested by
each thread count as select_value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
lastline and lastmatch in the thread struct for later restore.
* eval.c (rb_thread_save_context): restore lastline and lastmatch.
* numeric.c (flo_to_s): should handle negative float value.
* class.c (rb_include_module): should check whole ancestors to
avoid duplicate module inclusion.
* string.c (trnext): should check backslash before updating "now"
position.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_rstrip_bang): new method.
* string.c (rb_str_associate): should consider STR_ASSOC too.
* eval.c (rb_undefined): do not recurse if method_missing is
undefined.
* process.c (proc_waitpid): now all arguments are optional.
* process.c (Init_process): waitpid is now alias to wait.
* process.c (Init_process): waitpid2 is now alias to wait2.
* process.c (rb_waitpid): made public.
* ext/pty/pty.c (pty_getpty): avoid disturbing SIGCHLD using
thread and rb_waitpid.
* process.c (proc_getpgrp): now takes no argument on all
platforms.
* process.c (proc_setpgrp): ditto.
* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
Socket::pack_sockaddr_in(). [new]
* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
Socket::pack_sockaddr_un(). [new]
* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
Socket::unpack_sockaddr_in(). [new]
* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
Socket::unpack_sockaddr_un(). [new]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
and Marshal::MINOR_VERSION.
* marshal.c (marshal_load): ruby_verbose test should be wrapped by
RTEST().
* hash.c (rb_hash_index): should return nil (not the default
value) if value is not in the hash.
* numeric.c (num_div): new method added. alias to '/' which
should be preserved even if '/' is redefined (e.g. by
mathn). [new]
* bignum.c (rb_cstr2inum): "0 ff".hex should return 0, not 255.
* file.c (rb_file_s_expand_path): fixed using CharNext().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
lib/* files properly in case of create_makefile("dir/name").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
variables: CLEANFILES and DISTCLEANFILES. They'd typically be
defined in a file "depend".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a module name. This also works around a just found bug of
String#rindex.
* ext/extmk.rb.in: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http.rb (HTTP#request_by_name): bug fix.
* lib/net/http.rb: does not write Connection: by default.
* lib/net/protocol.rb: "start" for started protocol is an error.
* lib/net/protocol.rb: "finish" for finished protocol is an error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http.rb: new method HTTP#request_by_name (test)
* lib/net/http.rb: new class HTTPGenericRequest
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
creating brand new exception object of the receiver.
* eval.c (rb_eval_string_wrap): extend new ruby_top_self, not
original self.
* eval.c (rb_eval_cmd): respect ruby_wrapper if set.
* eval.c (eval): do not update ruby_class unless scope is not
provided.
* eval.c (eval): preserve wrapper information.
* eval.c (proc_invoke): ditto.
* eval.c (block_pass): ditto.
* parse.y (void_expr): too much warnings for void context
(e.g. foo[1] that can be mere Proc call).
* error.c (rb_name_error): new function to raise NameError with
name attribute set.
* eval.c (rb_f_missing): set name and args in the exception
object. [new]
* error.c (name_name): NameError#name - new method.
* error.c (nometh_args): NoMethodError#args - new method.
* lex.c (rb_reserved_word): lex_state after tRESCUE should be
EXPR_MID.
* gc.c (add_heap): allocation size of the heap unit is doubled for
each allocation.
* dir.c (isdelim): space, tab, and newline are no longer
delimiters for glob patterns.
* eval.c (svalue_to_avalue): new conversion scheme between single
value and array values.
* eval.c (avalue_to_svalue): ditto.
* eval.c (rb_eval): REXPAND now uses avalue_to_svalue(), return
and yield too.
* eval.c (rb_yield_0): use avalue_to_svalue().
* eval.c (proc_invoke): Proc#call gives avaules, whereas
Proc#yield gives mvalues.
* eval.c (bmcall): convert given value (svalue) to avalue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
time. previous behavior (search ".rb", then ".so") has a
security risk (ruby-bugs#PR140).
* array.c (rb_ary_to_ary): new function to replace internal
rb_Array(), which never calls to_a, but to_ary (rb_Array() might
call both). [new]
* regex.c (PUSH_FAILURE_POINT): push option status again.
* regex.c (re_compile_pattern): avoid pushing unnecessary
option_set.
* eval.c (rb_load): tainted string is OK if wrapped *and*
$SAFE >= 4.
* eval.c (rb_thread_start_0): should not nail down higher blocks
before preserving original context (i.e. should not alter
original context).
* eval.c (proc_yield): new method equivalent to Proc#call but no
check for number of arguments. [new]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb: ditto.
* win32/Makefile.sub: Use del instead of rm. All these changes are derived from Nobuyoshi Nakada's patch. Thanks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e