[前][次][番号順一覧][スレッド一覧]

ruby-changes:23268

From: nobu <ko1@a...>
Date: Sat, 14 Apr 2012 00:34:45 +0900 (JST)
Subject: [ruby-changes:23268] nobu:r35319 (trunk): * eval_error.c (error_print): use RB_TYPE_P instead of TYPE.

nobu	2012-04-14 00:34:34 +0900 (Sat, 14 Apr 2012)

  New Revision: 35319

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35319

  Log:
    * eval_error.c (error_print): use RB_TYPE_P instead of TYPE.
    * error.c (rb_check_backtrace): ditto.
    * error.c (name_err_mesg_to_str): compare immediate values
      directly.

  Modified files:
    trunk/error.c
    trunk/eval_error.c

Index: eval_error.c
===================================================================
--- eval_error.c	(revision 35318)
+++ eval_error.c	(revision 35319)
@@ -168,7 +168,7 @@
 #define TRACE_TAIL 5
 
 	for (i = 1; i < len; i++) {
-	    if (TYPE(ptr[i]) == T_STRING) {
+	    if (RB_TYPE_P(ptr[i], T_STRING)) {
 		warn_printf("\tfrom %s\n", RSTRING_PTR(ptr[i]));
 	    }
 	    if (skip && i == TRACE_HEAD && len > TRACE_MAX) {
Index: error.c
===================================================================
--- error.c	(revision 35318)
+++ error.c	(revision 35319)
@@ -685,14 +685,12 @@
     static const char err[] = "backtrace must be Array of String";
 
     if (!NIL_P(bt)) {
-	int t = TYPE(bt);
-
-	if (t == T_STRING) return rb_ary_new3(1, bt);
-	if (t != T_ARRAY) {
+	if (RB_TYPE_P(bt, T_STRING)) return rb_ary_new3(1, bt);
+	if (!RB_TYPE_P(bt, T_ARRAY)) {
 	    rb_raise(rb_eTypeError, err);
 	}
 	for (i=0;i<RARRAY_LEN(bt);i++) {
-	    if (TYPE(RARRAY_PTR(bt)[i]) != T_STRING) {
+	    if (!RB_TYPE_P(RARRAY_PTR(bt)[i], T_STRING)) {
 		rb_raise(rb_eTypeError, err);
 	    }
 	}
@@ -1045,14 +1043,14 @@
 	int state = 0;
 
 	obj = ptr[1];
-	switch (TYPE(obj)) {
-	  case T_NIL:
+	switch (obj) {
+	  case Qnil:
 	    desc = "nil";
 	    break;
-	  case T_TRUE:
+	  case Qtrue:
 	    desc = "true";
 	    break;
-	  case T_FALSE:
+	  case Qfalse:
 	    desc = "false";
 	    break;
 	  default:

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]