emrg: fix Inno Pascal nested-brace comments — {app}/{olddata} in block comment broke iscc (v0.2.2 CI 四次修复) - #402
Conversation
…k comment broke iscc (v0.2.2 CI 四次失败) v0.2.2 Build Release CI 四次失败链:#397 heredoc → #398 HWND_BROADCAST 重复 → #400 WPARAM 类型缺失 → 本轮:line 88 Syntax error({olddata})。 根因:Inno Setup Pascal 块注释 { } 不支持嵌套。R119 大注释块 "{ R119: ... {app} ... {olddata} ... }" 内含 {app}/{olddata},内部的 } 提前终止注释块 → 后续内容变成代码 → "Syntax error"(line 88 column 19)。 修复:将含 {app}/{olddata} 的 2 处块注释改为 Pascal // 行注释 (AddBinDirToPath 上方 7 行 + RemoveBinDirFromPath 上方 1 行)。 其余块注释(R120/R122/R119 单行)无嵌套花括号,保持 { } 不变。 验证:heredoc set -u 模拟(无 unbound + 无嵌套花括号)+ sh -n + 466 passed + import OK + --help OK。
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle 20260805-1607. 第 1 个 LGTM。根因链完整:v0.2.2 四次失败 = heredoc(#397)→ HWND_BROADCAST 重复(#398)→ WPARAM(#400)→ Pascal 嵌套花括号注释(本轮)。独立验证:模拟 .iss 的 [Code] 段所有 { } 行无嵌套(awk 检查无 NESTED-BRACE);含 {app}/{olddata} 的 2 处注释已改 // 行注释;R120/R122/R119 单行无嵌套保持 { } 最小改动。heredoc set -u 无 unbound + sh -n + 466 passed。LGTM 1/3。
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle 20260805-1612. 第 2 个 LGTM。独立复核:① diff 最小化 — 仅 2 处块注释改 // 行注释(AddBinDirToPath 上方 7 行含 R123 说明、RemoveBinDirFromPath 上方 1 行);② 模拟 .iss 的 [Code] 段 awk 检查无嵌套花括号(含 {app}/{olddata} 的注释行全部为 // 前缀);③ R120/R122/R119 单行无嵌套保持 { } 不变;④ heredoc set -u 无 unbound + sh -n + 466 passed;⑤ CI test pass 35s。LGTM 2/3。
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle 20260805-1615. 第 3 个 LGTM。独立复核:① diff 仅 2 处块注释改 // 行注释(最小化,无逻辑改动);② 模拟 .iss 嵌套花括号检查通过(awk 无 NESTED-BRACE,含 {app}/{olddata} 的注释全为 // 前缀);③ R120/R122/R119 无嵌套保持 { };④ heredoc set -u + sh -n + 466 passed;⑤ CI test pass 35s。LGTM 3/3,满足合并条件。
* emrg: bump v0.2.3 — Windows 修复集打版(#399 卸载彻底 + #401 TUI + #403 真实报错) rant 2026-08-05T17:26:40:master 已合入 6 个 Windows 相关修复但未打 tag, Windows 用户仍在使用旧安装包。本次 bump 0.2.2 → 0.2.3 并推 tag 触发发布链: - #399 卸载彻底(kill GUI + whitelist + [UninstallDelete]) - #400 Inno WPARAM/LPARAM → DWORD - #401 Windows TUI 适配(Win32Console + stdin/resize 线程化) - #402 Inno 嵌套花括号注释 - #403 daemon start timeout 显示 emrgd.log 尾部真实报错 - #405 README 同步 版本文件 4 处同步:pyproject.toml / __init__.py / make-installer.sh / build-runtime.sh * emrg: sync uv.lock to 0.2.3 --------- Co-authored-by: EMRG Evolution <emrg@argszero.dev>
背景
v0.2.2 Build Release CI 四次失败链(Windows job):
$FFFF被 bash 展开 → unbound variable ✅ merged[Code]const 段重复定义 HWND_BROADCAST(iscc 内置)✅ mergedError on line 88 ... Syntax error({olddata})根因
Inno Setup Pascal 块注释
{ }不支持嵌套。 R119 大注释块:内含
{app}/{olddata}—— 内部}提前终止注释块 → 后续内容变成代码 →Syntax error(line 88 column 19)。修复
将含
{app}/{olddata}的 2 处块注释改为 Pascal//行注释:AddBinDirToPath上方 7 行(含 R123 说明)RemoveBinDirFromPath上方 1 行其余块注释(R120 / R122 / R119 单行)无嵌套花括号,保持
{ }不变(最小改动)。验证
set -u模拟:无 unbound variable、无嵌套花括号sh -nOKemrg --helpOK预期
Windows iscc 编译通过 → 4 平台 build 全绿 → release job 产出 v0.2.2 资产(含 windows-x64.exe)。合并后需重建 tag v0.2.2(当前 tag 指向 4af86ce,#401 未包含)。