From: ts Date: 2001-09-27T00:34:28+09:00 Subject: [ruby-talk:21732] Re: manipulating "immutable" objects such as Fixnum from within callbacks & al... >>>>> "B" == Brian F Feldman writes: B> - val = rb_funcall2(recv, aref, argc-1, argv); B> + val = rb_funcall2(recv, aref, argc ? argc - 1 : 0, argv); You don't need this argc is always > 0 B> + if (argc) { B> + argv[argc-1] = val; B> + val = rb_funcall2(recv, aset, argc, argv); B> + } else { B> + argv = &val; B> + val = rb_funcall2(recv, aset, 1, argv); B> + } Same here, I think Guy Decoux