]> granicus.if.org Git - python/commit
bpo-26967: fix flag grouping with allow_abbrev=False (GH-14316)
authorZac Hatfield-Dodds <Zac-HD@users.noreply.github.com>
Sun, 14 Jul 2019 05:35:58 +0000 (00:35 -0500)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 14 Jul 2019 05:35:58 +0000 (22:35 -0700)
commitdffca9e925ee5c3072663cbe8d4d4768406d5307
treed7a4e205a3dc47cb6e327c8df1d8f6cae4bf9483
parent014847034bfc67e7b7d7e9e01d664e1e8864be9d
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
Doc/library/argparse.rst
Lib/argparse.py
Lib/test/test_argparse.py
Misc/ACKS
Misc/NEWS.d/next/Library/2019-06-23-12-46-10.bpo-26967.xEuem1.rst [new file with mode: 0644]