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