From: Michael Albinus Date: Mon, 22 Feb 2016 21:05:00 +0000 (+0100) Subject: Minor fixes in filenotify.el X-Git-Tag: emacs-25.0.92~63 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1bc0e0a5b7184cf78ae94bb7d46f25f1c2a02654;p=emacs.git Minor fixes in filenotify.el * lisp/filenotify.el (top): Require 'cl-lib. (file-notify--rm-descriptor) (file-notify--event-watched-file): Use cl-caadr. (file-notify-callback): Handle also `ignore' events from inotify. --- diff --git a/lisp/filenotify.el b/lisp/filenotify.el index 21046a85a7a..f8a53631135 100644 --- a/lisp/filenotify.el +++ b/lisp/filenotify.el @@ -27,8 +27,7 @@ ;;; Code: -(eval-when-compile - (require 'cl)) +(require 'cl-lib) (defconst file-notify--library (cond @@ -58,7 +57,7 @@ DESCRIPTOR should be an object returned by `file-notify-add-watch'. If it is registered in `file-notify-descriptors', a stopped event is sent." (let* ((desc (if (consp descriptor) (car descriptor) descriptor)) (registered (gethash desc file-notify-descriptors)) - (file (if (consp descriptor) (cdr descriptor) (caadr registered))) + (file (if (consp descriptor) (cdr descriptor) (cl-caadr registered))) (dir (car registered))) (when (consp registered) @@ -104,7 +103,7 @@ It is a form ((DESCRIPTOR ACTION FILE [FILE1-OR-COOKIE]) CALLBACK).") Could be different from the directory watched by the backend library." (let* ((desc (if (consp (car event)) (caar event) (car event))) (registered (gethash desc file-notify-descriptors)) - (file (if (consp (car event)) (cdar event) (caadr registered))) + (file (if (consp (car event)) (cdar event) (cl-caadr registered))) (dir (car registered))) (if file (expand-file-name file dir) dir))) @@ -274,11 +273,13 @@ EVENT is the cadr of the event in `file-notify-handle-event' `(,(file-notify--descriptor desc (car entry)) ,action ,file)))) ;; Send `stopped' event. - (when (and (memq action '(deleted renamed)) - ;; Not, when a file is backed up. - (not (and (stringp file1) (backup-file-name-p file1))) - ;; Watched file or directory is concerned. - (string-equal file (file-notify--event-watched-file event))) + (when (or stopped + (and (memq action '(deleted renamed)) + ;; Not, when a file is backed up. + (not (and (stringp file1) (backup-file-name-p file1))) + ;; Watched file or directory is concerned. + (string-equal + file (file-notify--event-watched-file event)))) (file-notify-rm-watch (file-notify--descriptor desc (car entry)))))))) ;; `kqueue', `gfilenotify' and `w32notify' return a unique descriptor