| \ after the next THROW it catches (it may be off due to BOUNCEs or |
\ after the next THROW it catches (it may be off due to BOUNCEs or |
| \ because process-args left something on the stack) |
\ because process-args left something on the stack) |
| BEGIN |
BEGIN |
| .status cr query interpret prompt |
.status |
| |
['] cr catch if |
| |
>stderr ." can't print to stdout, leaving" cr |
| |
\ if stderr does not work either, already DoError causes a hang |
| |
2 (bye) |
| |
endif |
| |
query interpret prompt |
| AGAIN ; |
AGAIN ; |
| |
|
| ' (quit) IS 'quit |
' (quit) IS 'quit |
| fp@ fp0 ! |
fp@ fp0 ! |
| [ [THEN] ] |
[ [THEN] ] |
| handler off |
handler off |
| ['] cold catch DoError cr |
['] cold catch dup -&2049 <> if \ broken pipe? |
| |
DoError cr |
| |
endif |
| [ has? os [IF] ] |
[ has? os [IF] ] |
| 1 (bye) \ !! determin exit code from throw code? |
1 (bye) \ !! determin exit code from throw code? |
| [ [THEN] ] |
[ [THEN] ] |