Author: wayland
Date: 2009-02-24 01:53:45 +0100 (Tue, 24 Feb 2009)
New Revision: 25509
Modified:
docs/Perl6/Spec/S16-io.pod
docs/Perl6/Spec/S32-setting-library/IO.pod
Log:
S16: Referred to other documents
IO.pod: Got rid of filetest pragma
Modified: docs/Perl6/Spec/S16-io.pod
===================================================================
--- docs/Perl6/Spec/S16-io.pod 2009-02-24 00:44:29 UTC (rev 25508)
+++ docs/Perl6/Spec/S16-io.pod 2009-02-24 00:53:45 UTC (rev 25509)
@@ -41,6 +41,12 @@
Many of the roles and functions below will operate on the default handles. To
set all 3
at once, do C<($*DEFIN, $*DEFOUT, $*DEFERR) ::= ($*IN, $*OUT, $*ERR)>.
+=head1 Roles and Classes
+
+The roles and classes that define most of the functionality for IO are defined
in
+S32-setting-library/IO.pod. The main functions used are listed in S29 with
references to
+S32-setting-library/IO.pod.
+
=head1 Additions
Please post errors and feedback to perl6-language. If you are making
Modified: docs/Perl6/Spec/S32-setting-library/IO.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/IO.pod 2009-02-24 00:44:29 UTC (rev
25508)
+++ docs/Perl6/Spec/S32-setting-library/IO.pod 2009-02-24 00:53:45 UTC (rev
25509)
@@ -592,29 +592,28 @@
:C Same for inode change time (Unix, may differ for other platforms)
The interpretation of the file permission operators C<:r>, C<:R>,
-C<:w>, C<:W>, C<:x>, and C<:X> is by default based solely on the mode
-of the file and the uids and gids of the user. There may be other
-reasons you can't actually read, write, or execute the file. Such
-reasons may be for example network filesystem access controls, ACLs
-(access control lists), read-only filesystems, and unrecognized
-executable formats.
+C<:w>, C<:W>, C<:x>, and C<:X> is by default based on:
+=over
+
+=item * The mode of the file and the uids and gids of the user
+
+=item * ACLs (access control lists)
+
+=item * read-only filesystems
+
+=back
+
+There may be other reasons you can't actually read, write, or execute
+the file. Such reasons may be for example network filesystem access
+controls and unrecognized executable formats.
+
Also note that, for the superuser on the local filesystems, the C<:r>,
C<:R>, C<:w>, and C<:W> tests always return 1, and C<:x> and C<:X> return 1
if any execute bit is set in the mode. Scripts run by the superuser
may thus need to do a stat() to determine the actual mode of the file,
or temporarily set their effective uid to something else.
-If you are using ACLs, there is a pragma called C<filetest> that may
-produce more accurate results than the bare stat() mode bits.
-When under the C<use filetest 'access'> the above-mentioned filetests
-will test whether the permission can (not) be granted using the
-access() family of system calls. Also note that the C<:x> and C<:X> may
-under this pragma return true even if there are no execute permission
-bits set (nor any extra execute permission ACLs). This strangeness is
-due to the underlying system calls' definitions. Read the
-documentation for the C<filetest> pragma for more information.
-
The C<:T> and C<:B> switches work as follows. The first block or so of the
file is examined for odd characters such as strange control codes or
characters with the high bit set. If too many strange characters (>30%)