Subject: bug#16084: 24.3.50; Modeline update problem

From: martin rudalics <[email-masked]>
Date: Sat, 07 Dec 2013 13:23:56 +0100

With emacs -Q for today's trunk insert the following text into *scratch*
and eval the buffer.

(switch-to-buffer (get-buffer-create "buffer-1"))

(defun foo ()
   (interactive)
   (cond
    ((equal (buffer-name) "buffer-1")
     (switch-to-buffer (get-buffer-create "buffer-2")))
    ((equal (buffer-name) "buffer-2")
     (switch-to-buffer (get-buffer-create "buffer-3")))
    ((equal (buffer-name) "buffer-3")
     (switch-to-buffer (get-buffer-create "buffer-1")))))

(global-set-key [(control .)] 'foo)

Now typing C-. updates the modeline only the first time one of these
buffers is displayed.  After that, the modeline sticks to buffer-3 here.
If I now modify the current buffer, the modeline changes again but
ceases to do so the next time the buffer is displayed.

Instead of C-. I can also use menu-bar-select-buffer-function.

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
  of 2013-12-07 on MACHNO
Bzr revision: 115403 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600

martin