From 3dcacb09a921593509d0975e4f6a9434a54521ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Engdeg=C3=A5rd?= Date: Sat, 18 May 2019 19:48:32 +0200 Subject: [PATCH] Fix broken logic in file-notify * lisp/filenotify.el (file-notify-callback): Repair warped condition that didn't match rename-to/from events correctly. --- lisp/filenotify.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lisp/filenotify.el b/lisp/filenotify.el index a6054c175f1..26b83ce66c0 100644 --- a/lisp/filenotify.el +++ b/lisp/filenotify.el @@ -161,12 +161,14 @@ EVENT is the cadr of the event in `file-notify-handle-event' (while actions (let ((action (pop actions))) ;; Send pending event, if it doesn't match. + ;; We only handle {renamed,moved}-{from,to} pairs when these + ;; arrive in order without anything else in-between. (when (and file-notify--pending-event - ;; The cookie doesn't match. - (not (equal (file-notify--event-cookie - (car file-notify--pending-event)) - (file-notify--event-cookie event))) (or + ;; The cookie doesn't match. + (not (equal (file-notify--event-cookie + (car file-notify--pending-event)) + (file-notify--event-cookie event))) ;; inotify. (and (eq (nth 1 (car file-notify--pending-event)) 'moved-from)