X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/d0cfb71f2e0a5a4cd231b3139f013a1908bfaefa..ec2c4ee6d2cb9c5505f120229269941f064b23fa:/src/w32notify.c diff --git a/src/w32notify.c b/src/w32notify.c index d78e55f43e..a48a83daf5 100644 --- a/src/w32notify.c +++ b/src/w32notify.c @@ -39,7 +39,7 @@ along with GNU Emacs. If not, see . */ return, and watch_worker then issues another call to ReadDirectoryChangesW. (Except when it does not, see below.) - In a GUI session, The WM_EMACS_FILENOTIFY message, posted to the + In a GUI session, the WM_EMACS_FILENOTIFY message posted to the message queue gets dispatched to the main Emacs window procedure, which queues it for processing by w32_read_socket. When w32_read_socket sees this message, it accesses the buffer with file @@ -59,7 +59,7 @@ along with GNU Emacs. If not, see . */ When the FILE_NOTIFY_EVENT event is processed by keyboard.c's kbd_buffer_get_event, it is converted to a Lispy event that can be - bound to a command. The default binding is w32notify-handle-event, + bound to a command. The default binding is file-notify-handle-event, defined on subr.el. After w32_read_socket or w32_console_read_socket are done @@ -129,7 +129,7 @@ send_notifications (BYTE *info, DWORD info_size, void *desc, volatile int *terminate) { int done = 0; - FRAME_PTR f = SELECTED_FRAME (); + struct frame *f = SELECTED_FRAME (); /* A single buffer is used to communicate all notifications to the main thread. Since both the main thread and several watcher @@ -442,8 +442,8 @@ DEFUN ("w32notify-add-watch", Fw32notify_add_watch, This arranges for filesystem events pertaining to FILE to be reported to Emacs. Use `w32notify-rm-watch' to cancel the watch. -Value is a descriptor for the added watch, or nil if the file -cannot be watched. +Value is a descriptor for the added watch. If the file cannot be +watched for some reason, this function signals a `file-error' error. FILTER is a list of conditions for reporting an event. It can include the following symbols: @@ -476,7 +476,13 @@ following: 'renamed-from' -- a file was renamed whose old name was FILE 'renamed-to' -- a file was renamed and its new name is FILE -FILE is the name of the file whose event is being reported. */) +FILE is the name of the file whose event is being reported. + +Note that some networked filesystems, such as Samba-mounted Unix +volumes, might not send notifications about file changes. In these +cases, this function will return a valid descriptor, but notifications +will never come in. Volumes shared from remote Windows machines do +generate notifications correctly, though. */) (Lisp_Object file, Lisp_Object filter, Lisp_Object callback) { Lisp_Object encoded_file, watch_object, watch_descriptor;