aboutsummaryrefslogtreecommitdiffstats
path: root/src/scroll.c
diff options
context:
space:
mode:
authorStephen Berman2013-06-14 22:07:55 +0200
committerStephen Berman2013-06-14 22:07:55 +0200
commitbd358779861f265a7acff31ead40172735af693e (patch)
tree345217a9889dbd29b09bdc80a94265c17719d41f /src/scroll.c
parent2a97b47f0878cbda86cb6ba0e7e744924810b70e (diff)
parentf7394b12358ae453a0c8b85fc307afc1b740010d (diff)
downloademacs-bd358779861f265a7acff31ead40172735af693e.tar.gz
emacs-bd358779861f265a7acff31ead40172735af693e.zip
Merge from trunk.
Diffstat (limited to 'src/scroll.c')
-rw-r--r--src/scroll.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/scroll.c b/src/scroll.c
index 79dd464b29e..037e338c696 100644
--- a/src/scroll.c
+++ b/src/scroll.c
@@ -1,7 +1,7 @@
1/* Calculate what line insertion or deletion to do, and do it 1/* Calculate what line insertion or deletion to do, and do it
2 2
3Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2012 3Copyright (C) 1985-1986, 1990, 1993-1994, 2001-2013 Free Software
4 Free Software Foundation, Inc. 4Foundation, Inc.
5 5
6This file is part of GNU Emacs. 6This file is part of GNU Emacs.
7 7
@@ -21,7 +21,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#include <config.h> 22#include <config.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <setjmp.h> 24
25#include "lisp.h" 25#include "lisp.h"
26#include "termchar.h" 26#include "termchar.h"
27#include "dispextern.h" 27#include "dispextern.h"
@@ -246,9 +246,8 @@ do_scrolling (struct frame *frame, struct glyph_matrix *current_matrix,
246 struct matrix_elt *p; 246 struct matrix_elt *p;
247 int i, j, k; 247 int i, j, k;
248 248
249 /* Set to 1 if we have set a terminal window with 249 /* True if we have set a terminal window with set_terminal_window. */
250 set_terminal_window. It's unsigned to work around GCC bug 48228. */ 250 bool terminal_window_p = 0;
251 unsigned int terminal_window_p = 0;
252 251
253 /* A queue for line insertions to be done. */ 252 /* A queue for line insertions to be done. */
254 struct queue { int count, pos; }; 253 struct queue { int count, pos; };
@@ -657,18 +656,16 @@ do_direct_scrolling (struct frame *frame, struct glyph_matrix *current_matrix,
657 alloca (window_size * sizeof *queue_start); 656 alloca (window_size * sizeof *queue_start);
658 struct alt_queue *queue = queue_start; 657 struct alt_queue *queue = queue_start;
659 658
660 /* Set to 1 if a terminal window has been set with 659 /* True if a terminal window has been set with set_terminal_window. */
661 set_terminal_window: */ 660 bool terminal_window_p = 0;
662 int terminal_window_p = 0;
663 661
664 /* A nonzero value of write_follows indicates that a write has been 662 /* If true, a write has been selected, allowing either an insert or a
665 selected, allowing either an insert or a delete to be selected 663 delete to be selected next. If false, a delete cannot be selected
666 next. When write_follows is zero, a delete cannot be selected
667 unless j < i, and an insert cannot be selected unless i < j. 664 unless j < i, and an insert cannot be selected unless i < j.
668 This corresponds to a similar restriction (with the ordering 665 This corresponds to a similar restriction (with the ordering
669 reversed) in calculate_direct_scrolling, which is intended to 666 reversed) in calculate_direct_scrolling, which is intended to
670 ensure that lines marked as inserted will be blank. */ 667 ensure that lines marked as inserted will be blank. */
671 int write_follows_p = 1; 668 bool write_follows_p = 1;
672 669
673 /* For each row in the new matrix what row of the old matrix it is. */ 670 /* For each row in the new matrix what row of the old matrix it is. */
674 int *copy_from = alloca (window_size * sizeof *copy_from); 671 int *copy_from = alloca (window_size * sizeof *copy_from);