]> git.eshelyaron.com Git - emacs.git/commitdiff
Minor fixes for inotify.c and filenotify.el
authorAndreas Politz <politza@hochschule-trier.de>
Sun, 26 Mar 2017 09:41:12 +0000 (11:41 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 26 Mar 2017 09:41:12 +0000 (11:41 +0200)
* lisp/filenotify.el (file-notify--watch-absolute-filename):
Add docstring.
(file-notify-callback): Simplify.

* src/inotify.c (Finotify_add_watch): Adapt docstring.

lisp/filenotify.el
src/inotify.c

index 55ce94a1cad940cd9fa99f90fbb57d8984be16a6..c3d7d7223a7265e8f068e4100b6241ad9a45bfed 100644 (file)
@@ -52,6 +52,7 @@ could use another implementation.")
   callback)
 
 (defun file-notify--watch-absolute-filename (watch)
+  "Return the absolute filename observed by WATCH."
   (if (file-notify--watch-filename watch)
       (expand-file-name
        (file-notify--watch-filename watch)
@@ -204,7 +205,7 @@ EVENT is the cadr of the event in `file-notify-handle-event'
                                 (car file-notify--pending-event)))
                     ;; If the source is handled by another watch, we
                     ;; must fire the rename event there as well.
-                    (when (not (equal desc (caar file-notify--pending-event)))
+                    (unless (equal desc (caar file-notify--pending-event))
                       (setq pending-event
                             `((,(caar file-notify--pending-event)
                                renamed ,file ,file1)
@@ -214,9 +215,6 @@ EVENT is the cadr of the event in `file-notify-handle-event'
 
           ;; Apply pending callback.
           (when pending-event
-            (setcar
-             (car pending-event)
-             (caar pending-event))
             (funcall (cadr pending-event) (car pending-event))
             (setq pending-event nil))
 
index 470b60ba893855afa4584236d6b6e83ed5e10ad6..cb24e827626b16416c7f054313630c7db52d78e9 100644 (file)
@@ -382,9 +382,17 @@ If a directory is watched then NAME is the name of file that caused the event.
 COOKIE is an object that can be compared using `equal' to identify two matching
 renames (moved-from and moved-to).
 
-See inotify(7) and inotify_add_watch(2) for further information.  The inotify fd
-is managed internally and there is no corresponding inotify_init.  Use
-`inotify-rm-watch' to remove a watch.  */)
+See inotify(7) and inotify_add_watch(2) for further information.  The
+inotify fd is managed internally and there is no corresponding
+inotify_init.  Use `inotify-rm-watch' to remove a watch.
+
+Also note, that the following inotify bit-masks can not be used, due
+to the fact that descriptors are shared across different callers.
+
+IN_EXCL_UNLINK
+IN_MASK_ADD
+IN_ONESHOT
+IN_ONLYDIR  */)
      (Lisp_Object filename, Lisp_Object aspect, Lisp_Object callback)
 {
   Lisp_Object encoded_file_name;