diff options
| author | Michael Albinus | 2009-07-27 10:02:50 +0000 |
|---|---|---|
| committer | Michael Albinus | 2009-07-27 10:02:50 +0000 |
| commit | 3dec5c364b365689949a7d8b92682562dfa41da6 (patch) | |
| tree | 2fddfe529d62349c4aa0a530141db3f1106a8aa3 | |
| parent | a8c0cc186d6d37a07ab2bfe50e4a0a46abe663ce (diff) | |
| download | emacs-3dec5c364b365689949a7d8b92682562dfa41da6.tar.gz emacs-3dec5c364b365689949a7d8b92682562dfa41da6.zip | |
* net/dbus.el (dbus-call-method-non-blocking): Handle the case the
function returns nil.
(dbus-handle-event): Handle special return value :ignore.
Reported by Jan Moringen <jan.moringen@uni-bielefeld.de>.
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/net/dbus.el | 11 |
2 files changed, 14 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a126b939a19..7922b083a9f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2009-07-27 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * net/dbus.el (dbus-call-method-non-blocking): Handle the case the | ||
| 4 | function returns nil. | ||
| 5 | (dbus-handle-event): Handle special return value :ignore. | ||
| 6 | Reported by Jan Moringen <jan.moringen@uni-bielefeld.de>. | ||
| 7 | |||
| 1 | 2009-07-26 Chong Yidong <cyd@stupidchicken.com> | 8 | 2009-07-26 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 9 | ||
| 3 | * view.el (view-mode-enable): Don't define Helper-return-blurb if | 10 | * view.el (view-mode-enable): Don't define Helper-return-blurb if |
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index f586a4125de..894d7c63787 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el | |||
| @@ -184,7 +184,7 @@ usage: (dbus-call-method-non-blocking | |||
| 184 | 'dbus-call-method-non-blocking-handler args))) | 184 | 'dbus-call-method-non-blocking-handler args))) |
| 185 | ;; Wait until `dbus-call-method-non-blocking-handler' has put the | 185 | ;; Wait until `dbus-call-method-non-blocking-handler' has put the |
| 186 | ;; result into `dbus-return-values-table'. | 186 | ;; result into `dbus-return-values-table'. |
| 187 | (while (not (gethash key dbus-return-values-table nil)) | 187 | (while (eq (gethash key dbus-return-values-table :ignore) :ignore) |
| 188 | (read-event nil nil 0.1)) | 188 | (read-event nil nil 0.1)) |
| 189 | 189 | ||
| 190 | ;; Cleanup `dbus-return-values-table'. Return the result. | 190 | ;; Cleanup `dbus-return-values-table'. Return the result. |
| @@ -368,9 +368,12 @@ If the HANDLER returns an `dbus-error', it is propagated as return message." | |||
| 368 | ;; Return a message when it is a message call. | 368 | ;; Return a message when it is a message call. |
| 369 | (when (= dbus-message-type-method-call (nth 2 event)) | 369 | (when (= dbus-message-type-method-call (nth 2 event)) |
| 370 | (dbus-ignore-errors | 370 | (dbus-ignore-errors |
| 371 | (apply 'dbus-method-return-internal | 371 | (if (eq result :ignore) |
| 372 | (nth 1 event) (nth 3 event) (nth 4 event) | 372 | (dbus-method-return-internal |
| 373 | (if (consp result) result (list result)))))) | 373 | (nth 1 event) (nth 3 event) (nth 4 event)) |
| 374 | (apply 'dbus-method-return-internal | ||
| 375 | (nth 1 event) (nth 3 event) (nth 4 event) | ||
| 376 | (if (consp result) result (list result))))))) | ||
| 374 | ;; Error handling. | 377 | ;; Error handling. |
| 375 | (dbus-error | 378 | (dbus-error |
| 376 | ;; Return an error message when it is a message call. | 379 | ;; Return an error message when it is a message call. |