# HG changeset patch # User Richard M. Stallman # Date 1169968756 0 # Node ID 330094c564c412ce920410735b2078984f019780 # Parent 688a9d290d4dcccec7db2db4172228ec5e088124 (File Attributes): UID and GID can be floats. (Magic File Names): Explain why deferring all operations to the standard handler does not work. diff -r 688a9d290d4d -r 330094c564c4 lispref/files.texi --- 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.