Skip to content

Commit ae804e5

Browse files
committed
regen
1 parent a6d0ff9 commit ae804e5

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

tests/testsuite

+18-6
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,16 @@ __version__ = "17"
501501
class Pyrediff:
502502
_add_del_re = re.compile(r"^(\d+a\d+(,\d+)?|\d+(,\d+)?d\d+)$")
503503
_change_re = re.compile(r"^\d+(,\d+)?c\d+(,\d+)?$")
504-
_ws_eol_re = re.compile(r"\\(\s)$")
505-
_escape_re = re.compile(r"(?<!\\)\\([-\s!\"#&%,/:;<=>@_`'\''~])")
506504
_group_re = re.compile(r"\\g<([^>]+)>")
505+
if sys.version_info < (3,3):
506+
_escape_re = re.compile(r"\\([-\s!\"#&%,/:;<=>@_`'\''~])")
507+
elif sys.version_info < (3,7):
508+
# 3.3 .. 3.6 doesn'\''t escape "_"
509+
_escape_re = re.compile(r"\\([-\s!\"#&%,/:;<=>@`'\''~])")
510+
else:
511+
# 3.7+ doesn'\''t escape '\''!'\'', '\''"'\'', '\''%'\'', "'\''", '\'','\'', '\''/'\'', '\'':'\'', '\'';'\'',
512+
# '\''<'\'', '\''='\'', '\''>'\'', '\''@'\'', and "`"
513+
_escape_re = re.compile(r"\\([-\s#&%,~])")
507514
508515
def __init__(self):
509516
self.fail = False
@@ -520,7 +527,6 @@ class Pyrediff:
520527
with io.open(input_name, "r", encoding="utf-8") as output_fp:
521528
for line in output_fp:
522529
esc = re.escape(line)
523-
esc = self._ws_eol_re.sub(r"\1", esc)
524530
esc = self._escape_re.sub(r"\1", esc)
525531
sys.stdout.write(esc)
526532
@@ -3111,9 +3117,16 @@ __version__ = "17"
31113117
class Pyrediff:
31123118
_add_del_re = re.compile(r"^(\d+a\d+(,\d+)?|\d+(,\d+)?d\d+)$")
31133119
_change_re = re.compile(r"^\d+(,\d+)?c\d+(,\d+)?$")
3114-
_ws_eol_re = re.compile(r"\\(\s)$")
3115-
_escape_re = re.compile(r"(?<!\\)\\([-\s!\"#&%,/:;<=>@_`'~])")
31163120
_group_re = re.compile(r"\\g<([^>]+)>")
3121+
if sys.version_info < (3,3):
3122+
_escape_re = re.compile(r"\\([-\s!\"#&%,/:;<=>@_`'~])")
3123+
elif sys.version_info < (3,7):
3124+
# 3.3 .. 3.6 doesn't escape "_"
3125+
_escape_re = re.compile(r"\\([-\s!\"#&%,/:;<=>@`'~])")
3126+
else:
3127+
# 3.7+ doesn't escape '!', '"', '%', "'", ',', '/', ':', ';',
3128+
# '<', '=', '>', '@', and "`"
3129+
_escape_re = re.compile(r"\\([-\s#&%,~])")
31173130
31183131
def __init__(self):
31193132
self.fail = False
@@ -3130,7 +3143,6 @@ class Pyrediff:
31303143
with io.open(input_name, "r", encoding="utf-8") as output_fp:
31313144
for line in output_fp:
31323145
esc = re.escape(line)
3133-
esc = self._ws_eol_re.sub(r"\1", esc)
31343146
esc = self._escape_re.sub(r"\1", esc)
31353147
sys.stdout.write(esc)
31363148

0 commit comments

Comments
 (0)