DIRECTORY CommandTool, Process, Rope, TerminalIO, UserProfile; CDStarter: CEDAR PROGRAM IMPORTS CommandTool, Rope, TerminalIO, UserProfile, Process = BEGIN StartPrograms: PROC[] = BEGIN runList: LIST OF Rope.ROPE = UserProfile.ListOfTokens[key: "Chipndale.RunPrograms"]; FOR l: LIST OF Rope.ROPE _ runList, l.rest WHILE l#NIL DO IF NOT Rope.IsEmpty[l.first] THEN { msg: Rope.ROPE = CommandTool.Run[bcdName: l.first].errMsg; IF msg#NIL THEN TerminalIO.WriteRope[msg]; } ENDLOOP; END; TrojanHorse: PROC[] = BEGIN trojanHorse: Rope.ROPE = "/indigo/chipndale/5.2/cd19/CDTroja"; TRUSTED {Process.SetPriority[Process.priorityBackground]}; [] _ CommandTool.Run[bcdName: trojanHorse]; END; StartPrograms[]; END.  CDStarter.mesa (part of Chipndale) Copyright c 1983, 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi November 7, 1983 5:39 pm last edited Christian Jacobi January 11, 1985 9:52:29 am PST TRUSTED {Process.Detach[FORK TrojanHorse[]]}; Ê…˜šœ$™$Jšœ Ïmœ7™BJšœ/™/Jšœ>™>—J˜šÏk ˜ Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ Jšœ ˜ J˜—šÏb œžœžœ˜Jšžœ7˜>—Jšž˜J˜šÏn œžœ˜Jšž˜Jšœ žœžœžœ:˜Tš žœžœžœžœžœžœž˜9šžœžœžœ˜#Jšœ žœ,˜:Jšžœžœžœ˜*Jšœ˜—Jšžœ˜—Jšžœ˜—J˜š  œžœ˜Jšž˜Jšœžœ(˜>Jšžœ3˜:Jšœ+˜+Jšžœ˜—J˜Jšœ˜Jšžœžœ™-Jšžœ˜J˜J˜—…—Ì]