changeset 75476:330094c564c4

(File Attributes): UID and GID can be floats. (Magic File Names): Explain why deferring all operations to the standard handler does not work.
author Richard M. Stallman <rms@gnu.org>
date Sun, 28 Jan 2007 07:19:16 +0000
parents 688a9d290d4d
children afd36ac582f5
files lispref/files.texi
diffstat 1 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/files.texi	Sun Jan 28 07:16:39 2007 +0000
+++ b/lispref/files.texi	Sun Jan 28 07:19:16 2007 +0000
@@ -1157,11 +1157,12 @@
 (@pxref{Changing Files}).
 
 @item
-The file's @acronym{UID} as a string or an integer.  If a string
-value cannot be looked up, the integer value is returned.
+The file's @acronym{UID}, normally as a string.  However, if it does
+not correspond to a named user, the value is an integer or a floating
+point number.
 
 @item
-The file's @acronym{GID} likewise.
+The file's @acronym{GID}, likewise.
 
 @item
 The time of last access, as a list of two integers.
@@ -2554,7 +2555,7 @@
 is chosen so that handlers for jobs such as uncompression are handled
 first, before handlers for jobs such as remote file access.
 
-Here are the operations that a magic file name handler gets to handle:
+  Here are the operations that a magic file name handler gets to handle:
 
 @ifnottex
 @noindent
@@ -2704,6 +2705,14 @@
 functions, so that they won't be loaded except when they have real
 work to do.
 
+  Simply deferring all operations to the usual primitives does not
+work.  For instance, if the file name handler applies to
+@code{file-exists-p}, then it must handle @code{load} itself, because
+the usual @code{load} code won't work properly in that case.  However,
+if the handler uses the @code{operations} property to say it doesn't
+handle @code{file-exists-p}, then it need not handle @code{load}
+nontrivially.
+
 @defvar inhibit-file-name-handlers
 This variable holds a list of handlers whose use is presently inhibited
 for a certain operation.