/*
 * call-seq:
 *   proc.push(anotherProc) => self
 *
 * Append the body of anotherProc onto proc.
 */
static VALUE proc_push(VALUE self, VALUE other)
{
#ifdef RUBY_HAS_YARV
  rb_raise(rb_eRuntimeError, "Proc#push not implemented yet for YARV");
#else
  struct BLOCK * b1;
  struct BLOCK * b2;
  Data_Get_Struct(self, struct BLOCK, b1);
  Data_Get_Struct(other, struct BLOCK, b2);
  b1->body = NEW_NODE(NODE_BLOCK, b1->body, 0, b2->body);
  return self;
#endif
}