Subject: 24.2.50; File column printed by list-buffers is bad if done in dired-mode

From: [email-masked]
Date: Sat, 08 Sep 2012 08:50:28 -0700

Start emacs (latest bzr version as of Sep 6, 2012) with -q option.
Type `C-x C-B'.  The content of *Buffer *List should be as expected, e.g.,

    .%  *GNU Emacs*             809 Fundamental      
        *scratch*               191 Lisp Interaction 
      * *Messages*               66 Fundamental      

Now bring up any buffer in dired mode, e.g., C-x C-f followed by "/etc" and
RETURN.  While current buffer is within a dired-mode, hit `C-x C-B' again.  The
last column (the File column) incorrectly shows that the values are all "/etc/":

    .%  etc                   18180 Dired by name    /etc/
     %  *GNU Emacs*             809 Fundamental      /etc/
        *scratch*               191 Lisp Interaction /etc/
      * *Messages*               85 Fundamental      /etc/

Now switch to *Buffer List* buffer, then hit 'g' to refresh the content.
Now it shows

     %  etc                   18180 Dired by name    
     %  *GNU Emacs*             809 Fundamental      
        *scratch*               191 Lisp Interaction 
      * *Messages*               85 Fundamental      

Following is a work-around that I cooked up for my own use till this bug is fixed.
This also should clarify what the problem is.

(defadvice list-buffers 
  (after unset-buffer-file-name-in-dired-mode activate compile)
  "This works around a bug in emacs-trunk introduced around Aug 2012 where
list-buffers shows invalid entries in the File column displayed when the
list-buffers is executed within dired buffer.  The work around is to refresh
the content of the *Buffer List* buffer after making sure that current buffer
is not a buffer in dired-mode."
  (when (eq major-mode 'dired-mode)
    (save-excursion
      (other-window 1)
      (revert-buffer))))

In GNU Emacs 24.2.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10)
 of 2012-09-08 on kimr-laptop
Bzr revision: 109937 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
Configured using:
 `configure '--prefix' '/u/kimr/usr''