On Mon, 2007-07-09 at 21:51 -0600, Robert Dodier wrote:
. . .
> Hmm. I can't tell what's going on here. You might have to
> take it up with the CMUCL developers. It seems strange that
> (open foo :direction :output :if-exists :supersede :if-does-not-exist :create)
> should cause CMUCL to complain. Maybe you can try it with
> another Lisp implementation.
FWIW I just tried this using "CMU Common Lisp 19c (19C), running on
localhost". There was no complaint from cmucl when writing either to an
existent file or to a nonexistent file. In the following transcript
"frob.txt" already existed and "foo.txt" did not:
* (with-open-file (ostr "frob.txt"
:direction :output
:if-exists :supersede
:if-does-not-exist :create)
(format ostr "Hello World~%"))
NIL
* (with-open-file (ostr "foo.txt"
:direction :output
:if-exists :supersede
:if-does-not-exist :create)
(format ostr "Hello World~%"))
NIL
*
The first ineteraction quietly overwrote "frob.txt" and the second one
quietly created "foo.txt".