Skip to content

[Bug] CCL should not auto-normalize :up found in directory components passed to make-pathname #477

@fosskers

Description

@fosskers

The implications of this line (and perhaps the usage of remove-up elsewhere) violate the spec's stated difference between :up and :back. :up requires a probe of the filesystem to determine what the path actually resolves to, while :back does not. I don't see remove-up doing such a probe.

Either way, automatically doing this even were :back present is inconsistent with how pathname literals are interpreted. For instance:

(inspect #p"/foo/bar/../stuff.txt")

You will see that :UP is still present in the struct and the path has not been normalized. Other main implementations also do not do auto-normalization within make-pathname.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions