Mercurial > emacs
changeset 109293:1cedbb610cc1
* net/zeroconf.el (zeroconf-service-remove-hook): New defun.
author | Michael Albinus <albinus@detlef> |
---|---|
date | Sat, 03 Jul 2010 12:52:17 +0200 |
parents | 69cc7cbe898b |
children | 6e3815c69ab4 |
files | lisp/ChangeLog lisp/net/zeroconf.el |
diffstat | 2 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Jul 03 11:43:45 2010 +0200 +++ b/lisp/ChangeLog Sat Jul 03 12:52:17 2010 +0200 @@ -1,3 +1,7 @@ +2010-07-03 Jan Moringen <jan.moringen@uni-bielefeld.de> + + * net/zeroconf.el (zeroconf-service-remove-hook): New defun. + 2010-06-30 Dan Nicolaescu <dann@ics.uci.edu> Avoid displaying files with a nil state in vc-dir.
--- a/lisp/net/zeroconf.el Sat Jul 03 11:43:45 2010 +0200 +++ b/lisp/net/zeroconf.el Sat Jul 03 12:52:17 2010 +0200 @@ -336,6 +336,23 @@ (puthash type l-hook zeroconf-service-removed-hooks-hash))) (t (error "EVENT must be either `:new' or `:removed'")))) +(defun zeroconf-service-remove-hook (type event function) + "Remove FUNCTION from the hook of service type TYPE. + +EVENT must be either :new or :removed and has to match the event +type used when registering FUNCTION." + (let* ((table (cond + ((equal event :new) + zeroconf-service-added-hooks-hash) + ((equal event :removed) + zeroconf-service-removed-hooks-hash) + (t (error "EVENT must be either `:new' or `:removed'")))) + (l-hook (gethash type table nil))) + (remove-hook 'l-hook function) + (if l-hook + (puthash type l-hook table) + (remhash type table)))) + (defun zeroconf-get-host () "Returns the local host name as string." (dbus-call-method