From: nobu.nakada@... Date: 2002-04-16T01:52:28+09:00 Subject: [ruby-dev:16918] SEGV at call Proc with nested massign. なかだです。 ネストしたProcの引数にArray以外のものを渡すとSEGVします。 $ ruby -e 'proc{|x,(y,z)|}.call(1,2)' -e:1: [BUG] Segmentation fault ruby 1.7.2 (2002-04-15) [i686-linux] アボートしました (core dumped) pcallでないときにはmassign()でmvalueに変換するのでpcallのときだ けにしてみましたが、常にしてしまってもいいかも。 Index: eval.c =================================================================== RCS file: /cvs/ruby/src/ruby/eval.c,v retrieving revision 1.281 diff -u -2 -p -r1.281 eval.c --- eval.c 2002/04/15 07:48:45 1.281 +++ eval.c 2002/04/15 16:43:47 @@ -3947,4 +3947,7 @@ assign(self, lhs, val, pcall) case NODE_MASGN: + if (pcall) { + val = svalue_to_mvalue(val); + } massign(self, lhs, val, pcall); break; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦