DIRECTORY EditSpan, Rope, TEditLocks, TextEdit, TextLooks, TextNode, TiogaLies, TiogaOpers, TiogaOps; TiogaOpersImpl: CEDAR PROGRAM IMPORTS EditSpan, TEditLocks, TextEdit, TiogaLies EXPORTS TiogaOpers = BEGIN OPEN TiogaOpers; Delete: PUBLIC PROC [root: RefTextNode, del: Span] = { EditSpan.Delete[root: root, del: del, event: NIL, saveForPaste: FALSE]; }; InsertRope: PUBLIC PROC [root, dest: RefTextNode, rope: ROPE, destLoc: INT, inherit: BOOL _ TRUE, looks: Looks _ noLooks, charSet: CharSet _ 0] = { [] _ TextEdit.InsertRope[root: root, dest: dest, rope: rope, destLoc: destLoc, inherit: inherit, looks: looks, charSet: charSet, event: NIL]; }; Move: PUBLIC PROC [destRoot, srcRoot: RefTextNode, dest: Location, source: Span, where: Place _ after] = { [] _ EditSpan.Move[destRoot, srcRoot, dest, source, where, 0, NIL]; }; CallWithLock: PUBLIC PROC [Proc: PROC [RefTextNode], root: TiogaOps.Ref] = { tnr: RefTextNode = TiogaLies.OpsRefToTextNodeRef[root]; lr: TEditLocks.LockRef = TEditLocks.Lock[tnr, "TiogaOpersClient"]; Proc[tnr ! UNWIND => TEditLocks.Unlock[tnr]]; TEditLocks.Unlock[tnr]; }; END. JTiogaOpersImpl.mesa Mike Spreitzer December 16, 1986 2:39:30 pm PST ΚG– "cedar" style˜codešœ™K™/—K˜KšΟk œ\˜eK˜šΟnœœ˜Kšœ*˜1Kšœ ˜K˜—K˜Kšœœ ˜K˜šžœœœ#˜6Kšœ-œœ˜GK˜—K˜šž œœœ!œ œ œœ3˜“Kšœˆœ˜K˜—K˜šžœœœY˜jKšœ>œ˜CK˜—K˜š ž œœœžœœ'˜LKšœ7˜7K˜BKšœ œ˜-Kšœ˜K˜—K˜Kšœ˜—…—Zλ