aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2009-01-26 20:26:52 +0000
committerMichael Albinus2009-01-26 20:26:52 +0000
commite12c189f6603088a38752c4f7dea34d5a37e5279 (patch)
tree964eef993684ee7a4008819d0800f68f7c4df854
parente74335088374a8b38d3f4f763030eb648a01f801 (diff)
downloademacs-e12c189f6603088a38752c4f7dea34d5a37e5279.tar.gz
emacs-e12c189f6603088a38752c4f7dea34d5a37e5279.zip
* net/dbus.el (dbus-event-error-hooks): New variable.
(dbus-handle-event): Use it.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/dbus.el6
2 files changed, 11 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 141ea0dd53e..8dbaebaf440 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12009-01-26 Michael Albinus <michael.albinus@gmx.de>
2
3 * net/dbus.el (dbus-event-error-hooks): New variable.
4 (dbus-handle-event): Use it.
5
12009-01-26 Glenn Morris <rgm@gnu.org> 62009-01-26 Glenn Morris <rgm@gnu.org>
2 7
3 * Makefile.in (ELCFILES): Update. 8 * Makefile.in (ELCFILES): Update.
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el
index ee20db9ac34..39247b0b62d 100644
--- a/lisp/net/dbus.el
+++ b/lisp/net/dbus.el
@@ -97,6 +97,11 @@ Otherwise, return result of last form in BODY, or all other errors."
97(put 'dbus-ignore-errors 'edebug-form-spec '(form body)) 97(put 'dbus-ignore-errors 'edebug-form-spec '(form body))
98(font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>")) 98(font-lock-add-keywords 'emacs-lisp-mode '("\\<dbus-ignore-errors\\>"))
99 99
100(defvar dbus-event-error-hooks nil
101 "Functions to be called when a D-Bus error happens in the event handler.
102Every function must accept one argument, the error variable
103catched in `condition-case' by `dbus-error'.")
104
100 105
101;;; Hash table of registered functions. 106;;; Hash table of registered functions.
102 107
@@ -374,6 +379,7 @@ If the HANDLER returns an `dbus-error', it is propagated as return message."
374 (dbus-method-error-internal 379 (dbus-method-error-internal
375 (nth 1 event) (nth 3 event) (nth 4 event) (cadr err)))) 380 (nth 1 event) (nth 3 event) (nth 4 event) (cadr err))))
376 ;; Propagate D-Bus error messages. 381 ;; Propagate D-Bus error messages.
382 (run-hook-with-args 'dbus-event-error-hooks err)
377 (when (or dbus-debug (= dbus-message-type-error (nth 2 event))) 383 (when (or dbus-debug (= dbus-message-type-error (nth 2 event)))
378 (signal (car err) (cdr err)))))) 384 (signal (car err) (cdr err))))))
379 385