Mixed tab/space indentation: lexer and formatter measure width differently
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with src/fmt.c and its measure_indent function, then locate the lexer's leading-whitespace measurement. Decide whether both should share one indentation-width rule or mixed tabs and spaces should be rejected. Add tests using the same mixed-indent files for parsing and formatting, and verify the file produces identical output before and after --fmt.
由索引模型根据 Issue 内容生成。
描述
Found by the builder on #1368.
The lexer measures leading whitespace without tab stops. \t measures 6 (2 + 4). In \t \t, the second tab is not counted, giving width 5, so \t \t followed by \t raises "unexpected indent". src/fmt.c measure_indent uses tab stops of 4. So the lexer and the formatter can disagree about the block structure of a mixed-indent file, and --fmt could re-indent a file into a different program.
Done when
- The lexer and fmt share ONE indentation-width function (or the language refuses mixed tab/space indentation outright, with a stated rule).
- A test feeds the same mixed-indent files to both and asserts the same block structure; running the file before and after
--fmtprints the same output.
- 主要语言
- C
- 星标
- 3
- 派生
- 7
- 平均合并
- 11 小时 30 分钟
- 30 天内合并 PR
- 271
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
InauguralSystems/EigenScript 的其他 Issue
-
area:docs kind:docs-drift
难度 2/5 1-3 小时 新手友好度 76/100
InauguralSystems/EigenScript#1887 ·
维护者通常 1 天内回复
-
area:stdlib kind:silent-wrong
难度 2/5 1-3 小时 新手友好度 88/100
InauguralSystems/EigenScript#1878 ·
维护者通常 1 天内回复
-
area:gates kind:docs-drift
难度 1/5 1 小时以内 新手友好度 86/100
InauguralSystems/EigenScript#1851 ·
维护者通常 1 天内回复
-
area:gates area:gfx found-by:critic kind:gate-defect
难度 2/5 1-3 小时 新手友好度 78/100
InauguralSystems/EigenScript#1825 ·
维护者通常 1 天内回复
-
area:runtime-vm kind:silent-wrong
难度 2/5 1-3 小时 新手友好度 72/100
InauguralSystems/EigenScript#1748 · 1 条评论 ·
维护者通常 1 天内回复
查看 InauguralSystems/EigenScript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
-
area:ci priority:low type:chore
难度 2/5 1-3 小时 新手友好度 78/100
crazy-goat/php-fpm-ng#1021 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 74/100
-
难度 2/5 1-3 小时 新手友好度 78/100
CCExtractor/ccextractor#2425 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
pawelsalawa/letos#5839 ·