[Openmcl-devel] user-homedir-pathname not a constant?
Pascal J. Bourguignon
pjb at informatimago.com
Sun Oct 10 05:56:49 PDT 2010
Daniel Herring <dherring at tentpost.com> writes:
> FYI, there's a thread by the same name on comp.lang.lisp.
>
> On 10/08/2010 11:58 AM, Pascal J. Bourguignon wrote:
>> Andrew Philpot<philpot at isi.edu> writes:
>>
>>> dixiechicks.isi.edu 50% ccl -n
>>> Welcome to Clozure Common Lisp Version 1.4-r14334M (LinuxX8632)!
>>> ? (user-homedir-pathname)
>>> #P"/nfs/isd3/philpot/"
>>>
>>> so far so good, but...
>>>
>>> ? (let ((*default-pathname-defaults*
>>> (make-pathname :directory '(:absolute "tmp")
>>> :name "dummy"
>>> :type "txt"
>>> :version :newest)))
>>> (user-homedir-pathname))
>>> #P"/"
>>> ? (let ((*default-pathname-defaults* #p"/tmp/a.b"))
>>> (user-homedir-pathname))
>>> #P"/nfs/isd3/philpot/a.b"
>>>
>>> Looks like some merging is going on, but why?
>>>
>>> As I read the CLHS, user-homedir-pathname is supposed to return either
>>> a pathname sans name, path, and version components -- or NIL.
>>>
>>> Is this behavior conformant?
>>
>> Moreover, on unix, while you're not editing /etc/passwd (or equivalent),
>> I'd expect (user-homedir-pathname) to return constantly the same
>> value...
>>
>> Clozure's behavior is clearly wrong, several times.
It is also arguable that home be defined by $HOME.
Changing /etc/passwd should probably not break running processes.
--
__Pascal Bourguignon__ http://www.informatimago.com/
More information about the Openmcl-devel
mailing list