DIRECTORY CharDisplays, DisplayControllers, IO, IOClasses, Process, Rope; GlassTTY: CEDAR PROGRAM IMPORTS DisplayControllers, IOClasses, Process = {OPEN DisplayControllers; glassTTY: ControlProgram; DefineGlassTTY: PROC = { glassTTY ¬ NewControlProgram[]; AddInstruction[glassTTY, LIST["\015"], cr]; AddInstruction[glassTTY, LIST["\012"], lf]; AddInstruction[glassTTY, LIST["\010"], bs]; }; crlf: Action ¬ [CRLF]; CRLF: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, dc.cd.line+1, 0, FALSE]}; cr: Action ¬ [CR]; CR: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, dc.cd.line, 0, FALSE]}; lf: Action ¬ [LF]; LF: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, 1, 0, TRUE]}; bs: Action ¬ [BS]; BS: PROC [dc: DisplayController, clientData: REF ANY] = {dc.cd.class.CursorMove[dc.cd, 0, -1, TRUE]}; ToSelf: PROC [dc: DisplayController] = TRUSTED {Process.Detach[FORK IOClasses.Copy[from: dc.fromDisplay, to: dc.toDisplay, closeFrom: FALSE, closeTo: FALSE]]}; }. Œ GlassTTY.Mesa Copyright Σ 1992 by Xerox Corporation. All rights reserved. Last Edited by: Spreitzer, March 11, 1985 11:45:00 pm PST ΚΛ•NewlineDelimiter –(cedarcode) style™code™ Kšœ Οeœ1™