From: Steve Haflich

Subject: Re: Help

Date: 2002-3-2 11:04

   From: Eric Parker <semsyn.com at eric>
   
   How do I create a file programmatically, i.e. without
   having ACL prepend the pathname I give it with
   :default-pathname?

Pathnames are not "prepended" -- they are merged in the sense of
merge-pathnames, as required by the language definition.  It is not
optional -- see ANS 19.2.3.

Depending what you are trying to do, you might want to consider
binding *default-pathname-defaults* to a pathname with some
:unspecific or nil components.

Remember also that the language definition assignes no semantics when
a relative pathname (after merging with defaults, etc.) is used to
refer to a filesystem.  Most modern operating systems have the notion
of a process' "current directory" and an implementation on such a
system will generally treat a relative pathname in the natural way on
such a system, but the way CL pathnames were intended to work is that
*default-pathname-defaults* would generally accomplish this same feat
in an implementation-independent way.  Also, since
*default-pathname-defaults* is lambda bindable, it permits independent
tasks or modules running in a single lisp image effectively to have
different "current directories."