5c782cda — Zandr Martin 9 days ago master
fix bug preventing indented literal blocks

This commit fixes a bug in parsing indented literal blocks. For example:

test(8)

	```
	This is a block
	```

Prior to this commit, this would fail, but with an unexpected error
message: "Error at 4:3: Cannot deindent in literal block". The
indentation was being parsed at every character, so the parser saw the
`T`, then parsed indentation again. The indentation was 0 (since there
were no tab characters between the `T` and the `h`), but the block
started with an indentation level of 1. 0 < 1, so this would be
considered a dedent, which is not allowed.

This commit introduces a new local variable, `check_indent`, which
controls whether the parser tries to parse indentation or not; now
indentation is only parsed when the last character was a newline. From
my testing this seems to fix the issue - indented literal blocks are now
allowed.
053c7705 — Zandr Martin 18 days ago
remove unnecessary `closed` variable in parse_list

This local variable was initialized to `false` and never set to true
anywhere in the function.
Update version to 1.9.6
Fix regression with manual name check
Update version to 1.9.5
0c26abe0 — Zandr Martin a month ago
enforce 1-step indentation

Allow multi-step indentation in literal blocks, and allow multi-step
dedents.
Revert "fix enforcement of 1-step indentation"

This reverts commit 8c537aa2956a55fe341e1d48110ae6985ada7e5f.
8c537aa2 — Zandr Martin a month ago
fix enforcement of 1-step indentation
f7fb0700 — Zandr Martin a month ago
disallow invalid name characters

This commit makes using invalid characters in the name a fatal error.
Before this patch, "foo | bar(1)" would parse as "foobar(1)". Now it is
a fatal error and parsing stops.
Add .build.yml
use TZ=UTC in test case
Update version to 1.9.4
Fix SOURCE_DATE_EPOCH test w/busybox date
Fix the "Ignores underscores in underlined words" test

The test produced the following output:
Ignores underscores in underlined words test/inline-formatting: line 26: end0: not found
2fc5114f — Jan Beich 5 months ago
Drop install -D flag after acb0f64a7b73

On DragonFly, FreeBSD and NetBSD -Dm644 treats m644 as destdir, so
install(1) keeps executable bit on manpages and pkg-config file.

$ make -s install DESTDIR=/tmp/foo
$ find /tmp/foo -type f -ls | awk '{ print $3, $NF }'
-rwxr-xr-x /tmp/foo/usr/local/bin/scdoc
-rwxr-xr-x /tmp/foo/usr/local/lib/pkgconfig/scdoc.pc
-rwxr-xr-x /tmp/foo/usr/local/share/man/man5/scdoc.5
-rwxr-xr-x /tmp/foo/usr/local/share/man/man1/scdoc.1
Add a pkg-config template

Fixes https://todo.sr.ht/~sircmpwn/scdoc/23
Fix installation on FreeBSD
Update version to 1.9.2
parse_text: return if next is UTF8_INVALID

In the underscore case, the next character is retrieved to check
whether the underscore is at a word break. However, if this character
is UTF8_INVALID, the call to parser_pushch will be a noop. This
results in the loop continuing on further than it should. This just
adds a check to see if next is UTF8_INVALID and returns if it is.

Signed-off-by: Brian Ashworth <bosrsf04@gmail.com>
Update version to 1.9.1
Next