Autoconf: Better Unicode Python support in makedep#370
Merged
Conversation
The `open()` commands in `makedep` for reading Fortran source now includes an `errors=` argument for catching bytes outside of the file character set. Unknown characters are replaced with the "unknown" character (usually �) rather than raising an error. This avoids problems with Unicode characters and older Pythons which do not support them, as well as characters from legacy encodings which can cause errors in Unicode. Substitution does not break any behavior, since Unicode is only permitted inside of comment blocks and strings. This fixes several errors which were silent in `.testing` but were observed by some users which using autoconf to build their own executables.
Codecov Report
@@ Coverage Diff @@
## dev/gfdl #370 +/- ##
=========================================
Coverage 38.38% 38.38%
=========================================
Files 268 268
Lines 76010 76010
Branches 13987 13987
=========================================
Hits 29174 29174
Misses 41597 41597
Partials 5239 5239 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
raphaeldussin
approved these changes
Jun 5, 2023
Hallberg-NOAA
approved these changes
Jun 9, 2023
Member
Hallberg-NOAA
left a comment
There was a problem hiding this comment.
I am formally approving this PR, in line with the review from Raf Dussin.
Member
Author
|
Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/19453 ✔️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
open()commands inmakedepfor reading Fortran source now includes anerrors=argument for catching bytes outside of the file character set. Unknown characters are replaced with the "unknown" character (usually �) rather than raising an error.This avoids problems with Unicode characters and older Pythons which do not support them, as well as characters from legacy encodings which can cause errors in Unicode.
Substitution does not break any behavior, since Unicode is only permitted inside of comment blocks and strings.
This fixes several errors which were silent in
.testingbut were observed by some users which using autoconf to build their own executables.