diff --git a/src/mzscheme/src/portfun.c b/src/mzscheme/src/portfun.c index fa0d1685cc..6ec3ce7a4b 100644 --- a/src/mzscheme/src/portfun.c +++ b/src/mzscheme/src/portfun.c @@ -1744,11 +1744,11 @@ user_write_bytes(Scheme_Output_Port *port, const char *str, long offset, long le val = scheme_apply(uop->write_proc, 5, p); + scheme_pop_break_enable(&cframe, 1); /* might break */ + n = user_write_result("user port write", port, 1, val, rarely_block, enable_break, len); - scheme_pop_break_enable(&cframe, 1); - if (!n && !rarely_block) { /* Try blocking write/flush again */ } else {