https://gitlab.synchro.net/main/sbbs/-/commit/74911bb1379078e52a52f4ca
Modified Files:
.claude/skills/javascript/SKILL.md
Log Message:
javascript skill: document the ini's "key : value" string literals
A key separated from its value by a COLON rather than an equals sign makes
the value a C string literal: xpdev/ini_file.c's key_name() runs it through c_unescape_str(). So an .ini can carry Ctrl-A attribute codes, CP437 bytes
and control characters directly, spelled as ctrl/text.dat spells them, and
no JS-side unescape function is needed. Written up because I was about to hand-roll one.
Records the escape set (\xNN hex, \NNN decimal -- not octal, unless built
with C_UNESCAPE_OCTAL_SUPPORT), which readers unescape (iniGetString and
the named-string-list readers behind File.iniGetObject()), that the
separator is whichever of = or : comes first on the line -- so dir = C:\roms
is unaffected and the two forms mix freely -- that typed reads still split
on : but skip the unescape, and that : preserves trailing whitespace where
= trims it. Verified against a live install with jsexec.
Sits beside the existing trailing-comment trap in the same section, which
still applies: a ; comment after a string value is not stripped under
either separator.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net