diff --git a/ChangeLog b/ChangeLog index 8142247b0b..02a7212c4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jun 16 17:02:57 2003 Nobuyoshi Nakada + + * eval.c (proc_invoke): format the message for localjump_error(). + Mon Jun 16 16:23:56 2003 NAKAMURA Usaku * ext/dl/dl.c (rb_dl_callback): use rb_block_proc() instead of diff --git a/eval.c b/eval.c index 0d25a620ea..24497796ce 100644 --- a/eval.c +++ b/eval.c @@ -6995,9 +6995,10 @@ proc_invoke(proc, args, self, klass) result = prot_tag->retval; } else if (orphan) { /* orphan block */ - localjump_error("%s from block-closure", - state == TAG_BREAK ? "break" : "return", - prot_tag->retval, state); + char mesg[32]; + snprintf(mesg, sizeof mesg, "%s from block-closure", + state == TAG_BREAK ? "break" : "return"); + localjump_error(mesg, prot_tag->retval, state); } else { ruby_block->tag->dst = incoming_state;