diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-09-21 06:37:24 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-09-21 06:37:24 +0000 |
commit | 13243e5ad15f5d0d259b4850199183fdf9572f46 (patch) | |
tree | ac85733cc87fdfccc5b1e1e0b20aae1de610cf5a | |
parent | fc57cd59ffe2cca34d6bd48962f0be47eed0f509 (diff) |
matz - net library bug (by me)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 3 | ||||
-rw-r--r-- | lib/net/http.rb | 4 | ||||
-rw-r--r-- | lib/thwait.rb | 2 | ||||
-rw-r--r-- | ruby.c | 1 |
5 files changed, 10 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Wed Sep 20 23:21:38 2000 Yukihiro Matsumoto <matz@ruby-lang.org> + + * ruby.c (load_file): two Ctrl-D was required to stop ruby at the + beginning of stdin script read. + Wed Sep 20 14:01:45 2000 Yukihiro Matsumoto <matz@ruby-lang.org> * eval.c (rb_provided): detect infnite load loop. @@ -1880,6 +1880,7 @@ call_trace_func(event, file, line, self, id, klass) PUSH_FRAME(); *ruby_frame = *prev; ruby_frame->prev = prev; + ruby_frame->iter = 0; /* blocks not available anyway */ if (file) { ruby_frame->line = ruby_sourceline = line; @@ -6022,7 +6023,7 @@ proc_call(proc, args) volatile int orphan; volatile int safe = ruby_safe_level; - if (rb_block_given_p()) { + if (rb_block_given_p() && ruby_frame->last_func) { rb_warning("block for %s#%s is useless", rb_class2name(CLASS_OF(proc)), rb_id2name(ruby_frame->last_func)); diff --git a/lib/net/http.rb b/lib/net/http.rb index 65cd5a9937..447e88c992 100644 --- a/lib/net/http.rb +++ b/lib/net/http.rb @@ -350,13 +350,11 @@ module Net @socket.reopen end - yield( u_header ) + resp = yield( u_header ) if ublock then adapter = HTTPReadAdapter.new( @command ) ublock.call adapter resp = adapter.off - else - resp = @command.get_response end unless keep_alive? u_header, resp then diff --git a/lib/thwait.rb b/lib/thwait.rb index 8003f0d3c7..3c17009310 100644 --- a/lib/thwait.rb +++ b/lib/thwait.rb @@ -96,7 +96,7 @@ class ThreadsWait # adds thread(s) to join, no wait. def join_nowait(*threads) - @threads.concat threads + @threads.concat threads.flatten for th in threads Thread.start do th = th.join @@ -816,6 +816,7 @@ load_file(fname, script) rb_io_ungetc(f, c); } require_libraries(); /* Why here? unnatural */ + if (NIL_P(c)) return; } rb_compile_file(fname, f, line_start); if (script && ruby__end__seen) { |