From: Michael Albinus Date: Wed, 28 Jan 2009 16:07:33 +0000 (+0000) Subject: * dbus.texi (Errors and Events): Fix typos. Describe second parameter X-Git-Tag: emacs-pretest-23.0.90~109 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=74fc50477b4ee46026a4418d3682c30187130efe;p=emacs.git * dbus.texi (Errors and Events): Fix typos. Describe second parameter of hook functions. --- diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 0155df5acd2..7f6b4c3f325 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2009-01-28 Michael Albinus + + * dbus.texi (Errors and Events): Fix typos. Describe second parameter + of hook functions. + 2009-01-28 Carsten Dominik * org.texi (TODO dependencies): New section. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index a6d042a8500..c012647144e 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -1525,11 +1525,11 @@ Returns the object path of the D-Bus object @var{event} is coming from. @end defun @defun dbus-event-interface-name event -Returns the interface name of of the D-Bus object @var{event} is coming from. +Returns the interface name of the D-Bus object @var{event} is coming from. @end defun @defun dbus-event-member-name event -Returns the member name of of the D-Bus object @var{event} is coming +Returns the member name of the D-Bus object @var{event} is coming from. It is either a signal name or a method name. @end defun @@ -1541,17 +1541,27 @@ handled by a hook function. @defvar dbus-event-error-hooks This hook variable keeps a list of functions, which are called when a D-Bus error happens in the event handler. Every function must accept -one argument, the error variable catched in @code{condition-case} by -@code{dbus-error}. Example: +two arguments, the event and the error variable catched in +@code{condition-case} by @code{dbus-error}. + +Such functions can be used the adapt the error signal to be raised. +Example: @lisp -(defun my-dbus-event-error-handler (err) - (message "my-dbus-event-error-handler: %S" (cadr err))) +(defun my-dbus-event-error-handler (event error) + (when (string-equal (concat dbus-service-emacs ".FileManager") + (dbus-event-interface-name event)) + (message "my-dbus-event-error-handler: %S %S" event error) + (signal 'file-error (cdr error)))) (add-hook 'dbus-event-error-hooks 'my-dbus-event-error-handler) @end lisp @end defvar +Hook functions shall take into account, that there might be other +D-Bus applications running. Therefore, they shall check carefully, +whether a given D-Bus error is related to them. + @node GNU Free Documentation License @appendix GNU Free Documentation License