DIRECTORY IO, MessageWindow, Rope, GGError; GGErrorImpl: CEDAR PROGRAM IMPORTS IO, MessageWindow EXPORTS GGError = BEGIN MsgType: TYPE = GGError.MsgType; gErrorStream: IO.STREAM; SetErrorStream: PUBLIC PROC [errorStream: IO.STREAM] = CHECKED { gErrorStream _ errorStream; }; GetErrorStream: PUBLIC PROC [] RETURNS [errorStream: IO.STREAM] = CHECKED { RETURN[gErrorStream]; }; Append: PUBLIC PROC [msg: Rope.ROPE, msgType: MsgType] = CHECKED { clearHerald, addCR: BOOL; clearHerald _ msgType = oneLiner OR msgType = begin; addCR _ msgType = oneLiner OR msgType = end; MessageWindow.Append[msg, clearHerald]; IF gErrorStream # NIL THEN { gErrorStream.PutF[msg]; IF addCR THEN gErrorStream.PutChar[IO.CR]; }; }; AppendHerald: PUBLIC PROC [msg: Rope.ROPE, clearHerald: BOOL] = CHECKED { MessageWindow.Append[msg, clearHerald]; }; AppendTypescript: PUBLIC PROC [msg: Rope.ROPE] = CHECKED { IF gErrorStream # NIL THEN { gErrorStream.PutF[msg]; gErrorStream.PutChar[IO.CR]; }; }; Blink: PUBLIC PROC [] = CHECKED { MessageWindow.Blink[]; }; NotYetImplemented: PUBLIC SIGNAL = CODE; END. ΆFile: GGErrorImpl.mesa Last edited by: Eric Bier on July 28, 1985 12:44:00 pm PDT Contents: Routines for handling user error messages throughout Gargoyle. Global Variables Κ<˜Ihead™J™:J™HJ™šΟk ˜ Jšœ˜Jšœ˜J˜J˜J˜—šœ œ˜Jšœœ˜Jšœ ˜J˜—š˜J˜Jšœ œ˜ J™J™J™Jšœœœ˜J˜—J˜š Οnœœœœœœ˜@Jšœ˜J˜J˜—šžœœœœœœœ˜KJšœ˜J˜—J˜š žœœœ œœ˜BJšœœ˜Jšœ!œ˜4Jšœœ˜,Jšœ'˜'šœœœ˜Jšœ˜Jšœœœœ˜*J˜—J˜J˜—š ž œœœ œœœ˜IJšœ'˜'J˜J˜—š žœœœ œœ˜:šœœœ˜Jšœ˜Jšœœœ˜J˜—J˜J˜—šžœœœœ˜!šœ˜J˜—J˜—Jšœœœœ˜(J˜Jšœ˜J˜J˜—…—H: