| |
|
| : (DoError) ( throw-code -- ) |
: (DoError) ( throw-code -- ) |
| [ has? os [IF] ] |
[ has? os [IF] ] |
| outfile-id dup flush-file drop >r |
>stderr |
| stderr to outfile-id |
|
| [ [THEN] ] |
[ [THEN] ] |
| sourceline# IF |
sourceline# IF |
| source >in @ sourceline# 0 0 .error-frame |
source >in @ sourceline# 0 0 .error-frame |
| ELSE |
ELSE |
| .error |
.error |
| THEN |
THEN |
| normal-dp dpp ! |
normal-dp dpp ! ; |
| [ has? os [IF] ] r> to outfile-id [ [THEN] ] |
|
| ; |
|
| |
|
| ' (DoError) IS DoError |
' (DoError) IS DoError |
| |
|
| 'cold |
'cold |
| init8 chainperform |
init8 chainperform |
| [ has? file [IF] ] |
[ has? file [IF] ] |
| ['] process-args catch ?dup |
process-args |
| IF |
|
| dup >r DoError cr r> negate (bye) |
|
| THEN |
|
| argc @ 1 > |
|
| IF \ there may be some unfinished line, so let's finish it |
|
| cr |
|
| THEN |
|
| [ [THEN] ] |
[ [THEN] ] |
| bootmessage |
bootmessage |
| loadline off quit ; |
loadline off quit ; |
| lp@ forthstart 7 cells + @ - |
lp@ forthstart 7 cells + @ - |
| [ [ELSE] ] |
[ [ELSE] ] |
| [ has? os [IF] ] |
[ has? os [IF] ] |
| sp@ $1040 + |
r0 @ forthstart 6 cells + @ - |
| [ [ELSE] ] |
[ [ELSE] ] |
| sp@ $40 + |
sp@ $40 + |
| [ [THEN] ] |
[ [THEN] ] |
| [ has? floating [IF] ] |
[ has? floating [IF] ] |
| fp@ fp0 ! |
fp@ fp0 ! |
| [ [THEN] ] |
[ [THEN] ] |
| ['] cold catch DoError |
['] cold catch DoError cr |
| [ has? os [IF] ] |
[ has? os [IF] ] |
| bye |
bye |
| [ [THEN] ] |
[ [THEN] ] |