DIRECTORY PFS, PFSNames, Rope; VersionMapViews: CEDAR DEFINITIONS = BEGIN ROPE: TYPE ~ Rope.ROPE; Component: TYPE ~ PFSNames.Component; PATH: TYPE ~ PFS.PATH; MapViewPathFromRope: PROC [whichMap: ATOM, file: ROPE, all: BOOL ¬ TRUE] RETURNS [PATH]; MapViewPathFromComponent: PROC [whichMap: ATOM, file: Component, all: BOOL ¬ TRUE] RETURNS [PATH]; MapViewPathFromPath: PROC [whichMap: ATOM, file: PATH, all: BOOL ¬ TRUE] RETURNS [PATH]; RopeFindR: PROC [whichMap: ATOM, file: ROPE, all: BOOL ¬ TRUE] RETURNS [map, base: PATH]; ComponentFindR: PROC [whichMap: ATOM, file: Component, all: BOOL ¬ TRUE] RETURNS [map, base: PATH]; PathFindR: PROC [whichMap: ATOM, file: PATH, all: BOOL ¬ TRUE] RETURNS [map, base: PATH]; Ropifynd: PROC [map, base: PATH] RETURNS [rMap, rBase: ROPE]; END. ώ VersionMapViews.mesa Copyright Σ 1990, 1991 by Xerox Corporation. All rights reserved. Willie-s, February 15, 1991 3:57 pm PST These return [NIL, NIL] if not found. Thus a completely ROPE-oriented client can say APPLY[Ropifynd, RopeFindR[...]]. ΚΕ•NewlineDelimiter –(cedarcode) style™code™Kšœ Οeœ7™BK™'K™—KšΟk œžœ˜K˜KšΟnœžœž œž˜*K˜Kšžœžœžœ˜Kšœ žœ˜%Kšžœžœžœžœ˜K˜KšŸœžœ žœžœžœžœžœžœ˜XKšŸœžœ žœžœžœžœžœ˜bKšŸœžœ žœžœžœžœžœžœ˜XK˜KšŸ œžœ žœžœžœžœžœ žœ˜YKšŸœžœ žœžœžœžœ žœ˜cšŸ œžœ žœžœžœžœžœ žœ˜YK™%—K˜š Ÿœžœ žœžœžœ˜=KšœO™O—K˜Kšžœ˜—…—Ω