Python 3.7 fix for re.split() in version detection #687
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.
re.split("\s*") has changed from splitting on 1 or more spaces in Python 3.6
(with a deprecation warning) to splitting on 0 or more spaces in Python 3.7.
In Python 3.7 this means it splits at every character.
With Python 3.6:
python -c "import re; print(re.split('\s*', '#define H5_VERS_MAJOR 1'))"
/opt/conda/lib/python3.6/re.py:212: FutureWarning: split() requires a non-empty pattern match.
return _compile(pattern, flags).split(string, maxsplit)
['#define', 'H5_VERS_MAJOR', '1']
With Python 3.7b3:
python -c "import re; print(re.split('\s*', '#define H5_VERS_MAJOR 1'))"
['', '#', 'd', 'e', 'f', 'i', 'n', 'e', '', 'H', '5', '', 'V', 'E', 'R', 'S', '', 'M', 'A', 'J', 'O', 'R', '', '1', '']