PreDebugPrivate.mesa
Copyright Ó 1990, 1991 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, July 20, 1990 3:37:48 pm PDT
Christian Jacobi, July 24, 1990 2:45 pm PDT
Private definitions for PreDebug.
DIRECTORY
Rope USING [ROPE];
PreDebugPrivate: CEDAR DEFINITIONS = BEGIN
Engine room procedures
IJustToldTheUser: PROC [msg: Rope.ROPE];
Caller asserts that the msg has been shown to the user.
This is useful for clients calling the registered procedures explicitely with CallExplanation. Should these clients decide not to abort but reject the signal this package won't repeat lengthy messages right away in the immediately following built-in call (Since the built-in handler doesn't otherwise know the message was already presented to the user).
To increase chances of avoiding duplications, clients should use the returned explanation without boilerplate.
LastMessage: PROC [] RETURNS [Rope.ROPE];
Returns msg stored with IJustToldTheUser. Clients may use Rope.Equal to find out whether that is the message they wanted to use...
SystemPutRope: PROC [r: Rope.ROPE];
Writes rope into some system designated feedback area.
Unless called from the built-in call to CallExplanation, this procedure must be used with great care: It tries hard to get the users attention. This is not a good user interface idea and should be avoided except in severe error cases.
Debug: PROC [];
Calls the system debugger.
ExitThread: PROC [];
Blows away the thread.
END.