' GET-MODES #DECL ("VALUE" < LIST [REST ]> LIST) READER GET-CONDS OUTCHAN % "mode" [ " Modes are Input (node command format), Edit (E/node command format), Request, which will ask if you want to edit, and Input.if.empty..else.edit (where empty means never edited - only initialized) which is the default (CRLF or $). If Input is selected, it should be accompanied with a Condition (see next argument) of Empty so that filled out-nodes are not clobbered"] ["SYM"] "Iie/ee"]>> .GLUE > GET-CONDS #DECL ("VALUE" LIST "OPTIONAL" ANY) READER % " Conditions" [ " Conditions indicate either that a test will be run to determine whether to include this node in the automatic mode at run time or that some special action should be taken while editing the object. The current choices are: Empty (as determined by the resident empty-checking routine for the current object type, e.g. default automatic mode), Evaluate (i.e. something to evaluate at run time), or Edit.with (causes a given field to be inserted into the editing buffer if the mode is \"Edit\"). If both Empty and an Evaluate are given, they both must be satisfied for the editing of the node to take place" ""] ["SYM"] CONDITION EMPTY "Empty" EVAL [] "the object" [ " The form you give will be evaluated when the node is encountered. If it is false the node will not be edited." ""] ["FORM"] TOEVAL "Evaluate" CONT GTYPE ALLNODES "the contents of" [ " The contents of the node you select will be appended to the contents of the node to be edited. The node to be edited must be a terminal node. If it contains a string, the \"with\" node must also. Multiple nodes can be given via multiple conditions." ""] "Contents"]>> .GLUE > NODE-GROUP-INSERT #DECL ("VALUE" ) SYM.INSERT GET-CONDS INSERT.G.EDIT DEPTH.G.EDIT GTYPE ALLNODES "node" ["Select node to insert" ""] [ "SYM"] PT.G.EDIT % "mode" ["Select Mode to insert" ""] OUTCHAN "INSERTION ONLY IN SECOND POSITION" "CAN'T INSERT"]>> .GLUE > NODE-GROUP-CHANGE #DECL ("VALUE" > ) SYM.CHANGE GET-CONDS CHANGE.G.EDIT DEPTH.G.EDIT PT.G.EDIT GTYPE ALLNODES "node" [ "Select node to change existing node to" ""] ["SYM"] % "mode" [ "Select Mode to change to" ""] T]>> .GLUE > NODE-GROUP-KILL # DECL ("VALUE" > FIX) KILL.G.EDIT DEPTH.G.EDIT PT.G.EDIT OUTCHAN "CAN'T KILL"]>> .GLUE > NODE-GROUP-KM #DECL ( "VALUE" > FIX) CHANGE.G.EDIT PT.G.EDIT OUTCHAN "CAN'T KILL MODE"]>> .GLUE > NODE-GROUP-IM #DECL ( "VALUE" FIX) SYM.INSERT EDITOBJ () DEPTH.G.EDIT GTYPE ALLNODES "node" [ "First select the node. Later select mode/conditions" ""] ["SYM"] % ANONF2!-TMP!- #DECL ("VALUE" ANY) READER GET-CONDS % "mode" [ "Give the mode in which the node should be edited" ""] ["SYM"]]> OUTCHAN "CAN'T INSERT AT THIS LEVEL"]>> .GLUE > NODE-GROUP-CM #DECL ( "VALUE" > FIX) SYM.CHANGE EDITOBJ () PT.G.EDIT % "mode" [ "What mode do you wish to change the existing one to?" ""] ["SYM"] % ANONF2!-TMP!- #DECL ("VALUE" LIST ANY) GET-CONDS EDITOBJ PT.G.EDIT]> OUTCHAN "CAN'T CHANGE LIST"]>> .GLUE > TABPRINT #DECL ("VALUE" ATOM FIX) OUTCHAN " " " " " " T]>> .GLUE > PRINT-GROUP #DECL ( "VALUE" ANY) MAKEMST READER READARGS GET-TYPE TABPRINT "GTYPES" #SYMTABLE [ SSTOPS ["Nodes" T] "NODES" #FALSE ()] % % "of" [" Type of group to be printed ." ""] ["SYM"] T AGROUP-TABLE "named" [ " Name of the group(s) to print. False (terminator) will print all of the existing groups.  will flush the command." ""] ["SYM" "MULT"] OUTCHAN " group" % AUTO-TABLE [ " Name of the group(s) to print. If false (terminator), all groups will be printed.  will flush the command." ""] NODE-GROUP " group Node____ Mode____ Conditions__________" "Unspecified" " " " " " " %]>> .GLUE > MAKE-GROUP #DECL ( "VALUE" ANY ANY) GET-TYPE READER MAKE-NODE-GROUP MAKE-ABS-GROUP T AUTO-TABLE "named" [ " Indicate the name of the node group you wish to operate on. If you choose an existing name you may either edit it or replace it." ""] ["SYM" "ATOM"] AGROUP-TABLE [ " Indicate the name of the object group you wish to operate on. If you choose an existing group you may either edit it or replace it." ""]]>> .GLUE > MAKE-ABS-GROUP #DECL ("VALUE" ANY ATOM) READER SYM.EDIT POS NO-DUPES READARGS SYM-SORT COMMAND-UPDATE FOO (LIST) % AGROUP-TABLE [] "Edit existing group?" [ " If you wish to replace the existing group, just type a terminator. If you wish to edit the existing group, type anything (e.g., T) followed by a terminator." ""] ["ANY"] % ROBL % %< TYPE-W SYMTABLE VECTOR> "object" [ " Select an object or group of them to include here. If a group is selected, it will be expanded to its constituents." ""] ["SYM"] "consisting of objects" [ " Select the objects and groups of objects to comprise the new group." ""] ["SYM" "MULT"]]>> .GLUE > MAKE-NODE-GROUP # DECL ("VALUE" ATOM ATOM) READER G.EDIT MAKEMST READARGS GET-MODES GTYPE (ATOM) EDIT.LOCAL () % NODE-GROUP [] "Edit existing group?" [ " If non-false, you may edit the group using the muddle editor. If the group has specifications for modes (for automatic mode), the group will appear as a list of 2-lists with the node name and the mode operative. The two modes available now are Edit and Input (equivalent to E/ and node commands). A third choice is an object of type false, which will cause a request to occur at the time the node is reached. If there are no mode specifications, the group will be a list of node names." "" ] ["ANY"] OPATH "INSERT" % "CHANGE" % "KILL" % "IM" % "Insert a node with a mode specified" "CM" % "Change a node to have a mode specified" "KM" % "Kill the mode for the next object" "nodes&n-groups" ALLNODES AUTO-TABLE "consisting of nodes" [ " These nodes will comprise the group. Node-groups may be given, in which case they will be expanded to their constituents and duplicates eliminated" ""] ["SYM" "MULT"] "Specify mode?" [ " If non-false, you will be asked for the mode of operation for each of the nodes in the group. The form of the request will be .. Unique.name mode:, etc. Possible answers include the modes Input and Edit which correspond to fill-node commands and E/ commands. Other modes are explained in the next argument" ""] T ]>> .GLUE > ADD-NODE-GROUP #DECL ("VALUE" ANY ATOM ATOM LIST) AUTO-TABLE NODE-GROUP]>> .GLUE >