DIRECTORY TEditLocks, TEditLocksPrivate, TextNode, NodeProps; TEditLocksPrivateImpl: CEDAR MONITOR IMPORTS NodeProps, TextNode EXPORTS TEditLocksPrivate = BEGIN OPEN TEditLocks, TEditLocksPrivate; lastRoot: TextNode.Ref; lastLock: LockRef; GetLock: PUBLIC ENTRY PROC [root: TextNode.Ref] RETURNS [lock: LockRef] = { ENABLE UNWIND => NULL; IF root = NIL THEN RETURN [NIL]; IF root = lastRoot THEN RETURN [lastLock]; lastRoot _ root; lock _ lastLock _ NARROW[NodeProps.GetProp[root, $DocumentLock]]; IF lastLock # NIL THEN RETURN; lock _ lastLock _ TextNode.pZone.NEW[LockRecord]; NodeProps.PutProp[root, $DocumentLock, lock]; }; NodeProps.Register[$DocumentLock, NodeProps.NullRead, NodeProps.NullWrite, NodeProps.NullCopy]; END.. xTEditLocksPrivateImpl.mesa Edited by Paxton on October 11, 1982 10:27 am Don't copy document lock or big trouble. Ê ˜JšœH™HJ˜šÏk ˜ Jšœ ˜ Jšœ˜Jšœ ˜ Jšœ ˜ J˜—Jšœ ˜$Jšœ˜Jšœœœ˜EJ˜J˜Jšœ˜J˜š Ïnœœœœœ˜KJšœœœ˜Jš œœœœœ˜ Jšœœœ ˜*J˜Jšœœ)˜BJšœ œœœ˜Jšœ!œ ˜1Jšœ-˜-J˜—J˜šœ_˜_J™(J˜—J˜—…—ä|