LOGICAL-PATHNAME implemented.

This commit is contained in:
jjgarcia 2002-12-14 15:03:07 +00:00
parent 0c0e58d308
commit aaa68d02a8
3 changed files with 11 additions and 1 deletions

View file

@ -410,6 +410,15 @@ L:
}
}
cl_object
cl_logical_pathname(cl_object x)
{
x = cl_pathname(x);
if (!x->pathname.logical)
FEerror("~S cannot be coerced to a logical pathname.", 1, x);
return x;
}
/*
* coerce_to_physical_pathname(P) converts P to a physical pathname,
* for a file which is accesible in our filesystem.

View file

@ -458,7 +458,7 @@ cl_symbols[] = {
{"LOGBITP", CL_ORDINARY, cl_logbitp, 2},
{"LOGCOUNT", CL_ORDINARY, cl_logcount, 1},
{"LOGEQV", CL_ORDINARY, cl_logeqv, -1},
{"LOGICAL-PATHNAME", CL_ORDINARY, NULL, -1},
{"LOGICAL-PATHNAME", CL_ORDINARY, cl_logical_pathname, 1},
{"LOGICAL-PATHNAME-TRANSLATIONS", CL_ORDINARY, NULL, -1},
{"LOGIOR", CL_ORDINARY, cl_logior, -1},
{"LOGNAND", CL_ORDINARY, cl_lognand, 2},

View file

@ -894,6 +894,7 @@ extern void init_package(void);
/* pathname.c */
extern cl_object cl_pathname(cl_object name);
extern cl_object cl_logical_pathname(cl_object pname);
extern cl_object cl_pathnamep(cl_object pname);
extern cl_object cl_pathname_host(cl_object pname);
extern cl_object cl_pathname_device(cl_object pname);