# HG changeset patch # User Michael Albinus # Date 1286121489 -7200 # Node ID 5850ff18beab2ef3b99a0c4d7c11da7d29d7a89f # Parent e66d3e54e4af4e90165d8a224e47dfd243f84f4b * files.texi (Magic File Names): New defopt remote-file-name-inhibit-cache. diff -r e66d3e54e4af -r 5850ff18beab doc/lispref/ChangeLog --- 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 + + * files.texi (Magic File Names): New defopt + remote-file-name-inhibit-cache. + 2010-10-02 Glenn Morris * os.texi (Killing Emacs): Hook now runs in batch mode. diff -r e66d3e54e4af -r 5850ff18beab doc/lispref/files.texi --- 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