Yes, the patch was not applied correctly, since I had both the
following lines, rather than just the second one:

....
-    (tmp__protect_tmp = rb_node_newnode(NODE_ALLOCA,
\
+    (tmp__protect_tmp = NEW_NODE(NODE_ALLOCA,
\
....

However, the original errors persist:


/usr/bin/c89 -g  -Wnowarn -I. -I.  -c eval.c
            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3206: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3206: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3224: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3224: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3239: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS(node->nd_args);
            ^
"/home/ruby-1.8.2/eval.c", line 3239: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


                SETUP_ARGS(node->nd_args);
                ^
"/home/ruby-1.8.2/eval.c", line 3275: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


                SETUP_ARGS(node->nd_args);
                ^
"/home/ruby-1.8.2/eval.c", line 3275: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS0(node->nd_args->nd_next, node->nd_args->nd_alen
- 1);
            ^
"/home/ruby-1.8.2/eval.c", line 3332: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


            SETUP_ARGS0(node->nd_args->nd_next, node->nd_args->nd_alen
- 1);
            ^
"/home/ruby-1.8.2/eval.c", line 3332: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


        VALUE *vars = TMP_ALLOC(node->nd_tbl[0]+1);
                      ^
"/home/ruby-1.8.2/eval.c", line 3918: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


        VALUE *vars = TMP_ALLOC(node->nd_tbl[0]+1);
                      ^
"/home/ruby-1.8.2/eval.c", line 3918: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


      SETUP_ARGS(node->nd_args);
      ^
"/home/ruby-1.8.2/eval.c", line 5073: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


      SETUP_ARGS(node->nd_args);
      ^
"/home/ruby-1.8.2/eval.c", line 5073: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


                local_vars = TMP_ALLOC(body->nd_tbl[0]+1);
                             ^
"/home/ruby-1.8.2/eval.c", line 5563: error(252): argument of type
          "VALUE *" is incompatible with parameter of type "VALUE"


                local_vars = TMP_ALLOC(body->nd_tbl[0]+1);
                             ^
"/home/ruby-1.8.2/eval.c", line 5563: error(252): argument of type
          "NODE *" is incompatible with parameter of type "VALUE"


16 errors detected in the compilation of "eval.c".

And at least the first error (and I suspect the subsequent errors, too)
related to the following pre-processed code appears to be valid:

                 argv = (tmp__protect_tmp =
rb_node_newnode(NODE_ALLOCA, (VALUE*
)ruby_xmalloc(sizeof(VALUE)*(argc)),tmp__protect_tmp,argc),
(void*)tmp__protect_
tmp->u1 . node);

 ^
"/home/ruby-1.8.2/temp/eval.c", line 5164: error(252): argument of
          type "VALUE *" is incompatible with parameter of type "VALUE"