From 56d0e386dd43706713743dc7768e8835954d4310 Mon Sep 17 00:00:00 2001 From: Daniel Stelzer Date: Sat, 1 Aug 2026 16:04:56 -0500 Subject: [PATCH 1/4] avoid error with non-ASCII stop characters - doesn't fix it entirely but doesn't crash now --- src/parse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/parse.c b/src/parse.c index 967b5946..cb592e42 100644 --- a/src/parse.c +++ b/src/parse.c @@ -368,7 +368,7 @@ static int next_token(struct lexer *lexer, int parsemode) { return 0; } } - if(strchr(STOPCHARS, ch)) { + if(ch < 0x80 && strchr(STOPCHARS, ch)) { // TODO - need to recognize high stopchars here ideally buf[0] = ch; buf[1] = 0; lexer->kind = TOK_BAREWORD; @@ -431,7 +431,7 @@ static int next_token(struct lexer *lexer, int parsemode) { lexer->errorflag = 1; return 0; } - if(strchr(STOPCHARS, ch)) { + if(ch < 0x80 && strchr(STOPCHARS, ch)) { // TODO - and here (see above) if(parsemode == PMODE_VALUE) { report(LVL_ERR, line, "Stop-character \"%c\" cannot appear inside a multi-character dictionary word.", @@ -448,7 +448,7 @@ static int next_token(struct lexer *lexer, int parsemode) { break; } } - if(strchr(STOPCHARS, ch)) { + if(ch > 0x80 && strchr(STOPCHARS, ch)) { if(parsemode == PMODE_VALUE) { report(LVL_ERR, line, "Stop-character \"%c\" cannot appear inside a multi-character dictionary word.", From d0cdbc15e86d2e2995e52e8d7cc70745d9f1a4df Mon Sep 17 00:00:00 2001 From: Daniel Stelzer Date: Sat, 1 Aug 2026 16:07:01 -0500 Subject: [PATCH 2/4] typo --- src/parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parse.c b/src/parse.c index cb592e42..55ee3cf8 100644 --- a/src/parse.c +++ b/src/parse.c @@ -448,7 +448,7 @@ static int next_token(struct lexer *lexer, int parsemode) { break; } } - if(ch > 0x80 && strchr(STOPCHARS, ch)) { + if(ch < 0x80 && strchr(STOPCHARS, ch)) { // TODO - and here if(parsemode == PMODE_VALUE) { report(LVL_ERR, line, "Stop-character \"%c\" cannot appear inside a multi-character dictionary word.", From db3b6b3366dca81168300584bb2d0874184f2bc1 Mon Sep 17 00:00:00 2001 From: Daniel Stelzer Date: Sat, 1 Aug 2026 16:07:55 -0500 Subject: [PATCH 3/4] bump version --- manual/antora.yml | 2 +- src/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/antora.yml b/manual/antora.yml index d19b4525..7529501f 100644 --- a/manual/antora.yml +++ b/manual/antora.yml @@ -1,6 +1,6 @@ name: dialog title: Dialog -version: 1c02 +version: 1c03-dev nav: - modules/ROOT/nav.adoc - modules/lang/nav.adoc diff --git a/src/Makefile b/src/Makefile index 07aa5295..e03bc5dc 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,4 @@ -DIALOG_VERSION=1c/02 +DIALOG_VERSION=1c/03-dev CC = gcc CFLAGS += -O3 -Wall -Wno-unused-result -Wno-format-truncation -DVERSION=\"${DIALOG_VERSION}\" From 7fa4093c18403ec5bb407722bbf24a300c0a9b20 Mon Sep 17 00:00:00 2001 From: Daniel Stelzer Date: Mon, 3 Aug 2026 19:36:19 -0500 Subject: [PATCH 4/4] readme --- readme.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.txt b/readme.txt index 4b577af1..75faabc1 100644 --- a/readme.txt +++ b/readme.txt @@ -43,6 +43,12 @@ Project website: Release notes: + 1c/03, Lib 1.2.3: + + Compiler: Patched over a bug with non-ASCII word separators. + The problem isn't really fixed, but it will no longer corrupt + your game text. + 1c/02, Lib 1.2.3: Documentation: more has been added to chapter 12.