summaryrefslogtreecommitdiff
path: root/src/scroll.c
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2004-04-16 15:03:58 +0000
committerKaroly Lorentey <lorentey@elte.hu>2004-04-16 15:03:58 +0000
commit385ed61f9d0bffef8a3f037e8cdc85d0de71bf15 (patch)
treef731aec43c0fd28ae4c35f4102d1d2dd21ab735c /src/scroll.c
parent5ffa0039d41813857b4442d435ad4f65123737c5 (diff)
downloademacs-385ed61f9d0bffef8a3f037e8cdc85d0de71bf15.tar.gz
emacs-385ed61f9d0bffef8a3f037e8cdc85d0de71bf15.tar.bz2
emacs-385ed61f9d0bffef8a3f037e8cdc85d0de71bf15.zip
Eliminated updating_frame.
src/termhooks.h (cursor_to_hook, raw_cursor_to_hook) (clear_to_end_hook, clear_end_of_line_hook, clear_frame_hook) (ins_del_lines_hook, insert_glyphs_hook, write_glyphs_hook) (delete_glyphs_hook, ring_bell_hook, set_terminal_window_hook): Added frame parameter. src/term.c (ring_bell, tty_ring_bell, set_terminal_window) (tty_set_terminal_window, set_scroll_region, cursor_to) (tty_cursor_to, raw_cursor_to, tty_raw_cursor_to, clear_to_end) (tty_clear_to_end, clear_frame, tty_clear_frame, clear_end_of_line) (tty_clear_end_of_line, write_glyphs, tty_write_glyphs, insert_glyphs) (tty_insert_glyphs, delete_glyphs, tty_delete_glyphs, ins_del_lines) (tty_ins_del_lines): Added frame parameter. src/xterm.c (x_delete_glyphs, x_clear_frame, x_ins_del_lines): Added frame parameter. src/scroll.c (do_direct_scrolling, do_scrolling): Added frame parameter. src/term.c (update_begin, update_end): Don't set updating_frame. src/xfns.c (x_set_tool_bar_lines): Ditto. src/term.c (updating_frame): Removed. src/dispextern.h: Updated prototypes. src/dispnew.c (Fredraw_frame, direct_output_for_insert) (direct_output_forward_char, update_frame_1, update_frame_line) (ding, bitch_at_user): Added frame parameter to calls to redisplay. src/xdisp.c (try_window_id): Ditto. src/scroll.c (do_scrolling, do_direct_scrolling, scrolling_1): Ditto. src/fileio.c (auto_save_error): Ditto. src/term.c (tty_ring_bell): Flush the output stream after beeping. src/dispnew.c (ding, bitch_at_user): Don't fflush CURTTY. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-140
Diffstat (limited to 'src/scroll.c')
-rw-r--r--src/scroll.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/scroll.c b/src/scroll.c
index 8f83851a2e0..5991fec004a 100644
--- a/src/scroll.c
+++ b/src/scroll.c
@@ -58,10 +58,12 @@ struct matrix_elt
unsigned char writecount;
};
-static void do_direct_scrolling P_ ((struct glyph_matrix *,
+static void do_direct_scrolling P_ ((struct frame *,
+ struct glyph_matrix *,
struct matrix_elt *,
int, int));
-static void do_scrolling P_ ((struct glyph_matrix *,
+static void do_scrolling P_ ((struct frame *,
+ struct glyph_matrix *,
struct matrix_elt *,
int, int));
@@ -242,7 +244,8 @@ calculate_scrolling (frame, matrix, window_size, lines_below,
of lines. */
static void
-do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
+do_scrolling (frame, current_matrix, matrix, window_size, unchanged_at_top)
+ struct frame *frame;
struct glyph_matrix *current_matrix;
struct matrix_elt *matrix;
int window_size;
@@ -309,12 +312,12 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
/* Set the terminal window, if not done already. */
if (! terminal_window_p)
{
- set_terminal_window (window_size + unchanged_at_top);
+ set_terminal_window (frame, window_size + unchanged_at_top);
terminal_window_p = 1;
}
/* Delete lines on the terminal. */
- ins_del_lines (j + unchanged_at_top, - p->deletecount);
+ ins_del_lines (frame, j + unchanged_at_top, - p->deletecount);
}
else
{
@@ -339,7 +342,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
/* Set the terminal window if not yet done. */
if (!terminal_window_p)
{
- set_terminal_window (window_size + unchanged_at_top);
+ set_terminal_window (frame, window_size + unchanged_at_top);
terminal_window_p = 1;
}
@@ -348,7 +351,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
--queue;
/* Do the deletion on the terminal. */
- ins_del_lines (queue->pos, queue->count);
+ ins_del_lines (frame, queue->pos, queue->count);
/* All lines in the range deleted become empty in the glyph
matrix. Assign to them glyph rows that are not retained.
@@ -381,7 +384,7 @@ do_scrolling (current_matrix, matrix, window_size, unchanged_at_top)
CHECK_MATRIX (current_matrix);
if (terminal_window_p)
- set_terminal_window (0);
+ set_terminal_window (frame, 0);
}
@@ -652,8 +655,9 @@ calculate_direct_scrolling (frame, matrix, window_size, lines_below,
the cost matrix for this approach is constructed. */
static void
-do_direct_scrolling (current_matrix, cost_matrix, window_size,
- unchanged_at_top)
+do_direct_scrolling (frame, current_matrix, cost_matrix,
+ window_size, unchanged_at_top)
+ struct frame *frame;
struct glyph_matrix *current_matrix;
struct matrix_elt *cost_matrix;
int window_size;
@@ -744,9 +748,9 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
if (i > j)
{
/* Immediately insert lines */
- set_terminal_window (i + unchanged_at_top);
+ set_terminal_window (frame, i + unchanged_at_top);
terminal_window_p = 1;
- ins_del_lines (j - n_to_write + unchanged_at_top, i - j);
+ ins_del_lines (frame, j - n_to_write + unchanged_at_top, i - j);
}
else if (i < j)
{
@@ -776,9 +780,9 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
--queue;
if (queue->count)
{
- set_terminal_window (queue->window);
+ set_terminal_window (frame, queue->window);
terminal_window_p = 1;
- ins_del_lines (queue->pos, queue->count);
+ ins_del_lines (frame, queue->pos, queue->count);
}
else
{
@@ -801,7 +805,7 @@ do_direct_scrolling (current_matrix, cost_matrix, window_size,
copy_from, retained_p);
if (terminal_window_p)
- set_terminal_window (0);
+ set_terminal_window (frame, 0);
}
@@ -827,7 +831,7 @@ scrolling_1 (frame, window_size, unchanged_at_top, unchanged_at_bottom,
unchanged_at_bottom,
draw_cost, old_draw_cost,
old_hash, new_hash, free_at_end);
- do_direct_scrolling (frame->current_matrix,
+ do_direct_scrolling (frame, frame->current_matrix,
matrix, window_size, unchanged_at_top);
}
else
@@ -835,7 +839,8 @@ scrolling_1 (frame, window_size, unchanged_at_top, unchanged_at_bottom,
calculate_scrolling (frame, matrix, window_size, unchanged_at_bottom,
draw_cost, old_hash, new_hash,
free_at_end);
- do_scrolling (frame->current_matrix, matrix, window_size,
+ do_scrolling (frame,
+ frame->current_matrix, matrix, window_size,
unchanged_at_top);
}
}