Method code for $event_handler.deregister_event()

[Turn off line numbering]
  1: arg event, update_on;
  2: var value, event, src, status;
  3: 
  4: (> .perms(sender()) <);
  5: if (events.contains(update_on) && events[update_on].contains(event)) {
  6:     // clean it up first.. (ignore status)
  7:     [status, src] = events[update_on][event];
  8:     switch (src) {
  9:         case 'location:
 10:             (| loc.unhook_from_event(event) |);
 11:         case 'this:
 12:             (| .unhook_from_event(event) |);
 13:         default:
 14:             (| src.hook_into_event(event) |);
 15:     }
 16: 
 17:     // now cleanup 'events'
 18:     value = events[update_on].del(event);
 19:     if (value)
 20:         events = events.add(update_on, value);
 21:     else
 22:         events = events.del(update_on);
 23:     if (!events)
 24:         clear_var('events);
 25: }

["// Created 16-Dec-1996 as a part of ColdCore, see: @help Credit"]

the Cold Dark