DIRECTORY Rope USING [ROPE, Text]; ConvertUnsafe: DEFINITIONS = BEGIN OPEN Rope; LS: TYPE = LONG STRING; SubString: TYPE = RECORD [base: LS, offset, length: CARDINAL]; AppendRefText: PROC [to: LS, from: REF READONLY TEXT]; AppendRope: PROC [to: LS, from: ROPE]; AppendSubString: 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. ςConvertUnsafe.mesa, unsafe conversions to/from STRING Russ Atkinson, August 26, 1982 5:27 pm Paul Rovner, September 19, 1983 9:16 pm Last Edited by: Levin, September 22, 1983 10:39 am raises BoundsFault if destination is too small raises BoundsFault if destination is too small raises BoundsFault if destination is too small raises BoundsFault if destination is too small raises BoundsFault if the string is longer than LAST[NAT] raises BoundsFault if the string is longer than LAST[NAT] ΚΉ– "cedar" style˜Iprocšœ5™5Kšœ&™&Kšœ'™'J™2šΟk ˜ Kšœœœ˜—K˜Kšœ ˜šœœœ˜K˜Kšœœœœ˜Kš œ œœœœ˜>K˜š Οn œœœœœœ˜6Kšœ.™.—K˜šž œœœœ˜&Kšœ.™.—K˜šžœœœ˜0Kšœ.™.K™—šžœœœ˜?Kšœ.™.K™—š ž œœœœœœ˜.Kšœ9™9—K˜šžœœœœ˜'Kšœ9™9——˜Kšžœœœ˜7K˜š Πbnœœœœœœ˜LK™——Kšœ˜K˜—…—b