j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Author: mcayland Date: Sun Oct 17 00:21:51 2010 New Revision: 910 URL: http://tracker.coreboot.org/trac/openbios/changeset/910
Log: Force any errors in the CIF interpret word to reset the Forth engine back to the Forth interpret state.
This fixes various errors being caused by previous calls to CIF interpret throwing exceptions whilst in the Forth compile state. Without this fix, subsequent calls to CIF interpret could be executed erroneusly in Forth compile state rather than the Forth interpret state causing hard-to-detect Forth errors.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk
Modified: trunk/openbios-devel/forth/system/ciface.fs
Modified: trunk/openbios-devel/forth/system/ciface.fs ============================================================================== --- trunk/openbios-devel/forth/system/ciface.fs Sat Oct 16 19:36:22 2010 (r909) +++ trunk/openbios-devel/forth/system/ciface.fs Sun Oct 17 00:21:51 2010 (r910) @@ -273,6 +273,10 @@ ['] evaluate catch dup if \ this is not necessary an error... ." interpret: exception " dup . ." caught" cr + + \ Force back to interpret state on error, otherwise the next call to + \ interpret gets confused if the error occurred in compile mode + 0 state ! then \ ." --- " cr ;