<<>> <> <> <> <> <> <> <> DIRECTORY Rope USING [ROPE, Text]; ConvertUnsafe: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Text: TYPE = Rope.Text; LS: TYPE = LONG STRING; SubString: TYPE = RECORD [base: LS, offset, length: CARDINAL]; AppendRefText: UNSAFE PROC [to: LS, from: REF READONLY TEXT]; <> <<>> AppendRope: UNSAFE PROC [to: LS, from: ROPE]; <> <<>> AppendSubString: UNSAFE PROC [to: LS, from: SubString]; <> <<>> AppendSubStringToRefText: PROC [to: REF TEXT, from: SubString]; <> <<>> ToRefText: PROC [from: LS] RETURNS[REF TEXT]; <> <<>> ToRope: PROC [from: LS] RETURNS[Text]; <> <<>> SubStringToRope: PROC [from: SubString] RETURNS[Text]; EqualSubStrings: PROC [s1, s2: SubString, case: BOOL ¬ TRUE] RETURNS[BOOL]; END.