retroforth/interface/error.retro
crc 987c3a5cc1 use DEVICE: words for device ids
FossilOrigin-Name: 49f75a7d0be98b46a38b039531d7b1b71ffe05e3db942c4efaeb242310fc0898
2023-12-10 23:32:03 +00:00

23 lines
612 B
Forth

~~~
:err:set-handler (nn-)
DEVICE:ERROR io:scan-for
dup n:negative? [ drop 'Error:_error_handling_device_not_found s:put nl ] if;
#0 swap io:invoke ;
:err:dsu (-)
reset nl 'ERROR:_DSU:_DATA_STACK_UNDERFLOW s:put nl bye ;
:err:dso (-)
reset nl 'ERROR:_DSO:_DATA_STACK_OVERFLOW s:put nl bye ;
:err:set-defaults
&err:dsu #1 err:set-handler
&err:dso #2 err:set-handler ;
'interface/error.retro s:keep
dup 'err:set-handler d:lookup d:source store
dup 'err:set-defaults d:lookup d:source store
dup 'err:dso d:lookup d:source store
dup 'err:dsu d:lookup d:source store
drop
~~~