8.10.2 Ambiguous conditions

deleting the compilation word list (FORGET):

Not implemented.

fewer than u+1 items on the control-flow stack (CS-PICK, CS-ROLL):

This typically results in an abort" with a descriptive error message (may change into a -22 throw (Control structure mismatch) in the future). You may also get a stack underflow error. If you are unlucky, this ambiguous condition is not caught.

name can’t be found (FORGET):

Not implemented.

name not defined via CREATE:

;CODE behaves like DOES> in this respect, i.e., it changes the execution semantics of the last defined word no matter how it was defined.

POSTPONE applied to [IF]:

After defining : X POSTPONE [IF] ; IMMEDIATE. X is equivalent to [IF].

reaching the end of the input source before matching [ELSE] or [THEN]:

While in a taken branch of an [if] or [if]...[else], [then] is ignored, and it’s absence is not noticed.

While in a non-taken-branch, the end of the input source is considered to be the end of the [if] construct, and the missing [then] is reported in a warning.

removing a needed definition (FORGET):

Not implemented.