On Mar 15, 12:21 am, "syd.lavas...@gmail.com" <syd.lavas...@gmail.com>
wrote:
> The problem is that my home directory is:
>
> /files3/home/sahosse/
>
> but I only have execution permission to the directory "home":

I confirm:

$ mkdir /tmp/test
$ chmod a-r /tmp/test
$ mkdir /tmp/test/a
$ touch /tmp/test/a/b
$ ls /tmp/test/a/*
/tmp/test/a/b

$ ecl
ECL (Embeddable Common-Lisp) 11.1.1
[...]
> (directory "/tmp/test/a/*")

NIL
> (quit)
$ chmod u+r /tmp/test
$ ecl
ECL (Embeddable Common-Lisp) 11.1.1
[...]
> (directory "/tmp/test/a/*")

(#P"/tmp/test/a/b")

so, changing read permissions on a directory higher up in the tree
makes everything below not reachable for "directory". The same problem
arises for multi-level wildcards in the shell, i.e., "ls /tmp/test/*/
*" can't find /tmp/test/a/b either if test is not readable. I guess
ECL uses the same code for wildcards as it uses for specified path
components.

I have checked the CLHS and no mention is made of how permissions
should be handled by lisp. I guess that is implementation-dependent.
>From that perspective, ECL could just define that read permission is
required on all components of a path in order for it to be reachable,
but since that is so incompatible with UNIX, I think they will
consider this a bug as well.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to