On Mon, Jul 2, 2012 at 5:09 PM, max@mr.gy wrote:
I understand now. You are right it's not a bug. Instead of having arbitrary no-op behaviour, signalling errors forces the programmer to be explicit.
Yeah, when in doubt I tend to go that way. I thought about this a little bit more; the argument for the no-op behaviour is that it would make unmerge-pathnames work more like the inverse of merge-pathnames, which has no trouble mixing relative and absolute pathnames. But that just makes it clear that unmerge-pathnames is a misnomer, since it only deals with directories and ignores other components. A better name for this function would perhaps reflect its similarities with enough-namestring.
Another problem with unmerge-pathnames only taking the directory component into account is that it fails to do the right thing on Windows, where the device component is particularly relevant for this operation.
Do you feel like taking a stab at these issues?
Cheers,