parent $foundation object $old_command_environment var $root dbref 'old_command_environment var $root child_index 0 var $root fertile 0 var $root manager $old_command_environment var $root owned [$old_command_environment] var $root owners [$old_command_environment] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $root inited 1 var $old_command_environment cache 0 var $old_command_environment verb_cache #[] var $old_command_environment command_cache #[] var $old_command_environment shortcuts_cache #[] method uninit_old_command_environment verb_cache = #[]; command_cache = []; shortcuts_cache = []; . method init_old_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; (> .perms(sender(), 'this) <); .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 = verb_cache.del_elem(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 = verb_cache.add_elem(t[1], obj); . method xcommand_cache return command_cache; . method xverb_cache return verb_cache; . method xshortcuts_cache return shortcuts_cache; .