## For the benefit of the default keyreporter, we need the program name.
_base._ego(_sys.argv[0])
+## Register our module.
+_base._set_home_module(_sys.modules[__name__])
+def default_lostexchook(why, ty, val, tb):
+ """`catacomb.lostexchook(WHY, TY, VAL, TB)' reports lost exceptions."""
+ _sys.stderr.write("\n\n!!! LOST EXCEPTION: %s\n" % why)
+ _sys.excepthook(ty, val, tb)
+ _sys.stderr.write("\n")
+lostexchook = default_lostexchook
+
## How to fix a name back into the right identifier. Alas, the rules are not
## consistent.
def _fixname(name):
## Delegate methods...
def copy(me): new = me.__class__(); new._copy(me)
- def _copy(me, other): me._h = other._h
+ def _copy(me, other): me._h = other._h.copy()
def hash(me, m): me._h.hash(m); return me
def xof(me): me._h.xof(); return me
def get(me, n): return me._h.get(n)