summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorZac Hatfield-Dodds <Zac-HD@users.noreply.github.com>2019-07-14 05:35:58 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-07-14 05:35:58 (GMT)
commitdffca9e925ee5c3072663cbe8d4d4768406d5307 (patch)
treed7a4e205a3dc47cb6e327c8df1d8f6cae4bf9483 /Doc/library
parent014847034bfc67e7b7d7e9e01d664e1e8864be9d (diff)
downloadcpython-dffca9e925ee5c3072663cbe8d4d4768406d5307.zip
cpython-dffca9e925ee5c3072663cbe8d4d4768406d5307.tar.gz
cpython-dffca9e925ee5c3072663cbe8d4d4768406d5307.tar.bz2
bpo-26967: fix flag grouping with allow_abbrev=False (GH-14316)
The `allow_abbrev` option for ArgumentParser is documented and intended to disable support for unique prefixes of --options, which may sometimes be ambiguous due to deferred parsing. However, the initial implementation also broke parsing of grouped short flags, such as `-ab` meaning `-a -b` (or `-a=b`). Checking the argument for a leading `--` before rejecting it fixes this. This was prompted by pytest-dev/pytest#5469, so a backport to at least 3.8 would be great :smile: And this is my first PR to CPython, so please let me know if I've missed anything! https://bugs.python.org/issue26967
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/argparse.rst4
1 files changed, 4 insertions, 0 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index b77a38c..ef2fd42 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -182,6 +182,10 @@ ArgumentParser objects
.. versionchanged:: 3.5
*allow_abbrev* parameter was added.
+ .. versionchanged:: 3.8
+ In previous versions, *allow_abbrev* also disabled grouping of short
+ flags such as ``-vv`` to mean ``-v -v``.
+
The following sections describe how each of these are used.