[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r113447: * filenotify.el (file-notify--library): Ren
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] trunk r113447: * filenotify.el (file-notify--library): Renamed from |
Date: |
Thu, 18 Jul 2013 10:03:55 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 113447
revision-id: address@hidden
parent: address@hidden
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Thu 2013-07-18 12:03:49 +0200
message:
* filenotify.el (file-notify--library): Renamed from
`file-notify-support'. Do not autoload. Adapt all uses.
(file-notify-supported-p): New defun.
* autorevert.el (auto-revert-use-notify): Use
`file-notify-supported-p' instead of `file-notify-support'. Adapt
docstring.
(auto-revert-notify-add-watch): Use `file-notify-supported-p'.
* net/tramp.el (tramp-file-name-for-operation):
Add `file-notify-supported-p'.
* net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p):
New defun.
(tramp-sh-file-name-handler-alist): Add it as handler for
`file-notify-supported-p '.
* net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Add `ignore' as handler for `file-notify-*' functions.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/autorevert.el
autorevert.el-20091113204419-o5vbwnq5f7feedwu-1197
lisp/filenotify.el filenotify.el-20130625113410-31so8z8hgotqv5s4-1
lisp/net/tramp-adb.el trampadb.el-20121204164216-03wyr5miam215d7f-1
lisp/net/tramp-gvfs.el
trampgvfs.el-20091113204419-o5vbwnq5f7feedwu-10898
lisp/net/tramp-sh.el trampsh.el-20100913133439-a1faifh29eqoi4nh-1
lisp/net/tramp-smb.el
trampsmb.el-20091113204419-o5vbwnq5f7feedwu-2515
lisp/net/tramp.el tramp.el-20091113204419-o5vbwnq5f7feedwu-2427
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-07-17 16:47:49 +0000
+++ b/lisp/ChangeLog 2013-07-18 10:03:49 +0000
@@ -1,3 +1,27 @@
+2013-07-18 Michael Albinus <address@hidden>
+
+ * filenotify.el (file-notify--library): Renamed from
+ `file-notify-support'. Do not autoload. Adapt all uses.
+ (file-notify-supported-p): New defun.
+
+ * autorevert.el (auto-revert-use-notify): Use
+ `file-notify-supported-p' instead of `file-notify-support'. Adapt
+ docstring.
+ (auto-revert-notify-add-watch): Use `file-notify-supported-p'.
+
+ * net/tramp.el (tramp-file-name-for-operation):
+ Add `file-notify-supported-p'.
+
+ * net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p):
+ New defun.
+ (tramp-sh-file-name-handler-alist): Add it as handler for
+ `file-notify-supported-p '.
+
+ * net/tramp-adb.el (tramp-adb-file-name-handler-alist):
+ * net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
+ * net/tramp-smb.el (tramp-smb-file-name-handler-alist):
+ Add `ignore' as handler for `file-notify-*' functions.
+
2013-07-17 Eli Zaretskii <address@hidden>
* simple.el (line-move-partial, line-move): Don't start vscroll or
=== modified file 'lisp/autorevert.el'
--- a/lisp/autorevert.el 2013-07-04 09:39:36 +0000
+++ b/lisp/autorevert.el 2013-07-18 10:03:49 +0000
@@ -271,21 +271,20 @@
:type 'boolean
:version "24.4")
-(defcustom auto-revert-use-notify (and file-notify-support t)
+(defcustom auto-revert-use-notify
+ ;; We use the support of the local filesystem as default.
+ (file-notify-supported-p temporary-file-directory)
"If non-nil Auto Revert Mode uses file notification functions.
-This requires Emacs being compiled with file notification
-support (see `file-notify-support'). You should set this variable
-through Custom."
+You should set this variable through Custom."
:group 'auto-revert
:type 'boolean
:set (lambda (variable value)
- (set-default variable (and file-notify-support value))
+ (set-default variable value)
(unless (symbol-value variable)
- (when file-notify-support
- (dolist (buf (buffer-list))
- (with-current-buffer buf
- (when (symbol-value 'auto-revert-notify-watch-descriptor)
- (auto-revert-notify-rm-watch)))))))
+ (dolist (buf (buffer-list))
+ (with-current-buffer buf
+ (when (symbol-value 'auto-revert-notify-watch-descriptor)
+ (auto-revert-notify-rm-watch))))))
:initialize 'custom-initialize-default
:version "24.4")
@@ -513,7 +512,8 @@
(set (make-local-variable 'auto-revert-use-notify) nil))
(when (and buffer-file-name auto-revert-use-notify
- (not auto-revert-notify-watch-descriptor))
+ (not auto-revert-notify-watch-descriptor)
+ (file-notify-supported-p buffer-file-name))
(setq auto-revert-notify-watch-descriptor
(ignore-errors
(file-notify-add-watch
=== modified file 'lisp/filenotify.el'
--- a/lisp/filenotify.el 2013-07-04 09:39:36 +0000
+++ b/lisp/filenotify.el 2013-07-18 10:03:49 +0000
@@ -27,8 +27,7 @@
;;; Code:
-;;;###autoload
-(defconst file-notify-support
+(defconst file-notify--library
(cond
((featurep 'gfilenotify) 'gfilenotify)
((featurep 'inotify) 'inotify)
@@ -191,6 +190,17 @@
(funcall callback (list desc action file file1))
(funcall callback (list desc action file)))))))
+(defun file-notify-supported-p (file)
+ "Returns non-nil if filesystem pertaining to FILE could be watched."
+ (unless (stringp file)
+ (signal 'wrong-type-argument (list file)))
+ (setq file (expand-file-name file))
+
+ (let ((handler (find-file-name-handler file 'file-notify-supported-p)))
+ (if handler
+ (funcall handler 'file-notify-supported-p file)
+ (and file-notify--library t))))
+
(defun file-notify-add-watch (file flags callback)
"Add a watch for filesystem events pertaining to FILE.
This arranges for filesystem events pertaining to FILE to be reported
@@ -238,7 +248,7 @@
(let* ((handler (find-file-name-handler file 'file-notify-add-watch))
(dir (directory-file-name
- (if (or (and (not handler) (eq file-notify-support 'w32notify))
+ (if (or (and (not handler) (eq file-notify--library 'w32notify))
(file-directory-p file))
file
(file-name-directory file))))
@@ -259,32 +269,32 @@
;; Check, whether Emacs has been compiled with file
;; notification support.
- (unless file-notify-support
+ (unless file-notify--library
(signal 'file-notify-error
'("No file notification package available")))
;; Determine low-level function to be called.
(setq func (cond
- ((eq file-notify-support 'gfilenotify) 'gfile-add-watch)
- ((eq file-notify-support 'inotify) 'inotify-add-watch)
- ((eq file-notify-support 'w32notify) 'w32notify-add-watch)))
+ ((eq file-notify--library 'gfilenotify) 'gfile-add-watch)
+ ((eq file-notify--library 'inotify) 'inotify-add-watch)
+ ((eq file-notify--library 'w32notify)
'w32notify-add-watch)))
;; Determine respective flags.
- (if (eq file-notify-support 'gfilenotify)
+ (if (eq file-notify--library 'gfilenotify)
(setq l-flags '(watch-mounts send-moved))
(when (memq 'change flags)
(setq
l-flags
(cond
- ((eq file-notify-support 'inotify) '(create modify move delete))
- ((eq file-notify-support 'w32notify)
+ ((eq file-notify--library 'inotify) '(create modify move delete))
+ ((eq file-notify--library 'w32notify)
'(file-name directory-name size last-write-time)))))
(when (memq 'attribute-change flags)
(add-to-list
'l-flags
(cond
- ((eq file-notify-support 'inotify) 'attrib)
- ((eq file-notify-support 'w32notify) 'attributes)))))
+ ((eq file-notify--library 'inotify) 'attrib)
+ ((eq file-notify--library 'w32notify) 'attributes)))))
;; Call low-level function.
(setq desc (funcall func dir l-flags 'file-notify-callback))))
@@ -311,9 +321,9 @@
(funcall handler 'file-notify-rm-watch descriptor)
(funcall
(cond
- ((eq file-notify-support 'gfilenotify) 'gfile-rm-watch)
- ((eq file-notify-support 'inotify) 'inotify-rm-watch)
- ((eq file-notify-support 'w32notify) 'w32notify-rm-watch))
+ ((eq file-notify--library 'gfilenotify) 'gfile-rm-watch)
+ ((eq file-notify--library 'inotify) 'inotify-rm-watch)
+ ((eq file-notify--library 'w32notify) 'w32notify-rm-watch))
descriptor)))
(remhash descriptor file-notify-descriptors)))
=== modified file 'lisp/net/tramp-adb.el'
--- a/lisp/net/tramp-adb.el 2013-06-19 13:14:24 +0000
+++ b/lisp/net/tramp-adb.el 2013-07-18 10:03:49 +0000
@@ -108,6 +108,9 @@
(file-writable-p . tramp-adb-handle-file-writable-p)
(file-local-copy . tramp-adb-handle-file-local-copy)
(file-modes . tramp-handle-file-modes)
+ (file-notify-add-watch . ignore)
+ (file-notify-rm-watch . ignore)
+ (file-notify-supported-p . ignore)
(expand-file-name . tramp-adb-handle-expand-file-name)
(find-backup-file-name . tramp-handle-find-backup-file-name)
(directory-files . tramp-handle-directory-files)
=== modified file 'lisp/net/tramp-gvfs.el'
--- a/lisp/net/tramp-gvfs.el 2013-07-11 09:52:54 +0000
+++ b/lisp/net/tramp-gvfs.el 2013-07-18 10:03:49 +0000
@@ -435,6 +435,9 @@
(file-name-nondirectory . tramp-handle-file-name-nondirectory)
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
+ (file-notify-add-watch . ignore)
+ (file-notify-rm-watch . ignore)
+ (file-notify-supported-p . ignore)
(file-ownership-preserved-p . ignore)
(file-readable-p . tramp-gvfs-handle-file-readable-p)
(file-regular-p . tramp-handle-file-regular-p)
=== modified file 'lisp/net/tramp-sh.el'
--- a/lisp/net/tramp-sh.el 2013-07-14 18:45:50 +0000
+++ b/lisp/net/tramp-sh.el 2013-07-18 10:03:49 +0000
@@ -867,7 +867,8 @@
(set-file-acl . tramp-sh-handle-set-file-acl)
(vc-registered . tramp-sh-handle-vc-registered)
(file-notify-add-watch . tramp-sh-handle-file-notify-add-watch)
- (file-notify-rm-watch . tramp-sh-handle-file-notify-rm-watch))
+ (file-notify-rm-watch . tramp-sh-handle-file-notify-rm-watch)
+ (file-notify-supported-p . tramp-sh-handle-file-notify-supported-p))
"Alist of handler functions.
Operations not mentioned here will be handled by the normal Emacs functions.")
@@ -3498,6 +3499,13 @@
(tramp-message proc 6 (format "Kill %S" proc))
(kill-process proc))
+(defun tramp-sh-handle-file-notify-supported-p (file-name)
+ "Like `file-notify-supported-p' for Tramp files."
+ (with-parsed-tramp-file-name (expand-file-name file-name) nil
+ (and (or (tramp-get-remote-gvfs-monitor-dir v)
+ (tramp-get-remote-inotifywait v))
+ t)))
+
;;; Internal Functions:
(defun tramp-maybe-send-script (vec script name)
=== modified file 'lisp/net/tramp-smb.el'
--- a/lisp/net/tramp-smb.el 2013-01-21 09:49:43 +0000
+++ b/lisp/net/tramp-smb.el 2013-07-18 10:03:49 +0000
@@ -209,6 +209,9 @@
(file-name-nondirectory . tramp-handle-file-name-nondirectory)
;; `file-name-sans-versions' performed by default handler.
(file-newer-than-file-p . tramp-handle-file-newer-than-file-p)
+ (file-notify-add-watch . ignore)
+ (file-notify-rm-watch . ignore)
+ (file-notify-supported-p . ignore)
(file-ownership-preserved-p . ignore)
(file-readable-p . tramp-handle-file-exists-p)
(file-regular-p . tramp-handle-file-regular-p)
=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2013-07-11 09:52:54 +0000
+++ b/lisp/net/tramp.el 2013-07-18 10:03:49 +0000
@@ -1980,8 +1980,8 @@
;; Emacs 22+ only.
'set-file-times
;; Emacs 24+ only.
- 'file-acl 'file-notify-add-watch 'file-selinux-context
- 'set-file-acl 'set-file-selinux-context
+ 'file-acl 'file-notify-add-watch 'file-notify-supported-p
+ 'file-selinux-context 'set-file-acl 'set-file-selinux-context
;; XEmacs only.
'abbreviate-file-name 'create-file-buffer
'dired-file-modtime 'dired-make-compressed-filename
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r113447: * filenotify.el (file-notify--library): Renamed from,
Michael Albinus <=