[armedbear-devel] Getting directory listing with symlinks included
If I have a directory containing a file named a.txt and a symlink b.txt that points to a.txt, is there any ABCL function I can call to get both directory entries as separate objects, i.e. the list (#p"a.txt" #p"b.txt")? The semantics of CL:DIRECTORY seem to require resolving the b.txt symlink, so I'm trying to figure out an extra-standard way to do it in ABCL, if possible. Thanks, Zach
On 2 March 2011 19:48, Zach Beane <xach@xach.com> wrote:
If I have a directory containing a file named a.txt and a symlink b.txt that points to a.txt, is there any ABCL function I can call to get both directory entries as separate objects, i.e. the list (#p"a.txt" #p"b.txt")? The semantics of CL:DIRECTORY seem to require resolving the b.txt symlink, so I'm trying to figure out an extra-standard way to do it in ABCL, if possible.
I suppose we could add a keyword argument to DIRECTORY that would allow that, or add a separate function. I don't think we have such a facility at the moment.
Ville Voutilainen <ville.voutilainen@gmail.com> writes:
On 2 March 2011 19:48, Zach Beane <xach@xach.com> wrote:
If I have a directory containing a file named a.txt and a symlink b.txt that points to a.txt, is there any ABCL function I can call to get both directory entries as separate objects, i.e. the list (#p"a.txt" #p"b.txt")? The semantics of CL:DIRECTORY seem to require resolving the b.txt symlink, so I'm trying to figure out an extra-standard way to do it in ABCL, if possible.
I suppose we could add a keyword argument to DIRECTORY that would allow that, or add a separate function. I don't think we have such a facility at the moment.
Let me back up and get to my actual goal; perhaps there's a way to do it in ABCL already... I'd like to delete a directory tree from within ABCL. The directory generally consists of plain files and other directories, but in some cases there will be symlinks present. For other CL implementations, I used extra-standard directory deletion and enumeration functions, so I thought I could perhaps do the same in ABCL. But maybe I can go for a higher abstraction. Is there a function within ABCL that deletes an entire directory tree? Zach
Ville Voutilainen <ville.voutilainen@gmail.com> writes:
On 2 March 2011 20:01, Zach Beane <xach@xach.com> wrote:
Is there a function within ABCL that deletes an entire directory tree?
None that I'm aware of.
Without the ability to do one of those two things, I'm afraid I won't be able to offer a version of Quicklisp that works with ABCL in the future. Zach
On 2 March 2011 20:09, Zach Beane <xach@xach.com> wrote:
Ville Voutilainen <ville.voutilainen@gmail.com> writes:
Is there a function within ABCL that deletes an entire directory tree? None that I'm aware of. Without the ability to do one of those two things, I'm afraid I won't be able to offer a version of Quicklisp that works with ABCL in the future.
Oh, then we'll just have to write such facilities.
On 2 March 2011 20:12, Ville Voutilainen <ville.voutilainen@gmail.com> wrote:
On 2 March 2011 20:09, Zach Beane <xach@xach.com> wrote:
Without the ability to do one of those two things, I'm afraid I won't be able to offer a version of Quicklisp that works with ABCL in the future. Oh, then we'll just have to write such facilities.
Filed as ticket #136. Implementation will follow, when I get to it. I don't expect it to be difficult to do, but it'll likely take a couple of days before I have time to do it.
On 2 March 2011 20:28, Ville Voutilainen <ville.voutilainen@gmail.com> wrote:
On 2 March 2011 20:12, Ville Voutilainen <ville.voutilainen@gmail.com> wrote:
On 2 March 2011 20:09, Zach Beane <xach@xach.com> wrote:
Without the ability to do one of those two things, I'm afraid I won't be able to offer a version of Quicklisp that works with ABCL in the future. Oh, then we'll just have to write such facilities. Filed as ticket #136. Implementation will follow, when I get to it. I don't expect it to be difficult to do, but it'll likely take a couple of days before I have time to do it.
Fixed in r13230. The patch adds a keyword arg :resolve-symlinks to DIRECTORY. We'll need to think about DELETE-DIRECTORY-TREE separately. Hopefully this allows you to proceed, Zach. Please report if there are any problems. Thanks, - Ville, implementing feature wishes fast :P
participants (2)
-
Ville Voutilainen
-
Zach Beane