diff --git a/sys/boot/ficl/softwords/softcore.fr b/sys/boot/ficl/softwords/softcore.fr index b32ed3e1cf42..fa4149af4459 100644 --- a/sys/boot/ficl/softwords/softcore.fr +++ b/sys/boot/ficl/softwords/softcore.fr @@ -31,20 +31,33 @@ decimal 32 constant bl : spaces ( n -- ) 0 ?do space loop ; -: abort" - postpone if - postpone ." - postpone cr - -2 - postpone literal - postpone throw - postpone endif -; immediate +: abort" + state @ if + postpone if + [char] " parse + postpone sliteral + postpone type + postpone cr + -2 + postpone literal + postpone throw + postpone endif + else + [char] " parse + rot if + type + cr + -2 throw + else + 2drop + then + then +; immediate \ ** CORE EXT -0 constant false --1 constant true +0 constant false +false invert constant true : <> = 0= ; : 0<> 0= 0= ; : compile, , ;