-- ConvertUnsafe.mesa, unsafe conversions to/from STRING
-- Russ Atkinson, August 26, 1982 5:27 pm

DIRECTORY
Rope USING [ROPE, Text];

ConvertUnsafe: DEFINITIONS
= BEGIN OPEN Rope;

LS: TYPE = LONG STRING;

AppendRefText: PROC [to: LS, from: REF READONLY TEXT];
-- raises Runtime.BoundsFault if destination is too small

AppendRope: PROC [to: LS, from: ROPE];
-- raises Runtime.BoundsFault if destination is too small

ToRefText: PROC [from: LS] RETURNS [REF TEXT];
-- raises Runtime.BoundsFault if the string is longer than LAST[NAT]

ToRope: PROC [from: LS] RETURNS [Text];
-- raises Runtime.BoundsFault if the string is longer than LAST[NAT]

END.