<> <> DIRECTORY IO USING [STREAM], TiogaOps USING [SelectionGrain], TiogaOpsDefs USING [Ref, Location, Viewer]; SpellingToolShared: CEDAR DEFINITIONS = { STREAM: TYPE = IO.STREAM; SelectionRec: TYPE = RECORD[ viewer: TiogaOpsDefs.Viewer, start, end: TiogaOpsDefs.Location, level: TiogaOps.SelectionGrain, caretBefore, pendingDelete: BOOL]; Selection: TYPE = REF SelectionRec; CorrectTiogaOpsCallWithLocks: PROC [proc: PROC [TiogaOpsDefs.Ref], root: TiogaOpsDefs.Ref _ NIL]; MapWordsInSelection: PROC [start, end: TiogaOpsDefs.Location, f: PROC [REF TEXT] RETURNS [BOOL], forwards: BOOL] RETURNS [premature: BOOL _ FALSE, wordStart, wordEnd: TiogaOpsDefs.Location]; ProcessSelection: PROC [forceEOD: BOOL _ FALSE, defEOD: BOOL _ TRUE, forwards: BOOL] RETURNS [s: Selection, wasExtended: BOOL _ FALSE]; CheckMiddleOfWord: PROC[s: Selection]; FirstWithin: PROC [r: TiogaOpsDefs.Ref] RETURNS [first: TiogaOpsDefs.Ref]; }.