Commit 21bdedc6 authored by ram's avatar ram
Browse files

Improved integration of logical pathname support with the rest of pathnames.

Generalized TRANSLATE-PATHNAME to work on logical pathnames and
Generalized PARSE-NAMESTRING to be able to parse logical namestrings, and use
it to implement LOGICAL-PATHNAME.  Fixed some type declarations that didn't
allow :UNSPECIFIC or :WILD when they should.  Fixed PATH-DESIGNATOR type to
allow complex strings.  Added utilities for canonicalizing logical hosts.
Fixed pattern matching code to consistently accept :WILD and :WILD-INFERIORS.
Changed namestring-parse-error to inherit from PARSE-ERROR, and made logical
namestring parsing use it so that :JUNK-ALLOWED T works.  Mostly rewrote
logical namestring parsing.  Fixed some erroneous simple-string assumptions.
Changed namestring parsing in general to give preference to parsing as a
physical pathname with a search-list, since we can (and must be able to) parse
undefined search-lists, but we can't parse logical pathnames with undefined
hosts.  Reinterpreted the spec for logical pathname parsing somewhat more
liberally.  Changed WILD-PATHNAME-P to recognize :WILD and :WILD-INFERIORS.
Fixed argument order to COMPONENTS-MATCH in PATHNAME-MATCH-P.  Generalized
xxxCOMPONENTxxx matching operations to handle integer and keyword versions,
replacing inline special-casing of versions.  Signal an error if the TO pattern
has more wildcards than the FROM pattern.  Fixed out-of-bounds errors in
Simplified search-list hackery in LOAD-LOGICAL-PATHNAME-TRANSLATIONS.
Moved COMPILE-FILE-PATHNAME to compiler/main.
parent 0c046afa
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment