<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>Zach Beane has pointed out to me that cmucl doesn't merge the
pathname with *default-pathname-defaults* as required in CLHS 19.2.3.<br>
<br>
In particular, OPEN, ENSURE-DIRECTORIES-EXIST, FILE-AUTHOR, and
DELETE-FILE don't merge.  This is now fixed in cvs.<br>
<br>
I'm too lazy to make a patch for 20a for this (if you really want one,
speak up!) so I offer the following fix for this issue.<br>
<br>
</tt>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<pre class="paste-area"><span class="paste"><span class="paren1">(<span
 class="paste"><i><span class="symbol">fwrappers:define-fwrapper</span></i> force-merge-pathname <span
 class="paren2">(<span class="paste">filename &rest options</span>)</span>
  <span class="paren2">(<span class="paste"><a
 href="http://www.lispworks.com/reference/HyperSpec/Body/a_setf.htm"
 class="symbol">setf</a> filename <span class="paren3">(<span
 class="paste"><a
 href="http://www.lispworks.com/reference/HyperSpec/Body/f_merge_.htm"
 class="symbol">merge-pathnames</a> filename</span>)</span></span>)</span>
  <span class="paren2">(<span class="paste">fwrappers::call-next-function</span>)</span></span>)</span>

<span class="paren1">(<span class="paste">fwrappers:fwrap '<a
 href="http://www.lispworks.com/reference/HyperSpec/Body/f_open.htm"
 class="symbol">open</a> #'force-merge-pathname</span>)</span>
<span class="paren1">(<span class="paste">fwrappers:fwrap '<a
 href="http://www.lispworks.com/reference/HyperSpec/Body/f_ensu_1.htm"
 class="symbol">ensure-directories-exist</a> #'force-merge-pathname</span>)
(fwrappers:fwrap 'file-author #'force-merge-pathname)
(fwrappers:fwrap 'delete-file #'force-merge-pathname)

(This is pretty neat.  I've never used fwrappers before, even though they've been there for years now.)

Ray

</span></span></pre>
<br>
</body>
</html>