On 18 May 2011, at 15:28, Robert Goldman wrote:
On 5/18/11 May 18 -12:26 AM, Chun Tian (binghe) wrote:
I found a workaround for myself:
(in-package :asdf)
(defun user-homedir () #P"Macintosh HD:Users:binghe:")
with above code loaded as a ASDF patch, I can load other packages well.
As I read this, it's simply a bug in MCL --- they just aren't implementing user-homedir-pathname properly.
Isn't that right?
No, it's not right. The meaning of user-homedir-pathname is (intentionally) underspecified in ANSI CL.
MCL (and thus RMCL) were originally developed for Mac OS 9 and older. In those operating systems, the notion of a user directory didn't exist, so the user-homedir-pathname function doesn't have any meaning there, and is allowed by ANSI CL to be implementation-dependent, so MCL does something that seems arbitrary to non-MCL users, but has a meaning for MCL users. RMCL's existence is justified to be able to run code that was originally developed for MCL, so changing the meaning of user-homedir-pathname would unnecessarily break existing applications (and it seems that there are considerably more users than some people seem to assume).
It would be good if ASDF wouldn't rely on such underspecified features, or if it would have a way to deal with the lack of such features in a more meaningful way because, for example, this may not be the last time in history that the notion of a user directory isn't supported or, as another example, that pathnames look different from the usual Unix flavors that you see these days.
Pascal
-- Pascal Costanza The views expressed in this email are my own, and not those of my employer.