Mercurial > emacs
diff src/scroll.c @ 88155:d7ddb3e565de
sync with trunk
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 16 Jan 2006 00:03:54 +0000 |
parents | 23a1cea22d13 |
children |
line wrap: on
line diff
--- a/src/scroll.c Sun Jan 15 23:02:10 2006 +0000 +++ b/src/scroll.c Mon Jan 16 00:03:54 2006 +0000 @@ -1,5 +1,6 @@ /* Calculate what line insertion or deletion to do, and do it, - Copyright (C) 1985, 1986, 1990, 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1990, 1993, 1994, 2002, 2003, 2004, + 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -15,8 +16,8 @@ You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #include <config.h> @@ -96,7 +97,7 @@ int free_at_end; { register int i, j; - int frame_height = FRAME_HEIGHT (frame); + int frame_lines = FRAME_LINES (frame); register struct matrix_elt *p, *p1; register int cost, cost1; @@ -105,18 +106,18 @@ at the i'th line of the lines we are considering, where I is origin 1 (as it is below). */ int *first_insert_cost - = &FRAME_INSERT_COST (frame)[frame_height - 1 - lines_moved]; + = &FRAME_INSERT_COST (frame)[frame_lines - 1 - lines_moved]; int *first_delete_cost - = &FRAME_DELETE_COST (frame)[frame_height - 1 - lines_moved]; + = &FRAME_DELETE_COST (frame)[frame_lines - 1 - lines_moved]; int *next_insert_cost - = &FRAME_INSERTN_COST (frame)[frame_height - 1 - lines_moved]; + = &FRAME_INSERTN_COST (frame)[frame_lines - 1 - lines_moved]; int *next_delete_cost - = &FRAME_DELETEN_COST (frame)[frame_height - 1 - lines_moved]; + = &FRAME_DELETEN_COST (frame)[frame_lines - 1 - lines_moved]; /* Discourage long scrolls on fast lines. Don't scroll nearly a full frame height unless it saves at least 1/4 second. */ - int extra_cost = baud_rate / (10 * 4 * FRAME_HEIGHT (frame)); + int extra_cost = baud_rate / (10 * 4 * FRAME_LINES (frame)); if (baud_rate <= 0) extra_cost = 1; @@ -438,27 +439,27 @@ int free_at_end; { register int i, j; - int frame_height = FRAME_HEIGHT (frame); + int frame_lines = FRAME_LINES (frame); register struct matrix_elt *p, *p1; register int cost, cost1, delta; /* first_insert_cost[-I] is the cost of doing the first insert-line at a position I lines above the bottom line in the scroll window. */ int *first_insert_cost - = &FRAME_INSERT_COST (frame)[frame_height - 1]; + = &FRAME_INSERT_COST (frame)[frame_lines - 1]; int *first_delete_cost - = &FRAME_DELETE_COST (frame)[frame_height - 1]; + = &FRAME_DELETE_COST (frame)[frame_lines - 1]; int *next_insert_cost - = &FRAME_INSERTN_COST (frame)[frame_height - 1]; + = &FRAME_INSERTN_COST (frame)[frame_lines - 1]; int *next_delete_cost - = &FRAME_DELETEN_COST (frame)[frame_height - 1]; + = &FRAME_DELETEN_COST (frame)[frame_lines - 1]; int scroll_overhead; /* Discourage long scrolls on fast lines. Don't scroll nearly a full frame height unless it saves at least 1/4 second. */ - int extra_cost = baud_rate / (10 * 4 * FRAME_HEIGHT (frame)); + int extra_cost = baud_rate / (10 * 4 * FRAME_LINES (frame)); if (baud_rate <= 0) extra_cost = 1; @@ -909,7 +910,7 @@ will not be involved in actual motion. */ int limit = to; int offset; - int height = FRAME_HEIGHT (frame); + int height = FRAME_LINES (frame); if (amount == 0) return 0; @@ -947,11 +948,11 @@ register int *ov, *mf; { register int i; - register int frame_height = FRAME_HEIGHT (frame); + register int frame_lines = FRAME_LINES (frame); register int insert_overhead = ov1 * 10; register int next_insert_cost = ovn * 10; - for (i = frame_height-1; i >= 0; i--) + for (i = frame_lines-1; i >= 0; i--) { mf[i] = next_insert_cost / 10; next_insert_cost += pfn; @@ -1000,12 +1001,12 @@ only) and those that must repeatedly insert one line. The cost to insert N lines at line L is - [tt.t_ILov + (frame_height + 1 - L) * tt.t_ILpf] + - N * [tt.t_ILnov + (frame_height + 1 - L) * tt.t_ILnpf] + [tt.t_ILov + (frame_lines + 1 - L) * tt.t_ILpf] + + N * [tt.t_ILnov + (frame_lines + 1 - L) * tt.t_ILnpf] ILov represents the basic insert line overhead. ILpf is the padding required to allow the terminal time to move a line: insertion at line - L changes (frame_height + 1 - L) lines. + L changes (frame_lines + 1 - L) lines. The first bracketed expression above is the overhead; the second is the multiply factor. Both are dependent only on the position at @@ -1035,27 +1036,27 @@ { FRAME_INSERT_COST (frame) = (int *) xrealloc (FRAME_INSERT_COST (frame), - FRAME_HEIGHT (frame) * sizeof (int)); + FRAME_LINES (frame) * sizeof (int)); FRAME_DELETEN_COST (frame) = (int *) xrealloc (FRAME_DELETEN_COST (frame), - FRAME_HEIGHT (frame) * sizeof (int)); + FRAME_LINES (frame) * sizeof (int)); FRAME_INSERTN_COST (frame) = (int *) xrealloc (FRAME_INSERTN_COST (frame), - FRAME_HEIGHT (frame) * sizeof (int)); + FRAME_LINES (frame) * sizeof (int)); FRAME_DELETE_COST (frame) = (int *) xrealloc (FRAME_DELETE_COST (frame), - FRAME_HEIGHT (frame) * sizeof (int)); + FRAME_LINES (frame) * sizeof (int)); } else { FRAME_INSERT_COST (frame) = - (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int)); + (int *) xmalloc (FRAME_LINES (frame) * sizeof (int)); FRAME_DELETEN_COST (frame) = - (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int)); + (int *) xmalloc (FRAME_LINES (frame) * sizeof (int)); FRAME_INSERTN_COST (frame) = - (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int)); + (int *) xmalloc (FRAME_LINES (frame) * sizeof (int)); FRAME_DELETE_COST (frame) = - (int *) xmalloc (FRAME_HEIGHT (frame) * sizeof (int)); + (int *) xmalloc (FRAME_LINES (frame) * sizeof (int)); } ins_del_costs (frame, @@ -1069,3 +1070,6 @@ FRAME_DELETE_COST (frame), FRAME_DELETEN_COST (frame), coefficient); } + +/* arch-tag: cdb7149c-48e7-4793-a948-2786c8e45485 + (do not change this comment) */