From: "Brian F. Feldman" Date: 2001-09-27T00:18:38+09:00 Subject: [ruby-talk:21728] Re: manipulating "immutable" objects such as Fixnum from within callbacks & al... ts wrote: > >>>>> "B" == Brian F Feldman writes: > > B> Of course, this used to work and it seems it just crashes Ruby now.... > > Can you try this patch > > pigeon% diff -u parse.y~ parse.y > --- parse.y~ Mon Sep 3 07:29:18 2001 > +++ parse.y Wed Sep 26 16:50:42 2001 > @@ -690,10 +690,10 @@ > } > | primary '[' aref_args ']' tOP_ASGN arg > { > - NODE *args = NEW_LIST($6); > + NODE *tmp, *args = NEW_LIST($6); > > - list_append($3, NEW_NIL()); > - list_concat(args, $3); > + tmp = list_append($3, NEW_NIL()); > + list_concat(args, tmp); > if ($5 == tOROP) { > $5 = 0; > } > pigeon% Yeah, that's enough to fix it. I came up with something a little bit different but because its complexity is greater, it's not as good of a fix :) -- Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! / green@FreeBSD.org `------------------------------'