parent help_node object help_root var root name 'help_root var help_root last_user 0 method subnodes var l, e; if (sender() != this()) last_user = sender(); l = []; for e in (last_user.help_dict()) l = [@l, e[2]]; return [@setremove(l, this())]; . method text if (sender() != this()) last_user = sender(); return (> pass() <); . method match_menu arg [args]; if (sender() != this()) last_user = sender(); .invalidate_menu(); return (> pass(@args) <); . eval .initialize(); .set_brief("The top of the help hierarchy"); .set_text(["If you keep typing 2 question marks on each line of input (as `??'), you will read the entire help database sequentially. Conveniently, it will start by telling you how to get around the database more efficiently.","","You have access to the following topics in the help system:"]); . parent help_node object user_help var root name 'user_help eval .initialize(); .set_brief("Help for users"); .set_text(["Sorry, no help yet."]); . parent help_node object builder_help var root name 'builder_help eval .initialize(); .set_brief("Help for builders"); .set_text(["Sorry, no help yet."]); . parent help_node object programmer_help var root name 'programmer_help eval .initialize(); .set_brief("Help for programmers"); .set_text(["Sorry, no help yet."]); .