diff options
author | Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com> | 2019-07-14 05:35:58 (GMT) |
---|---|---|
committer | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-07-14 05:35:58 (GMT) |
commit | dffca9e925ee5c3072663cbe8d4d4768406d5307 (patch) | |
tree | d7a4e205a3dc47cb6e327c8df1d8f6cae4bf9483 /Doc | |
parent | 014847034bfc67e7b7d7e9e01d664e1e8864be9d (diff) | |
download | cpython-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')
-rw-r--r-- | Doc/library/argparse.rst | 4 |
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. |