+2013-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * filenotify.el (file-notify-add-watch): Don't special-case
+ w32notify when computing the directory to watch.
+
2013-11-27 Glenn Morris <rgm@gnu.org>
Make bootstrap without generated uni-*.el files possible again.
(let* ((handler (find-file-name-handler file 'file-notify-add-watch))
(dir (directory-file-name
- (if (or (and (not handler) (eq file-notify--library 'w32notify))
- (file-directory-p file))
+ (if (file-directory-p file)
file
(file-name-directory file))))
desc func l-flags)
+2013-11-27 Eli Zaretskii <eliz@gnu.org>
+
+ * w32notify.c (Fw32notify_add_watch): If the argument FILE is a
+ directory, watch it and not its parent.
+ (add_watch): Allow empty string in FILE.
+
2013-11-27 Martin Rudalics <rudalics@gmx.at>
* window.c (Fset_window_start, window_resize_apply)
HANDLE hdir;
struct notification *dirwatch = NULL;
- if (!file || !*file)
+ if (!file)
return NULL;
hdir = CreateFile (parent_dir,
report_file_error ("GetFullPathName failed",
Fcons (lisp_errstr, Fcons (file, Qnil)));
}
- /* We need the parent directory without the slash that follows it.
- If BASENAME is NULL, the argument was the root directory on its
- drive. */
- if (basename)
- basename[-1] = '\0';
+ /* filenotify.el always passes us a directory, either the parent
+ directory of a file to be watched, or the directory to be
+ watched. */
+ if (file_directory_p (parent_dir))
+ basename = "";
else
- subdirs = TRUE;
+ {
+ /* This should only happen if we are called directly, not via
+ filenotify.el. If BASENAME is NULL, the argument was the
+ root directory on its drive. */
+ if (basename)
+ basename[-1] = '\0';
+ else
+ subdirs = TRUE;
+ }
if (!NILP (Fmember (Qsubtree, filter)))
subdirs = TRUE;