diff --git a/src/c/unixfsys.d b/src/c/unixfsys.d index a352d6984..abaa65e6f 100644 --- a/src/c/unixfsys.d +++ b/src/c/unixfsys.d @@ -687,6 +687,14 @@ dir_files(cl_object basedir, cl_object pathname) char *text = new->base_string.self; if (file_kind(text, TRUE) == @':directory') continue; + if (ecl_member_char(':', new)) { + /* File names are allowed to have ':', but ECL + * interprets colons as separators for device names + * By prepending the name with a ':', we set the device + * to NIL and parse the file name properly */ + new = si_base_string_concatenate(2, make_constant_base_string(":"), + new); + } new = cl_pathname(new); if (Null(cl_pathname_match_p(new, mask))) continue; diff --git a/src/lsp/config.lsp.in b/src/lsp/config.lsp.in index 2851aaddf..3355e2d18 100644 --- a/src/lsp/config.lsp.in +++ b/src/lsp/config.lsp.in @@ -24,7 +24,7 @@ Returns, as a string, the location of the machine on which ECL runs." (defun lisp-implementation-version () "Args:() Returns the version of your ECL as a string." - "@PACKAGE_VERSION@ (CVS 2008-03-18 22:50)") + "@PACKAGE_VERSION@ (CVS 2008-04-06 18:01)") (defun machine-type () "Args: ()