Skip to content

fix: analyze UTF-8 BOM files and preserve their signature - #4

Merged
lukisch merged 1 commit into
masterfrom
fix/codex-utf8-bom-20260930
Sep 30, 2026
Merged

lukisch merged 1 commit into
masterfrom
fix/codex-utf8-bom-20260930

Conversation

@lukisch

@lukisch lukisch commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Gültige Python-Dateien mit UTF-8-BOM wurden bisher als Syntaxfehler U+FEFF abgelehnt; der Auto-Fix scheiterte ebenfalls am führenden Signaturzeichen.

Die Dateianalyse liest jetzt mit utf-8-sig, das eine optionale führende UTF-8-Signatur entfernt. Auto-Fix erkennt den BOM anhand der Originalbytes, dekodiert entsprechend und schreibt die Signatur mit dem ursprünglichen Encoding wieder. Atomare Veröffentlichung, bytegenaues Backup, physische Zeilenumbrüche und Latin-1-Fallback bleiben erhalten.

Validierung: sechs ursprüngliche Regressionen vor Fix fehlgeschlagen; sieben neue Prüfungen einschließlich eines zusätzlichen Nur-Import-Falls nach Fix bestanden. Die ganze Suite besteht mit 210 Tests und vier erwarteten Latin-1-Warnungen; Ruff, py_compile, git diff --check und 20 Metadatenprüfungen bestanden. Neue Tests decken LF/CRLF/CR, Unicode vor einem Inline-Import, leere Ergebnisse, CLI-JSON-Ausgabe und bytegenaue BOM-Backups ab. README DE/EN und llms.txt aktualisiert. Keine Versionsänderung, kein Release und kein Store-Update.

CI-Abnahme: alle acht Testjobs unter Windows, Linux und macOS sowie CodeQL bestanden (Testlauf 36771574327). Geprüfter Head: 358a78d.

@github-actions

Copy link
Copy Markdown

Welcome! 👋 Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing!

@lukisch
lukisch merged commit a70ad66 into master Sep 30, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant