diff --git a/ChangeLog b/ChangeLog index d245b21e70..2b18fb0d8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Jul 27 23:23:54 2005 Yukihiro Matsumoto + + * gc.c (obj_free): make message formant consistent with one from + gc_mark(). [ruby-talk:149668] + + * sprintf.c (quad_t): prepare quad_t as well. [ruby-talk:149668] + Wed Jul 27 22:11:37 2005 Kouhei Sutou * sample/rss/tdiary_plugin: removed. because the plugin diff --git a/gc.c b/gc.c index a29b7c7d92..9929eaf328 100644 --- a/gc.c +++ b/gc.c @@ -984,7 +984,7 @@ gc_mark_children(ptr, lev) break; default: - rb_bug("rb_gc_mark(): unknown data type %p(%p) %s", + rb_bug("rb_gc_mark(): unknown data type 0x%lx(%p) %s", obj->as.basic.flags & T_MASK, obj, is_pointer_to_heap(obj) ? "corrupted object" : "non object"); } @@ -1236,8 +1236,8 @@ obj_free(obj) break; default: - rb_bug("gc_sweep(): unknown data type %p(%ld)", obj, - RANY(obj)->as.basic.flags & T_MASK); + rb_bug("gc_sweep(): unknown data type 0x%lx(%p)", + RANY(obj)->as.basic.flags & T_MASK, obj); } } diff --git a/parse.y b/parse.y index 4c28192b25..6c2916ddb6 100644 --- a/parse.y +++ b/parse.y @@ -3178,7 +3178,8 @@ lambda : { lambda_body { /*%%%*/ - $$ = NEW_LAMBDA($2, $4); + $$ = $2; + $$->nd_body = block_append($$->nd_body, $4); dyna_pop($1); /*% $$ = dispatch2(lambda, $2, $4); @@ -3186,42 +3187,42 @@ lambda : { } ; -f_larglist : '(' f_args rparen +f_larglist : '(' f_args opt_bv_decl rparen { /*%%%*/ - $$ = $2; + $$ = NEW_LAMBDA($2, $3); /*% $$ = dispatch1(paren, $2); %*/ } - | f_arg opt_terms + | f_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS($1, 0, 0); + $$ = NEW_LAMBDA(NEW_ARGS($1, 0, 0), $2); /*% $$ = dispatch4(params, $1, Qnil, Qnil, Qnil); %*/ } - | f_arg ',' f_rest_arg opt_terms + | f_arg ',' f_rest_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS($1, 0, $3); + $$ = NEW_LAMBDA(NEW_ARGS($1, 0, $3), $4); /*% $$ = dispatch4(params, $1, Qnil, $3, Qnil); %*/ } - | f_rest_arg opt_terms + | f_rest_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS(0, 0, $1); + $$ = NEW_LAMBDA(NEW_ARGS(0, 0, $1), $2); /*% $$ = dispatch4(params, Qnil, Qnil, $1, Qnil); %*/ } - | /* none */ + | opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS(0, 0, 0); + $$ = NEW_LAMBDA(NEW_ARGS(0, 0, 0), $1); /*% $$ = dispatch4(params, Qnil, Qnil, Qnil, Qnil); %*/ diff --git a/sprintf.c b/sprintf.c index 15678232e9..0d935a1eb5 100644 --- a/sprintf.c +++ b/sprintf.c @@ -842,6 +842,7 @@ fmt_setup(buf, c, flags, width, prec) # if SIZEOF_LONG_LONG == SIZEOF_VOIDP # define _HAVE_SANE_QUAD_ # define _HAVE_LLP64_ +# define quad_t LONG_LONG # define u_quad_t unsigned LONG_LONG # endif #endif