'Delete ``name`` from dict. Raise KeyError if it doesn\'t exist.
If ``raising`` is set to False, no exception will be raised if the
key is missing.'

def delitem(self, dic, name, raising=True):

    if (name not in dic):
        if raising:
            raise KeyError(name)
    else:
        self._setitem.append((dic, name, dic.get(name, notset)))
        del dic[name]
