<> <> <> DIRECTORY CD, CDSequencer, Rope USING [ROPE]; CDCommandOps: CEDAR DEFINITIONS = BEGIN <<--Various tools to implement commands>> TheApplication: PROC[comm: CDSequencer.Command, text: Rope.ROPE_NIL] RETURNS [aptr: CD.ApplicationPtr]; <<--extracts the application given a command>> <<--if returned application is nil, all the messages are made and caller should return quiet;>> <<--if returned application is not nil; text line is written and object is there>> ImplementSpecificCommand: PROC [specificAtom: ATOM, text: Rope.ROPE_NIL, tipBase: Rope.ROPE_NIL, useFor: Rope.ROPE_NIL, x: REF_NIL, technology: CD.Technology_NIL]; <<--Implements a command which is executed by using CDCallSpecific>> <<--specificAtom: handled through to select CDCallSpecific command>> <<--text: logged; defaults to tipBase>> <<--tipBase: How command is called in tiptable; defaults to specificAtom>> <<--useFor: Suffix letters appended to tipBase getting the tip table entry>> <<--x: handled through to CDCallSpecific>> <<--technology: NIL => all technologies>> <<--command will be queued and changeflag will be set>> WriteInfo: PROC[aptr: CD.ApplicationPtr, verbosity: INT_1]; END.