]> git.eshelyaron.com Git - emacs.git/commitdiff
(redisplay_internal): Reset selected_frame earlier.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 26 Mar 2008 18:11:47 +0000 (18:11 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 26 Mar 2008 18:11:47 +0000 (18:11 +0000)
src/ChangeLog
src/xdisp.c

index 3dd9051e454441c002cc790751cd9e65a69d3638..a246449bfb72c4e1f8a64790c12043be9e745612 100644 (file)
@@ -1,5 +1,7 @@
 2008-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * xdisp.c (redisplay_internal): Reset selected_frame earlier.
+
        * indent.c (scan_for_column): Extract from current_column_1.
        Merge with the same code from Fmove_to_column.
        (current_column_1, Fmove_to_column): Use it.
index d075d34bb1fbfb48221920581cca4f431a332079..70db580bb0d73563ece89fa54e488359a05b26b2 100644 (file)
@@ -11636,6 +11636,14 @@ redisplay_internal (preserve_echo_area)
            }
        }
 
+      if (!EQ (old_frame, selected_frame)
+         && FRAME_LIVE_P (XFRAME (old_frame)))
+       /* We played a bit fast-and-loose above and allowed selected_frame
+          and selected_window to be temporarily out-of-sync but let's make
+          sure this stays contained.  */
+       select_frame_for_redisplay (old_frame);
+      eassert (EQ (XFRAME (selected_frame)->selected_window, selected_window));
+
       if (!pause)
        {
          /* Do the mark_window_display_accurate after all windows have