From 66f02aa32f1e4adb9f24cf186f8c495399d5ce9b Mon Sep 17 00:00:00 2001 From: wim glenn Date: Fri, 8 Jun 2018 05:12:49 -0500 Subject: bpo-11874: fix assertion failure in argparse metavar handling (GH-1826) - bugfix and test for fragile metavar handling in argparse (see bpo-24089, bpo-14046, bpo-25058, bpo-11874) - also fixes some incorrect tests that did not make 1-element tuples correctly --- Lib/argparse.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Lib/argparse.py') diff --git a/Lib/argparse.py b/Lib/argparse.py index e0e367bf20..a030749247 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -327,7 +327,11 @@ class HelpFormatter(object): if len(prefix) + len(usage) > text_width: # break usage into wrappable parts - part_regexp = r'\(.*?\)+|\[.*?\]+|\S+' + part_regexp = ( + r'\(.*?\)+(?=\s|$)|' + r'\[.*?\]+(?=\s|$)|' + r'\S+' + ) opt_usage = format(optionals, groups) pos_usage = format(positionals, groups) opt_parts = _re.findall(part_regexp, opt_usage) -- cgit v1.2.1