DIRECTORY IO USING [STREAM], Rope USING [ROPE]; SchemeSys: CEDAR DEFINITIONS ~ BEGIN IsFileStream: PROC [stream: IO.STREAM] RETURNS [BOOL]; GetFileNameForStream: PROC [stream: IO.STREAM] RETURNS [Rope.ROPE]; GetFileCreateDateForStream: PROC [stream: IO.STREAM] RETURNS [Rope.ROPE]; CheckForAbort: PROC; GetPort: PROC [param: REF ANY, in: BOOL] RETURNS [IO.STREAM]; DoWithPort: PROC [port: IO.STREAM, proc: PROC, in: BOOL]; SetPort: PROC [port: IO.STREAM, in: BOOL]; DoWithPorts: PROC [in, out: IO.STREAM, proc: PROC]; DoWithIOErrorCatch: PROC [proc: PROC]; OpenFile: PROC [fileName: Rope.ROPE, in: BOOL] RETURNS [IO.STREAM]; FindFileToLoad: PROC [loadeeName: Rope.ROPE, inner: PROC [port: IO.STREAM, doExpand: BOOL]]; GetRope: PROC [self: IO.STREAM, len: INT ¬ INT.LAST, demand: BOOL ¬ FALSE] RETURNS [Rope.ROPE]; DebugPrint: PROC [where: ATOM, any: REF]; DebugPrintSwitch: PROC [control: REF]; END. ~ SchemeSys.mesa Copyright Σ 1988, 1991 by Xerox Corporation. All rights reserved. Michael Plass, February 21, 1989 1:07:46 pm PST System-dependent features needed by Scheme Changes the current input or output port Used by ReadEvalPrintLoop to provide info for GetPort; also a handy place to put system-dependent recovery for uncaught errors. Does the file search rules for load, calling inner with the result. Catches IO errors and raises Complain instead. To work around a bug in PCedar IO.GetRope. For conditional debugging output Controls output of debug print; NIL means no debug output, see impl for other interpretations Κ•NewlineDelimiter –(cedarcode) style™code™Kšœ Οeœ7™BK™/K™K™+—šΟk ˜ Kšžœžœžœ˜Kšœžœžœ˜—K˜KšΠln œžœž ˜šœž˜K˜š Οn œžœ žœžœžœžœ˜6K˜—š  œžœ žœžœžœžœ˜CK˜—š  œžœ žœžœžœžœ˜IK˜—š  œžœ˜K˜—š œžœ žœžœžœžœžœžœ˜=K˜—š   œžœžœžœžœžœ˜9K˜—š  œžœžœžœžœ˜*K™(K˜—š   œžœ žœžœžœ˜3K™K˜—š œžœžœ˜&K˜—š œžœžœžœžœžœžœ˜CK˜—š œžœžœ žœžœžœ žœ˜\K™sK˜—š œžœžœžœžœžœžœ žœžœžœžœ˜_K™*K˜—š  œžœ žœžœ˜)K™ K˜—š œžœ žœ˜&K™]——K˜Kšžœ˜—…—”‘