compiler1.py / compiler38.py appear to be dead code that has drifted from compiler.py (including missing bugfixes) — should be removed or clarified
还没有人认领这个 Issue。
评估
调研方向
Start by reviewing transcrypt/modules/org/transcrypt/compiler.py alongside compiler1.py and compiler38.py, then verify the references in transcrypt/main.py, setup.py, and MANIFEST.in. Confirm with maintainers whether the two files support an older Python version or another workflow; done means either removing the unused files or documenting their purpose and keeping them intentionally.
由索引模型根据 Issue 内容生成。
描述
Summary
While reviewing transcrypt/modules/org/transcrypt/, I noticed two files that closely mirror the main compiler but don't appear to be referenced anywhere in the codebase: compiler1.py and compiler38.py (each ~164KB, ~4,000 lines).
Investigation
Only compiler.py is imported at runtime:
$ grep -n "^from|^import" transcrypt/main.py | grep -i compil
from org.transcrypt import compiler
And a repo-wide search turns up no references to the other two:
$ grep -rln "compiler1|compiler38" --include=.py --include=.cfg --include=.in --include=.txt .
(no results)
Neither file appears in setup.py or MANIFEST.in as a distinct entry point either.
Evidence they've drifted from the maintained file
Because they're never exercised, compiler1.py and compiler38.py have fallen out of sync with compiler.py. One concrete example — compiler.py (line 96) has a guard the other two lack:
compiler.py
self.optionsChanged = project and utils.commandArgs.projectOptions != project.get('options')
compiler1.py / compiler38.py (identical in both)
self.optionsChanged = utils.commandArgs.projectOptions != project.get('options')
There are also larger structural differences in visit_Assign, around handling ast.Index / ast.ExtSlice (older Python AST shapes) vs. ast.Slice in compiler.py — this suggests compiler1.py/compiler38.py may be legacy per-Python-version forks that predate a later consolidation into compiler.py.
Why this seemed worth flagging
If these files are intentionally kept — e.g. for reference, rollback, or supporting an older Python version — that's completely reasonable. But as they stand, they're visually indistinguishable from live code to a new contributor, and a fix landed in compiler.py (like the guard above) gives no signal about whether the same fix is still needed, or already irrelevant, in the other two.
Questions
- Are compiler1.py / compiler38.py still needed for something (e.g. older Python version support), or are they safe to delete?
- If they're intentionally kept, would a short comment at the top of each file (or a note in CONTRIBUTING) explaining their purpose be welcome?
Happy to submit a small PR for either outcome — deletion or documentation — once I know which direction is preferred.
- 主要语言
- Python
- 星标
- 2.9k
- 派生
- 218
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
TranscryptOrg/Transcrypt 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
TranscryptOrg/Transcrypt#913 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
TranscryptOrg/Transcrypt#911 · 2 条评论 ·
-
IS: bug
难度 2/5 1-3 小时 新手友好度 70/100
TranscryptOrg/Transcrypt#908 ·
-
SUB: documentation
难度 1/5 1 小时以内 新手友好度 62/100
TranscryptOrg/Transcrypt#656 · 7 条评论 ·
-
难度 3/5 1-2 天 新手友好度 76/100
TranscryptOrg/Transcrypt#914 ·
查看 TranscryptOrg/Transcrypt 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
难度 2/5 1-3 小时 新手友好度 88/100
OpenHands/extensions#626 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
CSCfi/sd-search-api#39 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 68/100
StevenBlack/hosts#3255 ·