]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix D-Bus event loop when executing a keyboard macro
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 29 Mar 2023 14:10:29 +0000 (16:10 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 29 Mar 2023 14:10:29 +0000 (16:10 +0200)
* lisp/net/dbus.el (dbus-call-method): Don't loop for events when
`executing-kbd-macro' is non-nil.  (Bug#62018)

lisp/net/dbus.el

index f35d11db152fe90692bb3d074ec51d9d4a7ee64f..fff860b05c369ec6a01d5dcb9112e37503b4d715 100644 (file)
@@ -371,7 +371,11 @@ object is returned instead of a list containing this single Lisp object.
         (apply
           #'dbus-message-internal dbus-message-type-method-call
           bus service path interface method #'dbus-call-method-handler args))
-        (result (cons :pending nil)))
+        (result (unless executing-kbd-macro (cons :pending nil))))
+
+    ;; While executing a keyboard macro, we run into an infinite loop,
+    ;; receiving the event -1.  So we don't try to get the result.
+    ;; (Bug#62018)
 
     ;; Wait until `dbus-call-method-handler' has put the result into
     ;; `dbus-return-values-table'.  If no timeout is given, use the