diff options
author | Victor Stinner <vstinner@python.org> | 2023-05-23 19:40:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-23 19:40:02 +0200 |
commit | ae00b810d1d3ad7f1f7e226b02ece37c986330e7 (patch) | |
tree | 173ec10e86e887adad8740e7833c92a464779917 /Lib/lib2to3/fixes/fix_unicode.py | |
parent | ddb14859535ab8091381b9d0baf32dbe245b5e65 (diff) | |
download | cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.tar.gz cpython-ae00b810d1d3ad7f1f7e226b02ece37c986330e7.zip |
gh-104780: Remove 2to3 program and lib2to3 module (#104781)
* Remove the Tools/scripts/2to3 script.
* Remove the Lib/test/test_lib2to3/ directory.
* Doc/tools/extensions/pyspecific.py: remove the "2to3fixer" object
type.
* Makefile and PC/layout/main.py no longer compile lib2to3 grammar
files.
* Update Makefile for 2to3 removal.
Diffstat (limited to 'Lib/lib2to3/fixes/fix_unicode.py')
-rw-r--r-- | Lib/lib2to3/fixes/fix_unicode.py | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/Lib/lib2to3/fixes/fix_unicode.py b/Lib/lib2to3/fixes/fix_unicode.py deleted file mode 100644 index c7982c2b97c..00000000000 --- a/Lib/lib2to3/fixes/fix_unicode.py +++ /dev/null @@ -1,42 +0,0 @@ -r"""Fixer for unicode. - -* Changes unicode to str and unichr to chr. - -* If "...\u..." is not unicode literal change it into "...\\u...". - -* Change u"..." into "...". - -""" - -from ..pgen2 import token -from .. import fixer_base - -_mapping = {"unichr" : "chr", "unicode" : "str"} - -class FixUnicode(fixer_base.BaseFix): - BM_compatible = True - PATTERN = "STRING | 'unicode' | 'unichr'" - - def start_tree(self, tree, filename): - super(FixUnicode, self).start_tree(tree, filename) - self.unicode_literals = 'unicode_literals' in tree.future_features - - def transform(self, node, results): - if node.type == token.NAME: - new = node.clone() - new.value = _mapping[node.value] - return new - elif node.type == token.STRING: - val = node.value - if not self.unicode_literals and val[0] in '\'"' and '\\' in val: - val = r'\\'.join([ - v.replace('\\u', r'\\u').replace('\\U', r'\\U') - for v in val.split(r'\\') - ]) - if val[0] in 'uU': - val = val[1:] - if val == node.value: - return node - new = node.clone() - new.value = val - return new |