ENOUGH-PATHNAME gets prefix chaff in MKCL

Bug #1639113 reported by Robert P. Goldman on 2016-11-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Low
Faré

Bug Description

test-sysdef-asdf is failing on MKCL because UIOP:ENOUGH-PATHNAME returns a pathname prefixed with a gratuitous "./".

Not sure whether I should report this as an MKCL bug, or whether ENOUGH-PATHNAME should scrape off this no-op prefix. Fare?

This accounts for one of the MKCL test failures in https://bugs.launchpad.net/asdf/+bug/1639009

A trace shows the problem:
Expecting to find in Makefile the following lines:
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/package.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/package.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/common-lisp.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/common-lisp.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/utility.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/utility.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/os.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/os.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/pathname.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/pathname.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/filesystem.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/filesystem.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/stream.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/stream.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/image.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/image.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/lisp-build.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/lisp-build.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/run-program.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/run-program.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/configuration.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/configuration.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/backward-driver.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/backward-driver.lisp")
1> (ENOUGH-PATHNAME #P"/home/rpg/common-lisp/asdf/uiop/driver.lisp" #P"/home/rpg/common-lisp/asdf/")
<1 (ENOUGH-PATHNAME #P"./uiop/driver.lisp")

Arguably this is the fault of the test itself (which was just introduced), since it tries to use string comparison to do a pathname comparison's job.

Faré (fahree) wrote :

I fixed that particular issue in my fixes branch, using uiop:unix-namestring to ensure the output is portable.

Faré (fahree) wrote :

Q: Should I mark the bug as "Fix committed" when it's been committed to an unmerged branch?

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → Low
status: New → In Progress
Changed in asdf:
status: In Progress → Fix Committed
Changed in asdf:
status: Fix Committed → Fix Released
milestone: none → 3.3
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers