ProfilesBackdoor.mesa
Copyright Ó 1985, 1986, 1987, 1988, 1991 by Xerox Corporation. All rights reserved.
Teitelman on December 16, 1982 11:59 am
Russ Atkinson (RRA) November 28, 1988 10:22:52 pm PST
Doug Wyatt, January 18, 1987 11:09:25 pm PST
Eric Nickell, May 17, 1988 4:41:37 pm PDT
Dave Rumph, August 6, 1988 1:07:28 pm PDT
Types
ROPE: TYPE ~ Rope.ROPE;
ProfileList: TYPE = LIST OF ProfileEntry;
ProfileEntry: TYPE = REF ProfileRecord;
ProfileRecord: TYPE = RECORD[key: ROPE, tokens: LIST OF ROPE, position: INT];
Overview
Profiles is a package for reading information from a disk file <YourName>.profile, or if none exists, User.profile. The purpose of a profile is to allow personalized tailoring of the system.
This Backdoor interface is provided to register useful implementations of the two procedures defined in Profiles.mesa for accessing Cedar expressions in profiles. The default implementation in ProfilesImpl merely raises Profiles.Error with an appropriate explanation.
This was done so that ProfilesImpl doesn't depend on the AbstractMachine and Interpreter, so that certain applications, which don't need the Cedar Expression stuff, won't get it.
Utilities
Report:
PROC [entry: ProfileEntry ¬
NIL, msg:
ROPE];
For reporting problems with accessing the profile.
Lookup:
PROC [profile: Profiles.Profile, key:
ROPE]
RETURNS [ProfileEntry];
Looks up a profile entry, given a key