* lib/net/smtp.rb: SMTP.new requires at least one arg.
* lib/net/pop.rb: POP.new requires at least one arg.
* lib/net/pop.rb: uses "raise *Error.new" instead of simple raise.
* lib/net/http.rb: HTTP.new requires at least one arg.
* lib/net/http.rb: changes implicit start algolithm.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
limit, not reverse.
* util.c (scan_hex): x is not a hexadecimal digit.
* eval.c (rb_thread_schedule): should treat the case that
select(2) returns 0, if a thread is under both WAIT_SELECT and
WAIT_TIME. Jakub Travnik <J.Travnik@sh.cvut.cz> actually fixed
this bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_mark_all): tweak mark order for little bit better scan.
* gc.c (rb_gc_mark): ditto.
* gc.c (rb_gc): ditto.
* enum.c (sort_by_i): slight performance boost.
* gc.c (gc_mark_rest): should call gc_mark_children(), not gc_mark().
* gc.c (rb_gc_mark): may cause infinite looop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (pst_wstopsig): returns nil unless WIFSTOPPED() is
non-zero.
* process.c (pst_wtermsig): returns nil unless WIFSIGNALED() is
non-zero.
* process.c (pst_wexitstatus): returns nil unless WIFEXITED() is
non-zero.
* eval.c (rb_thread_select): tv_sec and tv_usec should not be
negative.
* signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM.
* parse.y (call_args2): block_arg may follow the first argument in
call_args2.
* eval.c (stack_check): should avoid stack length check during
raising SystemStackError exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
expression interpolation.
* pack.c (pack_unpack): should give length to utf8_to_uv().
* pack.c (utf8_to_uv): add length check.
* massages: replace "wrong #" by "wrong number".
* marshal.c (w_float): output Infinity and NaN explicitly.
* marshal.c (r_object): support new explicit float format.
* eval.c (rb_thread_wait_for): select may cause ERESTART on
Solaris.
* eval.c (rb_thread_select): ditto.
* array.c (rb_ary_join): dumped core if sep is not T_STRING nor T_NIL.
* array.c (rb_ary_join): buffer size calculattion was wrong.
* array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines
between array elements (use rb_default_rs as newline litral)
[experimental].
* gc.c (init_mark_stack): no need to clear mark_stack.
* gc.c (gc_mark_all): need to handle finalizer mark.
* gc.c (gc_mark_rest): use MEMCPY instead of memcpy.
* gc.c (rb_gc_mark): earlier const check to avoid pusing special
constants into mark stack.
* numeric.c (fix_to_s): 'to_s' now takes optional argument to
specify radix. [new]
* bignum.c (rb_big_to_s): ditto. [new]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
POSIX_SIGNAL is defined.
* eval.c (error_print): errat array may be empty.
* eval.c (rb_eval_cmd): should not upgrade safe level unless
explicitly specified by argument newly added.
* signal.c (sig_trap): should not allow tainted trap closure.
* variable.c (rb_f_trace_var): should not allow trace_var on safe
level higher than 3.
* variable.c (rb_f_trace_var): should not allow tainted trace
closure.
* gc.c: do not use static stack until system stack overflows.
* eval.c (eval): should call Exception#exception instead of
calling rb_exc_new3() directly.
* error.c (exc_exception): set "mesg" directly to the clone. it
might be better to set mesg via some method for flexibility.
* variable.c (cvar_override_check): should print original module
name, if 'a' is T_ICLASS.
* parse.y (yylex): float '1_.0' should not be allowed.
* variable.c (var_getter): should care about var as Qfalse
(ruby-bugs#PR199).
* array.c (cmpint): <=> or block for {min,max} may return bignum.
* array.c (sort_1): use rb_compint.
* array.c (sort_2): ditto.
* enum.c (min_ii): ditto.
* enum.c (min_ii): ditto.
* enum.c (max_i): ditto.
* enum.c (max_ii): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
this bug report and fix by tsutomu@nucba.ac.jp.
* forwardable.rb: change raise to Kernel::raise
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c (rb_cvar_set): empty iv_tbl may cause infinite loop.
* variable.c (rb_cvar_get): ditto.
* variable.c (cvar_override_check): ditto.
* bignum.c (rb_big_eq): convert Bignum to Float, instead of
reverse.
* time.c (time_localtime): getting tm should not be prohibited for
frozen time objects.
* time.c (time_gmtime): ditto.
* version.c (Init_version): freeze RUBY_VERSION,
RUBY_RELEASE_DATE, and RUBY_PLATFORM.
* file.c (Init_File): freeze File::SEPARATOR, ALT_SEPARATOR and
PATH_SEPARATOR.
* file.c (rb_stat_cmp): should check operand type before calling
get_stat().
* eval.c (rb_eval_cmd): should not invoke "call" with a block on
any occasion.
* numeric.c (fix_aref): idx may be a Bignum.
* numeric.c (num_remainder): a bug in Numeric#remainder.
* eval.c (rb_exec_end_proc): END might be called within END
block.
* class.c (rb_mod_clone): should not copy class name, since clone
should remain anonymous.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
should remain anonymous.
* eval.c (rb_call0): self in a block given to define_method now be
switched to the receiver of the method.
* eval.c (proc_invoke): added new parameter to allow self
switching.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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
lib/shell/command-processor.rb: translate Japanese comments into
English.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_or): ditto.
* eval.c (rb_thread_schedule): should save context before raising
deadlock, saved context for current thread might be obsolete.
* time.c (make_time_t): non DST timezone shift supported (hopefully).
* time.c (make_time_t): strict range detection for negative time_t.
* signal.c: SIGINFO added.
* eval.c (rb_ensure): should not SEGV when prot_tag is NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
specified include directory if already included in $CPPFLAGS.
* ext/extmk.rb.in, lib/mkmf.rb: (dir_config) return a more useful
value, [include_dir, lib_dir].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c (glob_helper): breaks loop after calling recusive
glob_helper; all wild cards should be consumed; no need for
further match.
* dir.c (dir_s_glob): gives warning if no match found.
* object.c (sym_inspect): did allocate extra byte space.
* marshal.c (shortlen): shortlen should return number of bytes
written.
* eval.c (ev_const_defined): need not to check if cbase->nd_class
is rb_cObject.
* eval.c (ev_const_get): ditto.
* time.c (time_zone): return "UTC" for UTC time objects.
* eval.c (THREAD_ALLOC): flags should be initialized.
* signal.c (rb_f_kill): should use FIX2INT, not FIX2UINT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (cond0): no special treatment of string literal in
condition.
* math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math.
* configure.in: check hypot availablility.
* missing/hypot.c: public domain rewrite of hypot.
* parse.y (warn_unless_e_option): warning condition was wrong.
* parse.y (warning_unless_e_option): ditto.
* enum.c (enum_all): new method 'all?', which returns true if
block returns true for all elements.
* enum.c (enum_any): new method 'any?', which returns true if
block retruns true for any of elements.
* marshal.c (marshal_load): do not give warning unless explicitly
set to verbose.
* eval.c (rb_exit): give string value "exit" to SystemExit.
* ruby.c (proc_options): -v should not print version if
proc_options called via moreswitches().
* parse.y (stmt): while/until modifier must work for empty body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
based on ruby_frame->iter altered by PUSH_ITER().
* eval.c (rb_thread_fd_close): should save current context before
raising exception.
* io.c (set_stdin): preserve original stdin.
* io.c (set_outfile): preserve original stdout/stderr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
have same fileno.
* eval.c (rb_load): raise LocaJumpError if unexpected local jumps
appear during load.
* ext/socket/socket.c (bsock_close_read): don't call rb_thread_fd_close();
it's supposed to be called by io_io_close().
* ext/socket/socket.c (bsock_close_read): do not modify f and f2.
* ext/socket/socket.c (bsock_close_write): ditto.
* ext/socket/socket.c (sock_new): avoid dup(2) on sockets.
* parse.y (primary): preserve and clear in_single and in_def using
stack to prevent nested method errors in singleton class bodies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (parse_qstring): %q should allow terminator escape.
* re.c (rb_reg_options): new method to give an option values.
* parse.y (cond0): disable special treating of integer literal in
conditional unless option -e is supplied. changes current
behavior. experimental.
* parse.y (cond0): give warning for string/integer literals and
dot operators in conditionals unless option -e is supplied.
* re.c (rb_reg_equal): all option flags should be same to be equal.
* error.c (Init_Exception): make Interrupt a subclass of
SignalException.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http.rb: call on_connect() on re-opening socket.
* lib/net/pop.rb: also POP3 can use APOP auth.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
less than 2.
* eval.c (POP_VARS): propagate DVAR_DONT_RECYCLE, if
SCOPE_DONT_RECYCLE of ruby_scope is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
preceding was too high. a block in `foo bar do .. end' should
be passed to `foo', not `bar'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
pathname. In addition, it accepts third optional argument to
specify starting point.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb: ignore EOFError for read.
* lib/net/http.rb: user specified header was not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack.c (pack_unpack): should check associated pointer packed by
pack("P"). restriction added.
Sun Jan 14 21:49:28 2001 Koji Arai <JCA02266@nifty.ne.jp>
* sprintf.c (rb_f_sprintf): simple typo. binary base should be 2,
not '2'.
* re.c (rb_reg_s_last_match): should explicitly return nth match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb (adding): too few "yield" in case of arg is not String/File.
* lib/net/http.rb: add http request object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rb_gc_call_finalizer_at_exit): clear klass member of
terminating object.
* eval.c (rb_call): raise exception for terminated object.
* bignum.c (bigdivrem): t2 might be too big for signed long; do
not use rb_int2big(), but rb_uint2big().
* error.c (rb_load_fail): new func to report LoadError.
* ruby.c (load_file): use rb_load_fail.
* eval.c (ruby_finalize): should enclosed by PUSH_TAG/POP_TAG.
* gc.c (rb_gc_mark): link 2 of NODE_IFUNC should not be explicitly
marked. it may contain non object pointer.
* re.c (reg_s_last_match): Regexp::last_match(nth) returns nth
substring of the match (alternative for $& and $<digit>).
* eval.c (rb_mod_define_method): wrong comparison for blocks.
* gc.c (id2ref): should handle Symbol too.
* gc.c (id2ref): should print original ptr value
* eval.c (rb_iterate): NODE_CFUNC does not protect its data
(nd_tval), so create new node NODE_IFUNC for iteration C
function.
* eval.c (rb_yield_0): use NODE_IFUNC.
* gc.c (rb_gc_mark): support NODE_IFUNC.
* gc.c (mem_error): prohibit recursive mem_error().
(ruby-bugs-ja:PR#36)
* eval.c (rb_thread_fd_writable): should not switch context if
rb_thread_critical is set.
* eval.c (rb_thread_wait_fd): ditto.
* eval.c (rb_thread_wait_for): ditto.
* eval.c (rb_thread_select): ditto.
* eval.c (rb_thread_join): join during critical section causes
deadlock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb,smtp.rb,pop.rb,http.rb: wrongly version 1.2 sources
were checked in.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb: Command#critical_ok
* lib/net/smtp.rb: clear critical flag before go to SMTP
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/imap.rb: changed return value of Net::IMAP#fetch.
* lib/net/imap.rb: support HEADER.FIELDS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb (each_crlf_line): beg = 0 is needed in adding{}
* lib/net/smtp.rb: allow String for to_addr of SMTP#sendmail
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/protocol.rb: modified each_crlf_line again.
* lib/net/protocol.rb: do_write_beg,do_write_end -> writing{}
do_write_do -> do_write
* lib/net/http.rb: can make proxy connection by passing
addresses to HTTP.new, start.
* lib/net/http.rb: HTTP.new_implementation, old_implementation:
can use 1.2 implementation of head, get, post, put.
(see document)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/cig.rb: read_multipart(): if no content body then raise EOFError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o http.rb: not close connection in get_body,
Only connection() closes socket
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o smtp.rb: use Socket.gethostname to get localhost name
p pop.rb: use MD5#hexdigest
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o http.rb: 'Host:' field includes port if port != 80
o http.rb: see also 'proxy-connection:' field
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o http.rb: (keep_alive?) use both user header and response
o http.rb: (connecting) returns response
o http.rb: (connecting) proc u_header and yield it
o http.rb: (connecting) call user block in conecting
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o http.rb: HTTP#head2
o http.rb: HTTPResponse#value
o http.rb: get2/post2 returns response header
o http.rb: *2 does not raise exceptions
o smtp.rb: try esmtp only first time
o protocol.rb: remove error_occured
o protocol.rb: Command#error! does not take argument
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o http.rb: when body was chunked, does not set 'Content-Length'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o protocol.rb: update Net::Protocol::Proxy#connect
o protocol.rb: ReplyCode is not a class
o http.rb: header value does not include header name
o http.rb: header is not a Hash, but HTTPResponse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o all: use "critical" to avoid duplicated command dispatch
o http.rb: change get2, post2 usage (HTTPWriter)
o http.rb: entity reading algorithm is better
o http.rb: more reply code (4xx, 5xx)
o protocol.rb: arguments of "connect" can be omitted
o protocol.rb: "quit" is not template method (now do_quit is removed)
o protocol.rb: ReplyCode.error_type was not work: using module_eval
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o smtp.rb: arguments discription of do_ready was wrongly void
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o all: use 'attr_reader/writer' instead of 'attr'
o http.rb: get/head allow implicit 'start'
o http.rb: change connection state algorithm
o http.rb: process user header before write
o protocol.rb: refine start/finish
o protocol.rb: Command#last_reply
o protocol.rb: ReplyCode.error!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
o write, write_pendstr takes block
o smtp.ready
o popmail.pop takes block
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12 b2dd03c8-39d4-4d8f-98ff-823fe69b080e