From a3a853c548bca2f2513f49a6f04e3c953468fb6d Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 14 May 2018 18:38:23 -0400 Subject: [PATCH] Fix dashes in preamable Fixes https://todo.sr.ht/~sircmpwn/scdoc/9 --- src/main.c | 2 +- test/preamble | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 2431eb1..3431ecf 100644 --- a/src/main.c +++ b/src/main.c @@ -47,7 +47,7 @@ static void parse_preamble(struct parser *p) { struct tm *now_tm = localtime(&now); strftime(date, sizeof(date), "%F", now_tm); while ((ch = parser_getch(p)) != UTF8_INVALID) { - if (ch < 0x80 && isalnum(ch)) { + if ((ch < 0x80 && isalnum(ch)) || ch == '_' || ch == '-') { assert(str_append_ch(name, ch) != -1); } else if (ch == '(') { section = parse_section(p); diff --git a/test/preamble b/test/preamble index da35b97..4d652c7 100755 --- a/test/preamble +++ b/test/preamble @@ -15,7 +15,7 @@ end 1 begin "Expects name to alphanumeric" scdoc </dev/null -____(8) +!!!!(8) EOF end 1 @@ -42,3 +42,9 @@ scdoc </dev/null test(8) EOF end 0 + +begin "Preserves dashes" +scdoc </dev/null +test-manual(8) +EOF +end 0