From: Michael Albinus Date: Mon, 16 Nov 2015 13:43:14 +0000 (+0100) Subject: Doc changes for kqueue X-Git-Tag: emacs-26.0.90~2930^2^2~8 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b5804c3a08cca4082bb2bcff1ab70c94ba0c7b96;p=emacs.git Doc changes for kqueue * doc/lispref/os.texi (File Notifications): Add kqueue as backend. Fix some glitches in the example. --- diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 7050df86a18..666a05dac9b 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -2566,9 +2566,9 @@ specification prior to @samp{"1.0"}. Several operating systems support watching of filesystems for changes of files. If configured properly, Emacs links a respective library -like @file{gfilenotify}, @file{inotify}, or @file{w32notify} -statically. These libraries enable watching of filesystems on the -local machine. +like @file{inotify}, @file{kqueue}, @file{gfilenotify}, or +@file{w32notify} statically. These libraries enable watching of +filesystems on the local machine. It is also possible to watch filesystems on remote machines, @pxref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual} @@ -2639,7 +2639,8 @@ watching @var{file} has been stopped Note that the @file{w32notify} library does not report @code{attribute-changed} events. When some file's attribute, like permissions or modification time, has changed, this library reports a -@code{changed} event. +@code{changed} event. Likewise, the @file{kqueue} library does not +report reliably file attribute changes when watching a directory. The @code{stopped} event reports, that watching the file has been stopped. This could be because @code{file-notify-rm-watch} was called @@ -2678,7 +2679,7 @@ being reported. For example: @group (write-region "bla" nil "/tmp/foo") @result{} Event (35025468 created "/tmp/.#foo") - Event (35025468 changed "/tmp/foo") [2 times] + Event (35025468 changed "/tmp/foo") Event (35025468 deleted "/tmp/.#foo") @end group @@ -2724,14 +2725,14 @@ also makes it invalid. @example @group (make-directory "/tmp/foo") - @result{} nil + @result{} Event (35025468 created "/tmp/foo") @end group @group (setq desc (file-notify-add-watch "/tmp/foo" '(change) 'my-notify-callback)) - @result{} 35025468 + @result{} 11359632 @end group @group @@ -2741,32 +2742,34 @@ also makes it invalid. @group (write-region "bla" nil "/tmp/foo/bla") - @result{} Event (35025468 created "/tmp/foo/.#bla") - Event (35025468 created "/tmp/foo/bla") - Event (35025468 changed "/tmp/foo/bla") - Event (35025468 changed "/tmp/foo/.#bla") + @result{} Event (11359632 created "/tmp/foo/.#bla") + Event (11359632 created "/tmp/foo/bla") + Event (11359632 changed "/tmp/foo/bla") + Event (11359632 deleted "/tmp/foo/.#bla") @end group @group ;; Deleting a file in the directory doesn't invalidate the watch. (delete-file "/tmp/foo/bla") - @result{} Event (35025468 deleted "/tmp/foo/bla") + @result{} Event (11359632 deleted "/tmp/foo/bla") @end group @group (write-region "bla" nil "/tmp/foo/bla") - @result{} Event (35025468 created "/tmp/foo/.#bla") - Event (35025468 created "/tmp/foo/bla") - Event (35025468 changed "/tmp/foo/bla") - Event (35025468 changed "/tmp/foo/.#bla") + @result{} Event (11359632 created "/tmp/foo/.#bla") + Event (11359632 created "/tmp/foo/bla") + Event (11359632 changed "/tmp/foo/bla") + Event (11359632 deleted "/tmp/foo/.#bla") @end group @group ;; Deleting the directory invalidates the watch. +;; Events arrive for different watch descriptors. (delete-directory "/tmp/foo" 'recursive) - @result{} Event (35025468 deleted "/tmp/foo/bla") - Event (35025468 deleted "/tmp/foo") - Event (35025468 stopped "/tmp/foo") + @result{} Event (35025468 deleted "/tmp/foo") + Event (11359632 deleted "/tmp/foo/bla") + Event (11359632 deleted "/tmp/foo") + Event (11359632 stopped "/tmp/foo") @end group @group