Klammertext runs natively on Windows; a Windows source-install guide; the bundled sh for @eval :shell
Assembled from klammertext-dev f344a37d0f6e. The commands, the library,
the Standard Klammer Set, the reflection klammerset and the Python
binding build and run natively on Windows (MSYS2 UCRT64 gcc, python.org
Python), and both test tiers pass there. doc/install/windows_source_install.md
is the fifth install guide: a source install parallel to the Linux and
macOS ones, verified by following it on a pristine Windows 11.
Behaviour on every system: paths Klammertext prints use forward slashes;
output is LF; the command line is UTF-8 on Windows; @eval :shell is a
POSIX shell command everywhere -- on Windows it runs the sh Klammertext
ships, BusyBox for Windows (win/busybox/, GPLv2, with its licence and the
source pointer). KLAMMERTEXT_FONTS and KLAMMERTEXT_KLAMMERSETS are lists in
the system's PATH convention (';' on Windows). On Linux and macOS nothing
observable changes.
This commit is contained in:
1 parent
f9af1ff869
commit
fe475e774a
55 files changed
+1182
-153
No files matched your search
+9
-6
@@ -94,7 +94,10 @@ shows " 4a. -u describes the Unicode syntax" '\^0418\^' "$KDESC" -u
|
||||
# The rendered glyph, as UTF-8 BYTE escapes: macOS ships bash 3.2, which
|
||||
# expands $'\xHH' but not $'\U...' (that difference failed this suite's
|
||||
# sibling on Olion, 2026-08-23).
|
||||
shows " 4b. ... and shows the characters" $'\xf0\x93\x8a\xaa' "$KDESC" -u
|
||||
# Byte semantics for this one grep: MSYS2's grep under its UTF-8 locale does
|
||||
# not match a four-byte character that the C locale matches. Only here --
|
||||
# under LC_ALL=C a ".{72,}" width test (10a) would count bytes, not characters.
|
||||
LC_ALL=C shows " 4b. ... and shows the characters" $'\xf0\x93\x8a\xaa' "$KDESC" -u
|
||||
|
||||
echo
|
||||
echo "-- the multi-letter topics --"
|
||||
@@ -174,7 +177,7 @@ shows "27b. an unknown typeface word names the flag" 'Unrecognized typeface comm
|
||||
# ~/.klammertext/fonts yet, so an error there would fail every new user's
|
||||
# first "kdesc --typeface". A typeface an earlier directory also holds is
|
||||
# shadowed, and the LATER row says by which directory.
|
||||
FONTS=$(mktemp -d /tmp/kdesc_fonts.XXXXXX)
|
||||
FONTS=$(mktemp -d "${TMPDIR:-/tmp}"/kdesc_fonts.XXXXXX)
|
||||
shows "27c. --typeface lists the default set" 'Klammertext default typefaces' "$KDESC" --typeface
|
||||
shows "27d. a missing search directory is a row" 'directory does not exist' \
|
||||
env KLAMMERTEXT_FONTS="$FONTS/none" "$KDESC" --typeface
|
||||
@@ -201,25 +204,25 @@ echo "-- provenance: -i shows what the INPUT defines --"
|
||||
# defines; a reader of an unfamiliar document wants the custom ones it
|
||||
# carries. So "-i" restricts every listing to definitions from outside the
|
||||
# loaded klammersets -- while the klammersets stay loaded.
|
||||
PROV=$(mktemp /tmp/kdesc_prov.XXXXXX.k)
|
||||
PROV=$(mktemp "${TMPDIR:-/tmp}"/kdesc_prov.XXXXXX.k)
|
||||
printf '@@shout.k s : Say it loudly @@\n@@shout.html :: <b>*s*</b> @@\n' > "$PROV"
|
||||
shows "32. -i lists the input's own klammer" '@shout' "$KDESC" -i "$PROV" -k
|
||||
absent "33. ... and not the klammerset's" '@table' "$KDESC" -i "$PROV" -k
|
||||
shows "34. without -i the klammerset is shown" '@table' "$KDESC" -k
|
||||
# The klammerset is still LOADED: a coverage derived from a klammer it
|
||||
# supplies proves the analysis saw it even though the report does not.
|
||||
DERIVE=$(mktemp /tmp/kdesc_derive.XXXXXX.k)
|
||||
DERIVE=$(mktemp "${TMPDIR:-/tmp}"/kdesc_derive.XXXXXX.k)
|
||||
printf '@@wave.k s : Wave @@\n@@wave :: @i *s* @ @@\n' > "$DERIVE"
|
||||
shows "35. coverage is derived through the unlisted klammerset" \
|
||||
'@wave +ansi html pdf tex txt +from @i' "$KDESC" -i "$DERIVE" --coverage
|
||||
absent "36. ... and the klammerset is not reported" '@table' "$KDESC" -i "$DERIVE" --coverage
|
||||
# A klammer the input REDEFINES came from the klammerset, but the input
|
||||
# changed it -- which is exactly what a reader needs to know.
|
||||
REDEF=$(mktemp /tmp/kdesc_redef.XXXXXX.k)
|
||||
REDEF=$(mktemp "${TMPDIR:-/tmp}"/kdesc_redef.XXXXXX.k)
|
||||
printf '@@i.html ::: <em class="mine">*text*</em> @@\n' > "$REDEF"
|
||||
shows "37. a redefined klammer is the input's too" '@i' "$KDESC" -i "$REDEF" -k
|
||||
# An input that declares its own klammerset is still the input.
|
||||
DECL=$(mktemp -d /tmp/kdesc_decl.XXXXXX)
|
||||
DECL=$(mktemp -d "${TMPDIR:-/tmp}"/kdesc_decl.XXXXXX)
|
||||
mkdir -p "$DECL/own"
|
||||
printf '@@@klammerset own | A designer set @@@\n@@yell.k s : Yell @@\n@@yell.html :: <b>*s*</b> @@\n' \
|
||||
> "$DECL/own/own.k"
|
||||
|
||||
Reference in new issue
Block a user