Hi there, I'm having a nasty bug and just spent an hour tracking it down. I'm using `erc-desktop-notifications' to get IRC messages sent with my nickname over D-Bus using `notifications-notify'. This function calls `dbus-call-method' which contains the following snippet at the end: (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))))))) This `read-event' call causes me trouble. Basically what happens, is that it changes the ERC buffer in a very subtle way so that the last line is then on top. Basically, the buffer is supposed to be shown as: /----- | ohla | hey | how are you jd? | [#bar] \----- But because of this `read-event' call, the buffer is "recentered to the top" and I finally see this instead: /----- | how are you jd? | [#bar] | | \----- Which is utterly inconvenient. I've tried adding `save-excursion' around (read-event), but that doesn't change anything. I wonder what this function can do that changes the buffer, and in any way, that doesn't look like an expected and right side effect. Hint? -- Julien Danjou # Free Software hacker # freelance consultant # http://julien.danjou.info