From: Richard M. Stallman Date: Sun, 28 Jan 2007 07:19:16 +0000 (+0000) Subject: (File Attributes): UID and GID can be floats. X-Git-Tag: emacs-pretest-22.0.94~563 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eca456adcfd4d48e9f5273835ca5d7e275ee2532;p=emacs.git (File Attributes): UID and GID can be floats. (Magic File Names): Explain why deferring all operations to the standard handler does not work. --- diff --git a/lispref/files.texi b/lispref/files.texi index 630eaca9c2a..f13888197c7 100644 --- a/lispref/files.texi +++ b/lispref/files.texi @@ -1157,11 +1157,12 @@ links, can be created by using the @code{add-name-to-file} function (@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 @@ whose match starts last in the file name gets precedence. This rule 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 @@ avoids inefficiency, but its main purpose is for autoloaded handler 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.