[Openmcl-devel] Two (Directory ...) problems
ww.s2 at ukonline.co.uk
Sun Mar 28 21:16:56 UTC 2010
When trying to use CCL to compare files on two different volumes, I have encountered two problems with the implementation of (Directory ).
(1) The first is that the CCL (directory ) function fails to work with paths that have "*" in them whether as part of the directory name or as part of the file name, but of course there might be many such files or directories on a macintosh volume, so directory does not fully work.
Welcome to Clozure Common Lisp Version 1.4-r13119 (DarwinX8664)!
? (directory "Volumes/Arbeit/Allegro/**/*.*"
> Error: Illegal use of wildcarded filename "/Volumes/Arbeit/Allegro/Contribs/MapCooordinates/Classic/*Latitude/"
> While executing: NATIVE-TRANSLATED-NAMESTRING, in process Listener(6).
> Type cmd-. to abort, cmd-\ for a list of available restarts.
> Type :? for other options.
(2) The second is that (directory ) calls some version of delete-duplicates which starts to crawl-really-slowly (cant complete overnight) when the volume contains hundreds-of-thousands of files. Surely there should be no duplicates to delete in the first place (even if :follow-links is true), and doing so must be beyond the spec. The source seems to suggest that the reasons for doing this is extraneous to the common-lisp definition. What do you language experts think?
More information about the Openmcl-devel