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

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 13 May 2012 09:13:02 +0000

Your bug report

#11447: 24.1.50; notifications-notify eats keystrokes

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
11447: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11447
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#11447: 24.1.50; notifications-notify eats keystrokes
From: Michael Albinus <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: Peter Münster <[email-masked]>, [email-masked]
Date: Sun, 13 May 2012 11:11:43 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Stefan Monnier <[email-masked]> writes:

> I think I understand what you mean: you mean that while you do `sit-for'
> you actually want to run the code associated with the incoming events,
> since that code might be the one which changes dbus-return-values-table.

Yes.

> So, indeed sit-for and input-pending-p won't cut it.  Your code looks
> OK, then, though you don't need to use a 0.1 timeout, AFAICT.

OK, I remove the timeout.

> And in order to avoid the (let (unread-command-events) ...), I'd do
> something like:
>
>    (let ((seen ()))
>      (unwind-protect
>          (let ((event (read-event)))
>            (when (and event (not (ignore-errors (dbus-check-event event))))
>              (push event seen)))
>        (setq unread-command-events
>              (append unread-command-events (nreverse seen)))))

Unfortunately, it doesn't work either. When unread-command-events is
non-nil, read-event takes the events from there instead of reading them
from the input streams. This happens after the first time a character
has been read in the loop, before the awaited D-Bus event did arrive.

I've committed my original patch (minus the read-event timeout). Bug is
closed.

> -- Stefan

Best regards, Michael.

Subject: 24.1.50; notifications-notify eats keystrokes
From: Peter Münster <[email-masked]>
To: [email-masked]
Date: Thu, 10 May 2012 22:45:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Please try the following code:

--8<---------------cut here---------------start------------->8---
(require 'notifications)

(defun test-func ()
  (notifications-notify
   :title     "Test"
   :timeout   1000))

(run-with-timer 2 2 'test-func)                    
--8<---------------cut here---------------end--------------->8---

with "emacs -Q" (latest version from trunk).

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

Cheers, Peter

In GNU Emacs 24.1.50.2 (x86_64-suse-linux-gnu, GTK+ Version 2.22.1)
 of 2012-05-10 on micropit
Bzr revision: 108190 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10903000
Configured using:
 `configure '--without-toolkit-scroll-bars''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_GB.utf8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

-- 
           Peter