MessagesOutImpl.mesa
Russ Atkinson, November 10, 1983 11:23 am
DIRECTORY
MessagesOut USING [],
MessageWindow USING [Append],
IO USING [PutRope, STREAM],
ProcessExtras USING [CheckForAbort],
Rope USING [ROPE];
MessagesOutImpl: CEDAR MONITOR
IMPORTS MessageWindow, IO, ProcessExtras
EXPORTS MessagesOut
= BEGIN
ROPE: TYPE = Rope.ROPE;
STREAM: TYPE = IO.STREAM;
PutRopes: PUBLIC ENTRY PROC [stream: STREAM, r1,r2,r3,r4: ROPENIL] = {
ENABLE UNWIND => NULL;
IF stream # NIL THEN {
IO.PutRope[stream, "\n"];
IF r1 # NIL THEN IO.PutRope[stream, r1];
IF r2 # NIL THEN IO.PutRope[stream, r2];
IF r3 # NIL THEN IO.PutRope[stream, r3];
IF r4 # NIL THEN IO.PutRope[stream, r4];
};
ProcessExtras.CheckForAbort[];
};
PutMsg: PUBLIC ENTRY PROC [r1,r2,r3,r4: ROPENIL] = {
ENABLE UNWIND => NULL;
MessageWindow.Append[r1, TRUE];
IF r2 # NIL THEN MessageWindow.Append[r2, FALSE];
IF r3 # NIL THEN MessageWindow.Append[r3, FALSE];
IF r4 # NIL THEN MessageWindow.Append[r4, FALSE];
ProcessExtras.CheckForAbort[];
};
END.