diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | lib/drb/drb.rb | 6 | ||||
-rw-r--r-- | lib/drb/invokemethod.rb | 2 |
3 files changed, 15 insertions, 4 deletions
@@ -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) |