err_print.patch

wanabe (_ wanabe), 01/28/2010 07:19 pm

Download (561 Bytes)

eval_error.c (working copy)
67 67
error_print(void)
68 68
{
69 69
    volatile VALUE errat = Qnil;		/* OK */
70
    VALUE errinfo = GET_THREAD()->errinfo;
70
    rb_thread_t *th = GET_THREAD();
71
    VALUE errinfo = th->errinfo;
71 72
    volatile VALUE eclass, e;
72 73
    const char *volatile einfo;
73 74
    volatile long elen;
74 75

  
75 76
    if (NIL_P(errinfo))
76 77
	return;
78
    rb_thread_raised_clear(th);
77 79

  
78 80
    PUSH_TAG();
79 81
    if (EXEC_TAG() == 0) {