aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorJim Blandy1991-07-19 16:05:34 +0000
committerJim Blandy1991-07-19 16:05:34 +0000
commit62c07cc72d59a0466680c0d5328aeac66c0eff99 (patch)
treeae6f9f7a7692118a5bb3e4b31d6530890778e385 /src/window.c
parentb4da00e92a09a2ee2cfb5df2ec111636c66e1597 (diff)
downloademacs-62c07cc72d59a0466680c0d5328aeac66c0eff99.tar.gz
emacs-62c07cc72d59a0466680c0d5328aeac66c0eff99.zip
*** empty log message ***
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/window.c b/src/window.c
index aa1d9b1bcdc..8c5d5fd7f26 100644
--- a/src/window.c
+++ b/src/window.c
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
18along with GNU Emacs; see the file COPYING. If not, write to 18along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ 19the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20 20
21#include <stdio.h>
21 22
22#include "config.h" 23#include "config.h"
23#include "lisp.h" 24#include "lisp.h"
@@ -27,6 +28,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
27#include "commands.h" 28#include "commands.h"
28#include "indent.h" 29#include "indent.h"
29#include "termchar.h" 30#include "termchar.h"
31#include "termhooks.h"
30#include "disptab.h" 32#include "disptab.h"
31 33
32Lisp_Object Qwindowp; 34Lisp_Object Qwindowp;
@@ -350,7 +352,6 @@ window_from_coordinates (screen, x, y, modeline_p)
350 352
351 if (found) 353 if (found)
352 { 354 {
353
354 *modeline_p = (found == -1); 355 *modeline_p = (found == -1);
355 return tem; 356 return tem;
356 } 357 }
@@ -458,6 +459,8 @@ from overriding motion of point in order to display at this exact start.")
458 w->force_start = Qt; 459 w->force_start = Qt;
459 w->update_mode_line = Qt; 460 w->update_mode_line = Qt;
460 XFASTINT (w->last_modified) = 0; 461 XFASTINT (w->last_modified) = 0;
462 if (!EQ (window, selected_window))
463 windows_or_buffers_changed++;
461 return pos; 464 return pos;
462} 465}
463 466
@@ -897,7 +900,7 @@ global minibuffer screen is in use and MINIBUF is t, all screens are used.")
897 return window; 900 return window;
898} 901}
899 902
900DEFUN ("other-window", Fother_window, Sother_window, 1, 1, "p", 903DEFUN ("other-window", Fother_window, Sother_window, 1, 2, "p",
901 "Select the ARG'th different window on this screen.\n\ 904 "Select the ARG'th different window on this screen.\n\
902All windows on current screen are arranged in a cyclic order.\n\ 905All windows on current screen are arranged in a cyclic order.\n\
903This command selects the window ARG steps away in that order.\n\ 906This command selects the window ARG steps away in that order.\n\
@@ -1392,13 +1395,24 @@ before each command.")
1392 1395
1393 selected_window = window; 1396 selected_window = window;
1394#ifdef MULTI_SCREEN 1397#ifdef MULTI_SCREEN
1395 if (XSCREEN (WINDOW_SCREEN (w)) != selected_screen) 1398 /* If we're selecting the minibuffer window of the selected screen,
1399 don't change the selected screen, even if the minibuffer is on
1400 a different screen. */
1401 if (XSCREEN (WINDOW_SCREEN (w)) != selected_screen
1402 && ! EQ (SCREEN_MINIBUF_WINDOW (selected_screen), window))
1396 { 1403 {
1397 XSCREEN (WINDOW_SCREEN (w))->selected_window = window; 1404 XSCREEN (WINDOW_SCREEN (w))->selected_window = window;
1398 Fselect_screen (WINDOW_SCREEN (w), Qnil); 1405 Fselect_screen (WINDOW_SCREEN (w), Qnil);
1399 } 1406 }
1400 else 1407 else
1401 selected_screen->selected_window = window; 1408 selected_screen->selected_window = window;
1409
1410 /* When using the global minibuffer screen, we want the highlight to
1411 go to the minibuffer's screen, and when we finish, we want the highlight
1412 to return to the original screen. Call the hook to put the highlight
1413 where it belongs. */
1414 if (screen_rehighlight_hook)
1415 (*screen_rehighlight_hook) ();
1402#endif 1416#endif
1403 1417
1404 record_buffer (w->buffer); 1418 record_buffer (w->buffer);