parent $foundation object $command_environment var $root dbref 'command_environment var $root child_index 0 var $root fertile 0 var $root manager $command_environment var $root owned [] var $root owners [$command_environment] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $root inited 1 var $command_environment cache #[] var $command_environment verb_cache #[] var $command_environment command_cache #[] var $command_environment shortcuts_cache #[] method uninit_command_environment verb_cache = #[]; command_cache = []; shortcuts_cache = []; . method init_command_environment verb_cache = #[]; command_cache = []; shortcuts_cache = []; .rehash_command_environment(); . method verb_cache return verb_cache; . method command_cache return command_cache; . method shortcuts_cache return shortcuts_cache; . method purge_command_environment verb_cache = #[]; command_cache = []; shortcuts_cache = []; . method rehash_command_environment var obj; .purge_command_environment(); if (.has_ancestor($location)) { for obj in (.contents()) .add_to_command_environment(obj); } command_cache = .all_commands(); shortcuts_cache = .all_shortcuts(); . method del_from_command_environment arg obj; var obj_verbs, all_verbs, t; (> .perms(sender(), 'this) <); obj_verbs = obj.all_verbs(); for t in (obj_verbs) verb_cache = $dict.del_elem(verb_cache, t[1], obj); . method add_to_command_environment arg obj; var obj_verbs, all_verbs, t; (> .perms(sender(), 'this) <); obj_verbs = obj.all_verbs(); for t in (obj_verbs) verb_cache = $dict.add_elem(verb_cache, t[1], obj); .