Added function si:rmdir.

This commit is contained in:
japhie 2005-05-28 22:34:05 +00:00
parent 967ab52cc6
commit 762cd7ebb3
4 changed files with 21 additions and 8 deletions

View file

@ -5,14 +5,6 @@ ECL 0.9g
- Fixed the flags used when linking ECL against the shared library on Mac OSX.
* Errors fixed:
- Now .o files compiled with :SYSTEM-P T with dash in filename load
correctly. (M. Pasternacki)
- Incorrectly loaded files are now unloaded without falling into infinite
loop. (M. Pasternacki)
* Foreign function interface (FFI):
- Added nickname UFFI for FFI package; functions ALLOCATE-FOREIGN-STRING,
@ -26,6 +18,12 @@ ECL 0.9g
* Errors fixed:
- Now .o files compiled with :SYSTEM-P T with dash in filename load
correctly. (M. Pasternacki)
- Incorrectly loaded files are now unloaded without falling into infinite
loop. (M. Pasternacki)
- When ECASE or CTYPECASE signal a TYPE-EROR the TYPE-ERROR-DATUM is the value
that originated the error.
@ -61,6 +59,10 @@ ECL 0.9g
- Pathnames which contain :BACK in the directory, now print as unreadable
objects, instead of signaling an error when printing.
* New features:
- Added function si:rmdir (M. Pasternacki)
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***

View file

@ -1138,6 +1138,7 @@ cl_symbols[] = {
{SYS_ "MEMQ", SI_ORDINARY, si_memq, 2, OBJNULL},
{SYS_ "MKDIR", SI_ORDINARY, si_mkdir, 2, OBJNULL},
{SYS_ "MKSTEMP", SI_ORDINARY, si_mkstemp, 1, OBJNULL},
{SYS_ "RMDIR", SI_ORDINARY, si_rmdir, 1, OBJNULL},
{SYS_ "OPEN-PIPE", SI_ORDINARY, si_open_pipe, 1, OBJNULL},
{SYS_ "OUTPUT-STREAM-STRING", SI_ORDINARY, si_output_stream_string, 1, OBJNULL},
{SYS_ "PACKAGE-LOCK", SI_ORDINARY, si_package_lock, 2, OBJNULL},

View file

@ -792,3 +792,12 @@ si_mkstemp(cl_object template)
close(fd);
@(return cl_truename(output))
}
cl_object
si_rmdir(cl_object directory)
{
directory = si_coerce_to_filename(directory);
if ( rmdir(directory->string.self) != 0 )
FElibc_error("Can't remove directory ~A.", 1, directory);
@(return Cnil)
}

View file

@ -1454,6 +1454,7 @@ extern cl_object si_mkdir(cl_object directory, cl_object mode);
extern cl_object cl_directory _ARGS((cl_narg narg, cl_object directory, ...));
extern cl_object cl_user_homedir_pathname _ARGS((cl_narg narg, ...));
extern cl_object si_mkstemp(cl_object templ);
extern cl_object si_rmdir(cl_object directory);
extern const char *expand_pathname(const char *name);
extern cl_object ecl_string_to_pathname(char *s);