+2009-07-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * 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>.
+
2009-07-26 Chong Yidong <cyd@stupidchicken.com>
* view.el (view-mode-enable): Don't define Helper-return-blurb if
'dbus-call-method-non-blocking-handler args)))
;; Wait until `dbus-call-method-non-blocking-handler' has put the
;; result into `dbus-return-values-table'.
- (while (not (gethash key dbus-return-values-table nil))
+ (while (eq (gethash key dbus-return-values-table :ignore) :ignore)
(read-event nil nil 0.1))
;; Cleanup `dbus-return-values-table'. Return the result.
;; Return a message when it is a message call.
(when (= dbus-message-type-method-call (nth 2 event))
(dbus-ignore-errors
- (apply 'dbus-method-return-internal
- (nth 1 event) (nth 3 event) (nth 4 event)
- (if (consp result) result (list result))))))
+ (if (eq result :ignore)
+ (dbus-method-return-internal
+ (nth 1 event) (nth 3 event) (nth 4 event))
+ (apply 'dbus-method-return-internal
+ (nth 1 event) (nth 3 event) (nth 4 event)
+ (if (consp result) result (list result)))))))
;; Error handling.
(dbus-error
;; Return an error message when it is a message call.