Update replaceUnicode() to handle two \U{} calls in a row.
#1322
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.
This PR fixes an issue with the string utility's
replaceUnicode()function that prevented it from processing two adjacent\U{}calls, soreplaceUnicode('\U{A0}\U{A0}')would only replace the first\U, not the second. That was due to the requirement of having a non-\character preceding the\Uwhich blocked it from matching the second\U, as that character can't be part of a previous replacement. That requirement was part of an attempt to avoid escaped backslashes like\\U. But, in addition to the problem it caused for replacing the\U{}, the escaped backslashes were never converted to single backslashes. The new code now properly does that as well.The tests are adjusted to accommodate the translation of
\\to\, and to add a pair of adjacent\U.