From c79fb8da4913fd458c4e709a94512a1407cb4d5c Mon Sep 17 00:00:00 2001 From: ketmar Date: Fri, 3 Nov 2023 00:13:36 +0000 Subject: [PATCH] UrForth: properly mark scattered colon words FossilOrigin-Name: 2b75b4b8dc1ab7c022bc4b88401b51a03a5e66566c96b84dbac570528ee57050 --- src/liburforth/urforth.c | 2 +- urflibs/init/bootstrap/25-scolon.f | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/liburforth/urforth.c b/src/liburforth/urforth.c index 5b01e3b..d86b935 100644 --- a/src/liburforth/urforth.c +++ b/src/liburforth/urforth.c @@ -8685,7 +8685,7 @@ static void ufoDefineForthHidden (const char *name) { // //========================================================================== static void ufoDefineSColonForth (const char *name) { - ufoDefineNative(name, ufoDoForthCFA, 0); + ufoDefineNative(name, ufoDoForthCFA, UFW_FLAG_SCOLON); // placeholder for scattered colon // it will compile two branches: // the first branch will jump to the first "..:" word (or over the two branches) diff --git a/urflibs/init/bootstrap/25-scolon.f b/urflibs/init/bootstrap/25-scolon.f index c3f276f..dc50269 100644 --- a/urflibs/init/bootstrap/25-scolon.f +++ b/urflibs/init/bootstrap/25-scolon.f @@ -28,6 +28,7 @@ also compiler definitions : ?cfa-scolon ( cfa -- ) dup forth-word? " forth word expected" ?not-error + dup cfa->nfa @ compiler:(wflag-scolon) and " s-colon word expected" ?not-error cfa->pfa dup @ ['] forth:(branch) <> " s-colon word expected" ?error 2 +cells @ ['] forth:(branch) <> " s-colon word expected" ?error @@ -51,7 +52,7 @@ also compiler compile forth:(branch) () compile forth:(branch) swap () - \ (set-scolon) + (wflag-scolon) or-wflags \ (set-scolon) ; immediate -- 2.11.4.GIT