emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r111232: * src/xdisp.c (display_mode_


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111232: * src/xdisp.c (display_mode_lines): Keep selected_window and selected_frame
Date: Fri, 14 Dec 2012 10:52:43 -0500
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111232
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2012-12-14 10:52:43 -0500
message:
  * src/xdisp.c (display_mode_lines): Keep selected_window and selected_frame
  in sync.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-12-14 15:38:50 +0000
+++ b/src/ChangeLog     2012-12-14 15:52:43 +0000
@@ -1,7 +1,7 @@
 2012-12-14  Stefan Monnier  <address@hidden>
 
-       * xdisp.c (select_frame_for_redisplay): Keep selected_window and
-       selected_frame in sync.
+       * xdisp.c (select_frame_for_redisplay, display_mode_lines):
+       Keep selected_window and selected_frame in sync.
 
 2012-12-14  Eli Zaretskii  <address@hidden>
 

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-12-14 15:38:50 +0000
+++ b/src/xdisp.c       2012-12-14 15:52:43 +0000
@@ -20354,12 +20354,13 @@
 static int
 display_mode_lines (struct window *w)
 {
-  Lisp_Object old_selected_window, old_selected_frame;
+  Lisp_Object old_selected_window = selected_window;
+  Lisp_Object old_selected_frame = selected_frame;
+  Lisp_Object new_frame = w->frame;
+  Lisp_Object old_frame_selected_window = XFRAME (new_frame)->selected_window;
   int n = 0;
 
-  old_selected_frame = selected_frame;
   selected_frame = w->frame;
-  old_selected_window = selected_window;
   XSETWINDOW (selected_window, w);
 
   /* These will be set while the mode line specs are processed.  */
@@ -20383,6 +20384,7 @@
       ++n;
     }
 
+  XFRAME (new_frame)->selected_window = old_frame_selected_window;
   selected_frame = old_selected_frame;
   selected_window = old_selected_window;
   return n;


reply via email to

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