aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c45
1 files changed, 11 insertions, 34 deletions
diff --git a/src/window.c b/src/window.c
index 101fb3ff94f..c34e0d9300e 100644
--- a/src/window.c
+++ b/src/window.c
@@ -43,7 +43,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43#ifdef HAVE_X_WINDOWS 43#ifdef HAVE_X_WINDOWS
44#include "xterm.h" 44#include "xterm.h"
45#endif /* HAVE_X_WINDOWS */ 45#endif /* HAVE_X_WINDOWS */
46#ifdef WINDOWSNT 46#ifdef HAVE_NTGUI
47#include "w32term.h" 47#include "w32term.h"
48#endif 48#endif
49#ifdef MSDOS 49#ifdef MSDOS
@@ -1465,9 +1465,7 @@ if it isn't already recorded. */)
1465#endif 1465#endif
1466 1466
1467 if (! NILP (update) 1467 if (! NILP (update)
1468 && ! (! NILP (w->window_end_valid) 1468 && (windows_or_buffers_changed || NILP (w->window_end_valid))
1469 && w->last_modified >= BUF_MODIFF (b)
1470 && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b))
1471 && !noninteractive) 1469 && !noninteractive)
1472 { 1470 {
1473 struct text_pos startp; 1471 struct text_pos startp;
@@ -3342,7 +3340,7 @@ displaying that buffer. */)
3342 return Qnil; 3340 return Qnil;
3343} 3341}
3344 3342
3345 3343/* Obsolete since 24.3. */
3346void 3344void
3347temp_output_buffer_show (register Lisp_Object buf) 3345temp_output_buffer_show (register Lisp_Object buf)
3348{ 3346{
@@ -3395,16 +3393,6 @@ temp_output_buffer_show (register Lisp_Object buf)
3395 } 3393 }
3396 } 3394 }
3397} 3395}
3398
3399DEFUN ("internal-temp-output-buffer-show",
3400 Ftemp_output_buffer_show, Stemp_output_buffer_show,
3401 1, 1, 0,
3402 doc: /* Internal function for `with-output-to-temp-buffer'. */)
3403 (Lisp_Object buf)
3404{
3405 temp_output_buffer_show (buf);
3406 return Qnil;
3407}
3408 3396
3409/* Make new window, have it replace WINDOW in window-tree, and make 3397/* Make new window, have it replace WINDOW in window-tree, and make
3410 WINDOW its only vertical child (HORFLAG 1 means make WINDOW its only 3398 WINDOW its only vertical child (HORFLAG 1 means make WINDOW its only
@@ -3796,6 +3784,8 @@ resize_frame_windows (struct frame *f, int size, int horflag)
3796 (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); 3784 (m, make_number (XINT (r->top_line) + XINT (r->total_lines)));
3797 } 3785 }
3798 } 3786 }
3787
3788 windows_or_buffers_changed++;
3799} 3789}
3800 3790
3801 3791
@@ -4212,6 +4202,7 @@ grow_mini_window (struct window *w, int delta)
4212 w->last_modified = 0; 4202 w->last_modified = 0;
4213 w->last_overlay_modified = 0; 4203 w->last_overlay_modified = 0;
4214 4204
4205 windows_or_buffers_changed++;
4215 adjust_glyphs (f); 4206 adjust_glyphs (f);
4216 unblock_input (); 4207 unblock_input ();
4217 } 4208 }
@@ -4249,6 +4240,7 @@ shrink_mini_window (struct window *w)
4249 w->last_modified = 0; 4240 w->last_modified = 0;
4250 w->last_overlay_modified = 0; 4241 w->last_overlay_modified = 0;
4251 4242
4243 windows_or_buffers_changed++;
4252 adjust_glyphs (f); 4244 adjust_glyphs (f);
4253 unblock_input (); 4245 unblock_input ();
4254 } 4246 }
@@ -6425,15 +6417,8 @@ optional second arg PIXELS-P means value is measured in pixels. */)
6425 (Lisp_Object window, Lisp_Object pixels_p) 6417 (Lisp_Object window, Lisp_Object pixels_p)
6426{ 6418{
6427 Lisp_Object result; 6419 Lisp_Object result;
6428 struct frame *f; 6420 struct window *w = decode_live_window (window);
6429 struct window *w; 6421 struct frame *f = XFRAME (w->frame);
6430
6431 if (NILP (window))
6432 window = selected_window;
6433 else
6434 CHECK_WINDOW (window);
6435 w = XWINDOW (window);
6436 f = XFRAME (w->frame);
6437 6422
6438 if (FRAME_WINDOW_P (f)) 6423 if (FRAME_WINDOW_P (f))
6439 result = (NILP (pixels_p) 6424 result = (NILP (pixels_p)
@@ -6457,18 +6442,11 @@ result of this rounding.
6457If PIXELS-P is non-nil, the return value is VSCROLL. */) 6442If PIXELS-P is non-nil, the return value is VSCROLL. */)
6458 (Lisp_Object window, Lisp_Object vscroll, Lisp_Object pixels_p) 6443 (Lisp_Object window, Lisp_Object vscroll, Lisp_Object pixels_p)
6459{ 6444{
6460 struct window *w; 6445 struct window *w = decode_live_window (window);
6461 struct frame *f; 6446 struct frame *f = XFRAME (w->frame);
6462 6447
6463 if (NILP (window))
6464 window = selected_window;
6465 else
6466 CHECK_WINDOW (window);
6467 CHECK_NUMBER_OR_FLOAT (vscroll); 6448 CHECK_NUMBER_OR_FLOAT (vscroll);
6468 6449
6469 w = XWINDOW (window);
6470 f = XFRAME (w->frame);
6471
6472 if (FRAME_WINDOW_P (f)) 6450 if (FRAME_WINDOW_P (f))
6473 { 6451 {
6474 int old_dy = w->vscroll; 6452 int old_dy = w->vscroll;
@@ -6925,7 +6903,6 @@ respectively are not installed by `window-state-put'. */);
6925 defsubr (&Srun_window_configuration_change_hook); 6903 defsubr (&Srun_window_configuration_change_hook);
6926 defsubr (&Sselect_window); 6904 defsubr (&Sselect_window);
6927 defsubr (&Sforce_window_update); 6905 defsubr (&Sforce_window_update);
6928 defsubr (&Stemp_output_buffer_show);
6929 defsubr (&Ssplit_window_internal); 6906 defsubr (&Ssplit_window_internal);
6930 defsubr (&Sscroll_up); 6907 defsubr (&Sscroll_up);
6931 defsubr (&Sscroll_down); 6908 defsubr (&Sscroll_down);