DIRECTORY Commander USING [Register, CommandProc], Rope USING [ROPE, Cat, FromChar, Length, Fetch], ViewExpr USING [Create]; MakeMeddleViewer: CEDAR PROGRAM IMPORTS ViewExpr, Commander, Rope ~ BEGIN DoIt: Commander.CommandProc ~ { name: Rope.ROPE _ ""; -- label for viewer FOR i:INT IN [0..cmd.commandLine.Length[] - 1] DO c: CHAR _ cmd.commandLine.Fetch[i]; IF c IN ['\040..'\176] THEN name _ Rope.Cat[name, Rope.FromChar[c]]; ENDLOOP; IF name.Length[] = 0 THEN name _ "MEDDLE Expr"; [] _ ViewExpr.Create[NIL, name]; }; Commander.Register[key: "MeddleOpen", proc: DoIt, doc: "Opens a new MEDDLE math expression editor viewer."]; END. 8MakeMeddleViewer.mesa Carl Waldspurger, August 29, 1986 4:16:28 pm PDT MakeMeddleViewer.mesa Carl Waldspurger, August 29, 1986 4:43:55 pm PDT effects: Creates a new MEDDLE expression viewer with label from command line. local declarations filter all garbage characters out of command line for viewer name ΚW˜Jšœ™Jšœ0™0Jšœ™Jšœ0™0J˜šΟk ˜ Jšœ œ˜(Jšœœœ ˜0Icodešœ œ ˜K˜K˜—šΟnœœ˜Kšœ˜#K˜š˜K˜šžœ˜KšœN™NK˜Kšœ™Kšœ œΟc˜*K˜KšœA™Ašœœœ#˜1Kšœœ˜#Kšœœœ)˜DKšœ˜—K˜Kšœœ˜/K˜Kšœœ˜ K˜—K˜K˜l—K˜šœ˜K˜K˜K˜K˜K˜K˜K˜—J˜—J˜J˜—…—’!