DIRECTORY PFS; MorePfsEnumeration: CEDAR DEFINITIONS = {OPEN PFS; EnumerateForNames: Enumerator; EnumerateForInfo: PROC [pattern: PATH, proc: InfoProc, lbound: PATH _ NIL, hbound: PATH _ NIL ]; Enumerator: TYPE ~ PROC [pattern: PATH, proc: NameProc, lbound: PATH _ NIL, hbound: PATH _ NIL]; Caser: TYPE ~ PROC [PATH] RETURNS [sensitive: BOOL]; ETester: TYPE ~ PROC [PATH] RETURNS [BOOL]; TransformEnumerator: PROC [base: Enumerator, caser: Caser, exists: ETester, pattern: PATH, proc: NameProc, lbound: PATH _ NIL, hbound: PATH _ NIL ]; PfsCaser: Caser; PfsETester: ETester; }. H MorePfsEnumeration.mesa Copyright Σ 1990 by Xerox Corporation. All rights reserved. Last tweaked by Mike Spreitzer on March 30, 1992 2:56 pm PST Offers an enumeration style where double-star (**) matches across directory boundaries. Implements our kind of enumeration(for names) in terms of an old, stupid one (which cannot handle double-star, and can handle star only in the last component), passed in base. The caser reveals which names are case-sensitive. The ETester is a special case of the base enumerator that just tests whether one literal name would be enumerated. ΚZ•NewlineDelimiter – "cedar" style™code™K™