[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Dirkjan Ochtman
New submission from Dirkjan Ochtman : d...@miles ~ $ python2.7 Python 2.7 (r27:82500, Oct 4 2010, 10:01:41) [GCC 4.3.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> {}.pop('a') Traceback (most recent call last): File "", line 1, in KeyError: 'pop(): dic

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Dirkjan Ochtman
Changes by Dirkjan Ochtman : -- components: +Interpreter Core versions: +Python 2.6, Python 2.7, Python 3.1 ___ Python tracker ___ ___

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- nosy: +rhettinger type: -> behavior versions: +Python 3.2 -Python 2.6 ___ Python tracker ___ ___ Pytho

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http:

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: There have been several requests for KeyError to grow "key" attribute that will always contain the key that caused the error. See issue 1182143, for example. If this is done, I think it would be natural to unify the args as well for empty and non-empy

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Raymond Hettinger
Raymond Hettinger added the comment: I agree with the OP's request. d.pop(k) is conceptually equivalent to: r = d[k]# raises KeyError(k) del d[k] return r The current message was probably borrowed from dict.popitem(). But that is much different since the dict.pop(k) method is ke

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- priority: normal -> low ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http:

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: This is the case where fixing an issue is easier than arguing that it is not a bug. :-) (Changing to "behavior" not because I agree that it is a bug, but for consistency with targeting 2.7) A (1-line) patch attached. -- keywords: +patch stage:

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: Attaching a patch with tests. -- keywords: +needs review resolution: -> accepted stage: unit test needed -> commit review Added file: http://bugs.python.org/file19401/issue10221-with-tests.diff ___ Python trac

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: I wonder if it would be worthwhile to unify missing key processing as in issue10221a-with-tests.diff. -- Added file: http://bugs.python.org/file19402/issue10221a-with-tests.diff ___ Python tracker

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-28 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- resolution: accepted -> stage: commit review -> patch review ___ Python tracker ___ ___ Python-bugs

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-10-30 Thread Raymond Hettinger
Raymond Hettinger added the comment: See r85967, r85968 and r85969. -- resolution: -> fixed status: open -> closed ___ Python tracker ___ __

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-11-01 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: Raymond, Did you mean to exclude unit test additions from your commit? See issue10221-with-tests.diff. -- ___ Python tracker ___ _

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-11-01 Thread Raymond Hettinger
Raymond Hettinger added the comment: We don't usually test the content of error messages because they are not a guaranteed behavior. -- ___ Python tracker ___ _

[issue10221] {}.pop('a') raises non-standard KeyError exception

2010-11-01 Thread Alexander Belopolsky
Alexander Belopolsky added the comment: On Mon, Nov 1, 2010 at 2:13 PM, Raymond Hettinger wrote: .. > > We don't usually test the content of error messages because they are not a > guaranteed behavior. > I recall that when I asked about this on #python-dev, someone pointed to places where cont