-- BBNub.mesa
-- Russ Atkinson, September 2, 1982 12:05 am
-- NOTE: by default, the local world is listened to
DIRECTORY
Rope USING [ROPE],
WorldVM USING [World];
BBNub: CEDAR DEFINITIONS = BEGIN OPEN Rope, WorldVM;
SetWorldSwapForSignals: PROC [new: BOOL] RETURNS [old: BOOL];
-- if world swap is set to TRUE by this routine, then local uncaught signals
-- will use the world swap debugger instead of the local world debugger
FindWorld: PROC [name: ROPE, new: BOOL ← FALSE] RETURNS [World];
-- finds a named world (returns NIL if none)
-- if new, then starts listening
-- listening twice to the same world is a no-op (& returns the same world)
NextWorld: PROC [last: World ← NIL] RETURNS [World];
-- enumerates the worlds currently known, as in:
-- FOR w: World ← NextWorld[NIL], NextWorld[w] WHILE w # NIL DO
-- ... body of loop
-- ENDLOOP;
TurnADeafEar: PROC [world: World];
-- stops listening to the given world
-- this is a no-op if the world is not already being listened to
END.