diff -r a26df2d03989 Lib/argparse.py --- a/Lib/argparse.py Mon Apr 22 22:54:16 2013 +0300 +++ b/Lib/argparse.py Sun Apr 28 23:54:37 2013 -0700 @@ -1856,8 +1856,13 @@ action = optionals_map[option_string] explicit_arg = new_explicit_arg else: - msg = _('ignored explicit argument %r') - raise ArgumentError(action, msg % explicit_arg) + if False: + msg = _('ignored explicit argument %r') + raise ArgumentError(action, msg % explicit_arg) + else: + # alt handling of unknown explicit_arg + extras.append(option_string) + explicit_arg = new_explicit_arg # if the action expect exactly one argument, we've # successfully matched the option; exit the loop