aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--lib/drb/drb.rb6
-rw-r--r--lib/drb/invokemethod.rb2
3 files changed, 15 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 58477705d1..56a7dd5c31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Fri Apr 16 12:38:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/drb/drb.rb (DRb::DRbUnknown::initialize): Exception#to_str is
+ deprecated.
+
+ * lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform): multiple
+ value class changed.
+
+ * lib/drb/invokemethod.rb (DRb::DRbServer::InvokeMethod18Mixin::block_yield):
+ ditto.
+
Fri Apr 16 08:27:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/extmk.rb: skip linking when libraries to be preloaded not
diff --git a/lib/drb/drb.rb b/lib/drb/drb.rb
index c056c41162..00a1b352f2 100644
--- a/lib/drb/drb.rb
+++ b/lib/drb/drb.rb
@@ -452,7 +452,7 @@ module DRb
# when the unmarshalling failed. It is used to determine the
# name of the unmarshalled object.
def initialize(err, buf)
- case err
+ case err.to_s
when /uninitialized constant (\S+)/
@name = $1
when /undefined class\/module (\S+)/
@@ -593,7 +593,7 @@ module DRb
msg = load(stream)
argc = load(stream)
raise ArgumentError, 'too many arguments' if @argc_limit < argc
- argv = Array.new(argc, nil)
+ argv = Values.new(argc, nil)
argc.times do |n|
argv[n] = load(stream)
end
@@ -1392,7 +1392,7 @@ module DRb
@result = perform_without_block
end
@succ = true
- if @msg_id == :to_ary && @result.class == Array
+ if @msg_id == :to_ary && @result.class == Values
@result = DRbArray.new(@result)
end
return @succ, @result
diff --git a/lib/drb/invokemethod.rb b/lib/drb/invokemethod.rb
index 412b2ab9b5..7cea01707f 100644
--- a/lib/drb/invokemethod.rb
+++ b/lib/drb/invokemethod.rb
@@ -4,7 +4,7 @@ module DRb
class DRbServer
module InvokeMethod18Mixin
def block_yield(x)
- if x.size == 1 && x[0].class == Array
+ if x.size == 1 && x[0].class == Values
x[0] = DRbArray.new(x[0])
end
block_value = @block.call(*x)