bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12387: 24.2.50; File column printed by list-buffers is bad if done i


From: martin rudalics
Subject: bug#12387: 24.2.50; File column printed by list-buffers is bad if done in dired-mode
Date: Thu, 13 Sep 2012 11:37:07 +0200

> Seems that format-mode-line (as of ~ 1 month) fails to preserve
> current-buffer:
>
> Evalute in *scratch*:
>
> (let ((buffer (get-buffer "*Messages*")))
>   (with-current-buffer buffer
>     (message "1 %s" (current-buffer))
>     (format-mode-line mode-name nil nil buffer)
>     (message "2 %s" (current-buffer))))

Looks like a fallout from my

2012-08-20  Martin Rudalics  <rudalics@gmx.at>

        * window.c (select_window): Always make selected window's buffer
        current.

Does the patch below fix it?

martin

=== modified file 'src/xdisp.c'
--- src/xdisp.c 2012-09-12 00:14:50 +0000
+++ src/xdisp.c 2012-09-13 09:31:34 +0000
@@ -21039,8 +21039,7 @@
     : EQ (face, Qtool_bar) ? TOOL_BAR_FACE_ID
     : DEFAULT_FACE_ID;

-  if (XBUFFER (buffer) != current_buffer)
-    old_buffer = current_buffer;
+  old_buffer = current_buffer;

   /* Save things including mode_line_proptrans_alist,
      and set that to nil so that we don't alter the outer value.  */
@@ -21051,8 +21050,7 @@
   mode_line_proptrans_alist = Qnil;

   Fselect_window (window, Qt);
-  if (old_buffer)
-    set_buffer_internal_1 (XBUFFER (buffer));
+  set_buffer_internal_1 (XBUFFER (buffer));

   init_iterator (&it, w, -1, -1, NULL, face_id);








reply via email to

[Prev in Thread] Current Thread [Next in Thread]