cpython: 8dde3dcab1e8 (original) (raw)

Mercurial > cpython

changeset 103618:8dde3dcab1e8

Issue #27952: Merge fixcid.py from 3.5 [#27952]

Martin Panter vadmium+py@gmail.com
date Sun, 11 Sep 2016 10:06:38 +0000
parents 9a75fa28bd0a(current diff)ca68bb597df9(diff)
children dd046963bd42
files Misc/NEWS
diffstat 3 files changed, 125 insertions(+), 25 deletions(-)[+] [-] Lib/test/test_tools/test_fixcid.py 91 Misc/NEWS 7 Tools/scripts/fixcid.py 52

line wrap: on

line diff

new file mode 100644 --- /dev/null +++ b/Lib/test/test_tools/test_fixcid.py @@ -0,0 +1,91 @@ +'''Test Tools/scripts/fixcid.py.''' + +from io import StringIO +import os, os.path +import runpy +import sys +from test import support +from test.test_tools import skip_if_missing, scriptsdir +import unittest + +skip_if_missing() + +class Test(unittest.TestCase):

+

+

+

+

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -429,6 +429,13 @@ Build

--- a/Tools/scripts/fixcid.py +++ b/Tools/scripts/fixcid.py @@ -88,9 +88,9 @@ def main(): sys.exit(bad)

Change this regular expression to select a different set of files

-Wanted = '^[a-zA-Z0-9_]+.[ch]$' +Wanted = r'^[a-zA-Z0-9_]+.[ch]$' def wanted(name):

def recursedown(dirname): dbg('recursedown(%r)\n' % (dirname,)) @@ -168,6 +168,7 @@ def fix(filename): if filename == '-': return 0 # Done in filter mode f.close() if not g: return 0 # No changes

# Finishing touch -- move files @@ -193,21 +194,21 @@ def fix(filename):

Tokenizing ANSI C (partly)

-Identifier = '(struct )?[a-zA-Z_][a-zA-Z0-9_]+' -String = '"([^\n\"]|\\.)"' -Char = ''([^\n\']|\\.)'' -CommentStart = '/*' -CommentEnd = '*/' +Identifier = '(struct )?[a-zA-Z_][a-zA-Z0-9_]+' +String = r'"([^\n\"]|\.)"' +Char = r"'([^\n\']|\.)'" +CommentStart = r'/*' +CommentEnd = r'*/' Hexnumber = '0[xX][0-9a-fA-F][uUlL]' Octnumber = '0[0-7][uUlL]' Decnumber = '[1-9][0-9][uUlL]' -Intnumber = Hexnumber + '|' + Octnumber + '|' + Decnumber +Intnumber = Hexnumber + '|' + Octnumber + '|' + Decnumber Exponent = '[eE][-+]?[0-9]+' -Pointfloat = '([0-9]+.[0-9]|.[0-9]+)(' + Exponent + ')?' +Pointfloat = r'([0-9]+.[0-9]|.[0-9]+)(' + Exponent + r')?' Expfloat = '[0-9]+' + Exponent -Floatnumber = Pointfloat + '|' + Expfloat -Number = Floatnumber + '|' + Intnumber +Floatnumber = Pointfloat + '|' + Expfloat +Number = Floatnumber + '|' + Intnumber

Anything else is an operator -- don't list this explicitly because of '/*'

@@ -225,15 +226,16 @@ def initfixline(): def fixline(line): global Program -## print '-->', repr(line) +## print('-->', repr(line)) i = 0 while i < len(line):

-## if Program is InsideCommentProgram: print '...', -## else: print ' ', -## print found

+## if Program is InsideCommentProgram: print(end='... ') +## else: print(end=' ') +## print(found) if len(found) == 2: if found == '/*': Program = InsideCommentProgram @@ -247,15 +249,15 @@ def fixline(line): print('Found in comment:', found) i = i + n continue

-## print 'Ignored in comment:', -## print found, '-->', subst -## print 'Line:', line,

+## print(end='Ignored in comment: ') +## print(found, '-->', subst) +## print('Line:', line, end='') subst = found

else:

-## print 'Substituting in comment:', -## print found, '-->', subst -## print 'Line:', line, +## print(end='Substituting in comment: ') +## print(found, '-->', subst) +## print('Line:', line, end='') line = line[:i] + subst + line[i+n:] n = len(subst) i = i + n