Mercurial > public > mercurial-scm > hg
comparison mercurial/util.py @ 22643:3b1c0e1ede4c
util: fix sorteddict.pop
When using `.pop` on such object the list was not cleared of the popped key,
leading to crash.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 02 Oct 2014 12:39:37 -0500 |
parents | 0d0350cfc7ab |
children | bb7a911b138e |
comparison
equal
deleted
inserted
replaced
22642:45e50d8546d9 | 22643:3b1c0e1ede4c |
---|---|
250 def items(self): | 250 def items(self): |
251 return [(k, self[k]) for k in self._list] | 251 return [(k, self[k]) for k in self._list] |
252 def __delitem__(self, key): | 252 def __delitem__(self, key): |
253 dict.__delitem__(self, key) | 253 dict.__delitem__(self, key) |
254 self._list.remove(key) | 254 self._list.remove(key) |
255 def pop(self, key, *args, **kwargs): | |
256 dict.pop(self, key, *args, **kwargs) | |
257 try: | |
258 self._list.remove(key) | |
259 except ValueError: | |
260 pass | |
255 def keys(self): | 261 def keys(self): |
256 return self._list | 262 return self._list |
257 def iterkeys(self): | 263 def iterkeys(self): |
258 return self._list.__iter__() | 264 return self._list.__iter__() |
259 | 265 |