In order to avoid problems with bogus values of *default-pathname-defaults*
(See 18:43:43 @
http://ccl.clozure.com/irc-logs/lisp/2012-04/lisp-2012.04.12.txt), as well
as problems with pathnames that carry name or type components, EXT:MKDIR no
longer accepts pathnames as inputs: only namestrings. And unlike before,
EXT:MKDIR will not expect the user to pass a directory namestring (this
assumption led (si:mkdir "/tmp/foo") not to work, as ECL expected (si:mkdir
"/tmp/foo/"))
If you need to create directories from pathnames, use
ENSURE-DIRECTORIES-EXIST, which now accepts a non-standard argument :MODE,
playing the same role as MKDIR's mode value.
This has also revealed that some code will have to be revised, for it was
written under the assumption that *default-pathname-defaults* has :NAME and
:TYPE --- in other words, when ECL creates a pathname that is a directory,
it will remain so. However, as that IRC log revealed, some people use a
very strange setting for *d-p-d* which broke this expectation.
Finally, ECL now still outputs error messages taken from the C library, but
notifies the user who is to blame for the scarcity of the message:
> (si:mkdir "/" 0)
Condition of type: SIMPLE-ERROR
Could not create directory "/"
C library explanation: Is a directory.
Available restarts:
[...]
Best,
Juanjo
--
Instituto de FĂsica Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list