Subject: Re: bug#11447: 24.1.50; notifications-notify eats keystrokes

From: Michael Albinus <[email-masked]>
Date: Fri, 11 May 2012 10:07:10 +0200

Peter Münster <[email-masked]> writes:

> Hello,

Hi Peter,

> Then just type some text and you'll see, that some of the letters, that
> you type, will be missing in the buffer.

Could you, please, check the following patch:

--8<---------------cut here---------------start------------->8---
*** /home/albinus/src/emacs/lisp/net/dbus.el.~108190~
--- /home/albinus/src/emacs/lisp/net/dbus.el
***************
*** 263,274 ****
  	 (apply
  	  'dbus-message-internal dbus-message-type-method-call
  	  bus service path interface method 'dbus-call-method-handler args)))
      ;; Wait until `dbus-call-method-handler' has put the result into
      ;; `dbus-return-values-table'.  If no timeout is given, use the
!     ;; default 25".
      (with-timeout ((if timeout (/ timeout 1000.0) 25))
        (while (eq (gethash key dbus-return-values-table :ignore) :ignore)
! 	(read-event nil nil 0.1)))
  
      ;; Cleanup `dbus-return-values-table'.  Return the result.
      (prog1
--- 263,278 ----
  	 (apply
  	  'dbus-message-internal dbus-message-type-method-call
  	  bus service path interface method 'dbus-call-method-handler args)))
+ 
      ;; Wait until `dbus-call-method-handler' has put the result into
      ;; `dbus-return-values-table'.  If no timeout is given, use the
!     ;; default 25".  Events which are not from D-Bus must be restored.
      (with-timeout ((if timeout (/ timeout 1000.0) 25))
        (while (eq (gethash key dbus-return-values-table :ignore) :ignore)
! 	(let ((event (let (unread-command-events) (read-event nil nil 0.1))))
! 	  (when (and event (not (ignore-errors (dbus-check-event event))))
! 	    (setq unread-command-events
! 		  (append unread-command-events (list event)))))))
  
      ;; Cleanup `dbus-return-values-table'.  Return the result.
      (prog1
--8<---------------cut here---------------end--------------->8---

> Cheers, Peter

Best regards, Michael.