changeset 110737:5850ff18beab

* files.texi (Magic File Names): New defopt remote-file-name-inhibit-cache.
author Michael Albinus <michael.albinus@gmx.de>
date Sun, 03 Oct 2010 17:58:09 +0200
parents e66d3e54e4af
children dbed53d02a01
files doc/lispref/ChangeLog doc/lispref/files.texi
diffstat 2 files changed, 33 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Sun Oct 03 08:46:41 2010 -0700
+++ b/doc/lispref/ChangeLog	Sun Oct 03 17:58:09 2010 +0200
@@ -1,3 +1,8 @@
+2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	* files.texi (Magic File Names): New defopt
+	remote-file-name-inhibit-cache.
+
 2010-10-02  Glenn Morris  <rgm@gnu.org>
 
 	* os.texi (Killing Emacs): Hook now runs in batch mode.
--- a/doc/lispref/files.texi	Sun Oct 03 08:46:41 2010 -0700
+++ b/doc/lispref/files.texi	Sun Oct 03 17:58:09 2010 +0200
@@ -2857,6 +2857,34 @@
 is a good way to come up with one.
 @end defun
 
+@defopt remote-file-name-inhibit-cache
+Whether to use the remote file-name cache for read access.
+
+File attributes of remote files are cached for better performance.  If
+they are changed out of Emacs' control, the cached values become
+invalid, and must be reread.
+
+When set to @code{nil}, cached values are always used.  This shall be
+set with care.  When set to @code{t}, cached values are never used.
+ALthough this is the safest value, it could result in performance
+degradation.
+
+A compromise is to set it to a positive number.  This means that
+cached values are used for that amount of seconds since they were
+cached.
+
+In case a remote file is checked regularly, it might be reasonable to
+let-bind this variable to a value less then the time period between
+two checks.  Example:
+
+@example
+(defun display-time-file-nonempty-p (file)
+  (let ((remote-file-name-inhibit-cache (- display-time-interval 5)))
+    (and (file-exists-p file)
+         (< 0 (nth 7 (file-attributes (file-chase-links file)))))))
+@end example
+@end defopt
+
 @node Format Conversion
 @section File Format Conversion