$> diff -c /usr/lib/python3.2/argparse.py argparse.py *** /usr/lib/python3.2/argparse.py 2012-09-12 10:45:04.176893518 +0200 --- argparse.py 2012-09-12 10:44:58.383564516 +0200 *************** *** 1421,1427 **** if not dest: msg = _('dest= is required for options like %r') raise ValueError(msg % option_string) ! dest = dest.replace('-', '_') # return the updated keyword arguments return dict(kwargs, dest=dest, option_strings=option_strings) --- 1421,1428 ---- if not dest: msg = _('dest= is required for options like %r') raise ValueError(msg % option_string) ! # Replace non-alnum chars with underscores ! dest = _re.sub(r'[^a-z0-9]', '_', dest, _re.IGNORECASE) # return the updated keyword arguments return dict(kwargs, dest=dest, option_strings=option_strings)