[3.8] bpo-29553: Fix ArgumentParser.format_usage() for mutually exclusive groups (GH-14976) (GH-15494) (GH-15624)
diff --git a/Lib/argparse.py b/Lib/argparse.py
index a6ab3b3..456ec8b 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -405,13 +405,19 @@
inserts[start] += ' ['
else:
inserts[start] = '['
- inserts[end] = ']'
+ if end in inserts:
+ inserts[end] += ']'
+ else:
+ inserts[end] = ']'
else:
if start in inserts:
inserts[start] += ' ('
else:
inserts[start] = '('
- inserts[end] = ')'
+ if end in inserts:
+ inserts[end] += ')'
+ else:
+ inserts[end] = ')'
for i in range(start + 1, end):
inserts[i] = '|'