>>>>> "B" == Brian F Feldman <green / FreeBSD.org> 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% 


Guy Decoux