diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 14 | ||||
| -rw-r--r-- | src/dispextern.h | 2 | ||||
| -rw-r--r-- | src/indent.c | 12 | ||||
| -rw-r--r-- | src/window.c | 18 | ||||
| -rw-r--r-- | src/xdisp.c | 58 |
5 files changed, 56 insertions, 48 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a6623803a6e..c168a7133eb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2011-03-31 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * dispextern.h (move_it_by_lines): | ||
| 4 | * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused | ||
| 5 | since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed. | ||
| 6 | (message_log_check_duplicate): Remove parameters `prev_bol' and | ||
| 7 | `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. | ||
| 8 | (redisplay_internal): Remove parameter `preserve_echo_area', | ||
| 9 | unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed. | ||
| 10 | |||
| 11 | * indent.c (Fvertical_motion): | ||
| 12 | * window.c (window_scroll_pixel_based, Frecenter): | ||
| 13 | Don't pass `need_y_p' to `move_it_by_lines'. | ||
| 14 | |||
| 1 | 2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca> | 15 | 2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 16 | ||
| 3 | * eval.c (struct backtrace): Don't cheat with negative numbers, but do | 17 | * eval.c (struct backtrace): Don't cheat with negative numbers, but do |
diff --git a/src/dispextern.h b/src/dispextern.h index 17a9bc39fb2..fd474dc6ae5 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -2988,7 +2988,7 @@ void start_display (struct it *, struct window *, struct text_pos); | |||
| 2988 | void move_it_to (struct it *, EMACS_INT, int, int, int, int); | 2988 | void move_it_to (struct it *, EMACS_INT, int, int, int, int); |
| 2989 | void move_it_vertically (struct it *, int); | 2989 | void move_it_vertically (struct it *, int); |
| 2990 | void move_it_vertically_backward (struct it *, int); | 2990 | void move_it_vertically_backward (struct it *, int); |
| 2991 | void move_it_by_lines (struct it *, int, int); | 2991 | void move_it_by_lines (struct it *, int); |
| 2992 | void move_it_past_eol (struct it *); | 2992 | void move_it_past_eol (struct it *); |
| 2993 | void move_it_in_display_line (struct it *it, | 2993 | void move_it_in_display_line (struct it *it, |
| 2994 | EMACS_INT to_charpos, int to_x, | 2994 | EMACS_INT to_charpos, int to_x, |
diff --git a/src/indent.c b/src/indent.c index baea0641948..b3028a27b38 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -2072,7 +2072,7 @@ whether or not it is currently displayed in some window. */) | |||
| 2072 | /* Do this even if LINES is 0, so that we move back to the | 2072 | /* Do this even if LINES is 0, so that we move back to the |
| 2073 | beginning of the current line as we ought. */ | 2073 | beginning of the current line as we ought. */ |
| 2074 | if (XINT (lines) == 0 || IT_CHARPOS (it) > 0) | 2074 | if (XINT (lines) == 0 || IT_CHARPOS (it) > 0) |
| 2075 | move_it_by_lines (&it, XINT (lines), 0); | 2075 | move_it_by_lines (&it, XINT (lines)); |
| 2076 | } | 2076 | } |
| 2077 | else | 2077 | else |
| 2078 | { | 2078 | { |
| @@ -2090,9 +2090,9 @@ whether or not it is currently displayed in some window. */) | |||
| 2090 | || (it_overshoot_expected < 0 | 2090 | || (it_overshoot_expected < 0 |
| 2091 | && it.method == GET_FROM_BUFFER | 2091 | && it.method == GET_FROM_BUFFER |
| 2092 | && it.c == '\n')) | 2092 | && it.c == '\n')) |
| 2093 | move_it_by_lines (&it, -1, 0); | 2093 | move_it_by_lines (&it, -1); |
| 2094 | it.vpos = 0; | 2094 | it.vpos = 0; |
| 2095 | move_it_by_lines (&it, XINT (lines), 0); | 2095 | move_it_by_lines (&it, XINT (lines)); |
| 2096 | } | 2096 | } |
| 2097 | else | 2097 | else |
| 2098 | { | 2098 | { |
| @@ -2105,15 +2105,15 @@ whether or not it is currently displayed in some window. */) | |||
| 2105 | while (IT_CHARPOS (it) <= it_start) | 2105 | while (IT_CHARPOS (it) <= it_start) |
| 2106 | { | 2106 | { |
| 2107 | it.vpos = 0; | 2107 | it.vpos = 0; |
| 2108 | move_it_by_lines (&it, 1, 0); | 2108 | move_it_by_lines (&it, 1); |
| 2109 | } | 2109 | } |
| 2110 | if (XINT (lines) > 1) | 2110 | if (XINT (lines) > 1) |
| 2111 | move_it_by_lines (&it, XINT (lines) - 1, 0); | 2111 | move_it_by_lines (&it, XINT (lines) - 1); |
| 2112 | } | 2112 | } |
| 2113 | else | 2113 | else |
| 2114 | { | 2114 | { |
| 2115 | it.vpos = 0; | 2115 | it.vpos = 0; |
| 2116 | move_it_by_lines (&it, XINT (lines), 0); | 2116 | move_it_by_lines (&it, XINT (lines)); |
| 2117 | } | 2117 | } |
| 2118 | } | 2118 | } |
| 2119 | } | 2119 | } |
diff --git a/src/window.c b/src/window.c index b7747b5ad79..0d299b7cd93 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4858,7 +4858,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 4858 | looking at an image that is taller that the window height. */ | 4858 | looking at an image that is taller that the window height. */ |
| 4859 | while (start_pos == IT_CHARPOS (it) | 4859 | while (start_pos == IT_CHARPOS (it) |
| 4860 | && start_pos > BEGV) | 4860 | && start_pos > BEGV) |
| 4861 | move_it_by_lines (&it, -1, 1); | 4861 | move_it_by_lines (&it, -1); |
| 4862 | } | 4862 | } |
| 4863 | else if (dy > 0) | 4863 | else if (dy > 0) |
| 4864 | { | 4864 | { |
| @@ -4868,11 +4868,11 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 4868 | looking at an image that is taller that the window height. */ | 4868 | looking at an image that is taller that the window height. */ |
| 4869 | while (start_pos == IT_CHARPOS (it) | 4869 | while (start_pos == IT_CHARPOS (it) |
| 4870 | && start_pos < ZV) | 4870 | && start_pos < ZV) |
| 4871 | move_it_by_lines (&it, 1, 1); | 4871 | move_it_by_lines (&it, 1); |
| 4872 | } | 4872 | } |
| 4873 | } | 4873 | } |
| 4874 | else | 4874 | else |
| 4875 | move_it_by_lines (&it, n, 1); | 4875 | move_it_by_lines (&it, n); |
| 4876 | 4876 | ||
| 4877 | /* We failed if we find ZV is already on the screen (scrolling up, | 4877 | /* We failed if we find ZV is already on the screen (scrolling up, |
| 4878 | means there's nothing past the end), or if we can't start any | 4878 | means there's nothing past the end), or if we can't start any |
| @@ -4983,7 +4983,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 4983 | while (it.current_y < this_scroll_margin) | 4983 | while (it.current_y < this_scroll_margin) |
| 4984 | { | 4984 | { |
| 4985 | int prev = it.current_y; | 4985 | int prev = it.current_y; |
| 4986 | move_it_by_lines (&it, 1, 1); | 4986 | move_it_by_lines (&it, 1); |
| 4987 | if (prev == it.current_y) | 4987 | if (prev == it.current_y) |
| 4988 | break; | 4988 | break; |
| 4989 | } | 4989 | } |
| @@ -5017,7 +5017,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 5017 | partial_p = it.current_y + it.ascent + it.descent > it.last_visible_y; | 5017 | partial_p = it.current_y + it.ascent + it.descent > it.last_visible_y; |
| 5018 | else | 5018 | else |
| 5019 | { | 5019 | { |
| 5020 | move_it_by_lines (&it, 1, 1); | 5020 | move_it_by_lines (&it, 1); |
| 5021 | partial_p = it.current_y > it.last_visible_y; | 5021 | partial_p = it.current_y > it.last_visible_y; |
| 5022 | } | 5022 | } |
| 5023 | 5023 | ||
| @@ -5044,7 +5044,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, int whole, int noerror) | |||
| 5044 | /* The last line was only partially visible, so back up two | 5044 | /* The last line was only partially visible, so back up two |
| 5045 | lines to make sure we're on a fully visible line. */ | 5045 | lines to make sure we're on a fully visible line. */ |
| 5046 | { | 5046 | { |
| 5047 | move_it_by_lines (&it, -2, 0); | 5047 | move_it_by_lines (&it, -2); |
| 5048 | SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it)); | 5048 | SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it)); |
| 5049 | } | 5049 | } |
| 5050 | else | 5050 | else |
| @@ -5587,14 +5587,14 @@ and redisplay normally--don't erase and redraw the frame. */) | |||
| 5587 | start_display (&it, w, pt); | 5587 | start_display (&it, w, pt); |
| 5588 | 5588 | ||
| 5589 | /* Be sure we have the exact height of the full line containing PT. */ | 5589 | /* Be sure we have the exact height of the full line containing PT. */ |
| 5590 | move_it_by_lines (&it, 0, 1); | 5590 | move_it_by_lines (&it, 0); |
| 5591 | 5591 | ||
| 5592 | /* The amount of pixels we have to move back is the window | 5592 | /* The amount of pixels we have to move back is the window |
| 5593 | height minus what's displayed in the line containing PT, | 5593 | height minus what's displayed in the line containing PT, |
| 5594 | and the lines below. */ | 5594 | and the lines below. */ |
| 5595 | it.current_y = 0; | 5595 | it.current_y = 0; |
| 5596 | it.vpos = 0; | 5596 | it.vpos = 0; |
| 5597 | move_it_by_lines (&it, nlines, 1); | 5597 | move_it_by_lines (&it, nlines); |
| 5598 | 5598 | ||
| 5599 | if (it.vpos == nlines) | 5599 | if (it.vpos == nlines) |
| 5600 | h -= it.current_y; | 5600 | h -= it.current_y; |
| @@ -5633,7 +5633,7 @@ and redisplay normally--don't erase and redraw the frame. */) | |||
| 5633 | */ | 5633 | */ |
| 5634 | h += extra_line_spacing; | 5634 | h += extra_line_spacing; |
| 5635 | while (-it.current_y > h) | 5635 | while (-it.current_y > h) |
| 5636 | move_it_by_lines (&it, 1, 1); | 5636 | move_it_by_lines (&it, 1); |
| 5637 | 5637 | ||
| 5638 | charpos = IT_CHARPOS (it); | 5638 | charpos = IT_CHARPOS (it); |
| 5639 | bytepos = IT_BYTEPOS (it); | 5639 | bytepos = IT_BYTEPOS (it); |
diff --git a/src/xdisp.c b/src/xdisp.c index bbbf37b68ac..0ed8ec46cf4 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -802,13 +802,12 @@ static int cursor_row_fully_visible_p (struct window *, int, int); | |||
| 802 | static int try_scrolling (Lisp_Object, int, EMACS_INT, EMACS_INT, int, int); | 802 | static int try_scrolling (Lisp_Object, int, EMACS_INT, EMACS_INT, int, int); |
| 803 | static int try_cursor_movement (Lisp_Object, struct text_pos, int *); | 803 | static int try_cursor_movement (Lisp_Object, struct text_pos, int *); |
| 804 | static int trailing_whitespace_p (EMACS_INT); | 804 | static int trailing_whitespace_p (EMACS_INT); |
| 805 | static unsigned long int message_log_check_duplicate (EMACS_INT, EMACS_INT, | 805 | static unsigned long int message_log_check_duplicate (EMACS_INT, EMACS_INT); |
| 806 | EMACS_INT, EMACS_INT); | ||
| 807 | static void push_it (struct it *); | 806 | static void push_it (struct it *); |
| 808 | static void pop_it (struct it *); | 807 | static void pop_it (struct it *); |
| 809 | static void sync_frame_with_window_matrix_rows (struct window *); | 808 | static void sync_frame_with_window_matrix_rows (struct window *); |
| 810 | static void select_frame_for_redisplay (Lisp_Object); | 809 | static void select_frame_for_redisplay (Lisp_Object); |
| 811 | static void redisplay_internal (int); | 810 | static void redisplay_internal (); |
| 812 | static int echo_area_display (int); | 811 | static int echo_area_display (int); |
| 813 | static void redisplay_windows (Lisp_Object); | 812 | static void redisplay_windows (Lisp_Object); |
| 814 | static void redisplay_window (Lisp_Object, int); | 813 | static void redisplay_window (Lisp_Object, int); |
| @@ -1146,7 +1145,7 @@ line_bottom_y (struct it *it) | |||
| 1146 | line_height = last_height; | 1145 | line_height = last_height; |
| 1147 | else if (IT_CHARPOS (*it) < ZV) | 1146 | else if (IT_CHARPOS (*it) < ZV) |
| 1148 | { | 1147 | { |
| 1149 | move_it_by_lines (it, 1, 1); | 1148 | move_it_by_lines (it, 1); |
| 1150 | line_height = (it->max_ascent || it->max_descent | 1149 | line_height = (it->max_ascent || it->max_descent |
| 1151 | ? it->max_ascent + it->max_descent | 1150 | ? it->max_ascent + it->max_descent |
| 1152 | : last_height); | 1151 | : last_height); |
| @@ -1270,7 +1269,7 @@ pos_visible_p (struct window *w, EMACS_INT charpos, int *x, int *y, | |||
| 1270 | 1269 | ||
| 1271 | it2 = it; | 1270 | it2 = it; |
| 1272 | if (IT_CHARPOS (it) < ZV && FETCH_BYTE (IT_BYTEPOS (it)) != '\n') | 1271 | if (IT_CHARPOS (it) < ZV && FETCH_BYTE (IT_BYTEPOS (it)) != '\n') |
| 1273 | move_it_by_lines (&it, 1, 0); | 1272 | move_it_by_lines (&it, 1); |
| 1274 | if (charpos < IT_CHARPOS (it) | 1273 | if (charpos < IT_CHARPOS (it) |
| 1275 | || (it.what == IT_EOB && charpos == IT_CHARPOS (it))) | 1274 | || (it.what == IT_EOB && charpos == IT_CHARPOS (it))) |
| 1276 | { | 1275 | { |
| @@ -7638,7 +7637,7 @@ move_it_vertically_backward (struct it *it, int dy) | |||
| 7638 | /* DY == 0 means move to the start of the screen line. The | 7637 | /* DY == 0 means move to the start of the screen line. The |
| 7639 | value of nlines is > 0 if continuation lines were involved. */ | 7638 | value of nlines is > 0 if continuation lines were involved. */ |
| 7640 | if (nlines > 0) | 7639 | if (nlines > 0) |
| 7641 | move_it_by_lines (it, nlines, 1); | 7640 | move_it_by_lines (it, nlines); |
| 7642 | } | 7641 | } |
| 7643 | else | 7642 | else |
| 7644 | { | 7643 | { |
| @@ -7682,7 +7681,7 @@ move_it_vertically_backward (struct it *it, int dy) | |||
| 7682 | { | 7681 | { |
| 7683 | do | 7682 | do |
| 7684 | { | 7683 | { |
| 7685 | move_it_by_lines (it, 1, 1); | 7684 | move_it_by_lines (it, 1); |
| 7686 | } | 7685 | } |
| 7687 | while (target_y >= line_bottom_y (it) && IT_CHARPOS (*it) < ZV); | 7686 | while (target_y >= line_bottom_y (it) && IT_CHARPOS (*it) < ZV); |
| 7688 | } | 7687 | } |
| @@ -7712,7 +7711,7 @@ move_it_vertically (struct it *it, int dy) | |||
| 7712 | if (IT_CHARPOS (*it) == ZV | 7711 | if (IT_CHARPOS (*it) == ZV |
| 7713 | && ZV > BEGV | 7712 | && ZV > BEGV |
| 7714 | && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') | 7713 | && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') |
| 7715 | move_it_by_lines (it, 0, 0); | 7714 | move_it_by_lines (it, 0); |
| 7716 | } | 7715 | } |
| 7717 | } | 7716 | } |
| 7718 | 7717 | ||
| @@ -7732,15 +7731,14 @@ move_it_past_eol (struct it *it) | |||
| 7732 | 7731 | ||
| 7733 | /* Move IT by a specified number DVPOS of screen lines down. DVPOS | 7732 | /* Move IT by a specified number DVPOS of screen lines down. DVPOS |
| 7734 | negative means move up. DVPOS == 0 means move to the start of the | 7733 | negative means move up. DVPOS == 0 means move to the start of the |
| 7735 | screen line. NEED_Y_P non-zero means calculate IT->current_y. If | 7734 | screen line. |
| 7736 | NEED_Y_P is zero, IT->current_y will be left unchanged. | ||
| 7737 | 7735 | ||
| 7738 | Further optimization ideas: If we would know that IT->f doesn't use | 7736 | Optimization idea: If we would know that IT->f doesn't use |
| 7739 | a face with proportional font, we could be faster for | 7737 | a face with proportional font, we could be faster for |
| 7740 | truncate-lines nil. */ | 7738 | truncate-lines nil. */ |
| 7741 | 7739 | ||
| 7742 | void | 7740 | void |
| 7743 | move_it_by_lines (struct it *it, int dvpos, int need_y_p) | 7741 | move_it_by_lines (struct it *it, int dvpos) |
| 7744 | { | 7742 | { |
| 7745 | 7743 | ||
| 7746 | /* The commented-out optimization uses vmotion on terminals. This | 7744 | /* The commented-out optimization uses vmotion on terminals. This |
| @@ -8003,8 +8001,8 @@ message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte) | |||
| 8003 | prev_bol = PT; | 8001 | prev_bol = PT; |
| 8004 | prev_bol_byte = PT_BYTE; | 8002 | prev_bol_byte = PT_BYTE; |
| 8005 | 8003 | ||
| 8006 | dups = message_log_check_duplicate (prev_bol, prev_bol_byte, | 8004 | dups = message_log_check_duplicate (prev_bol_byte, |
| 8007 | this_bol, this_bol_byte); | 8005 | this_bol_byte); |
| 8008 | if (dups) | 8006 | if (dups) |
| 8009 | { | 8007 | { |
| 8010 | del_range_both (prev_bol, prev_bol_byte, | 8008 | del_range_both (prev_bol, prev_bol_byte, |
| @@ -8079,8 +8077,7 @@ message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte) | |||
| 8079 | value N > 1 if we should also append " [N times]". */ | 8077 | value N > 1 if we should also append " [N times]". */ |
| 8080 | 8078 | ||
| 8081 | static unsigned long int | 8079 | static unsigned long int |
| 8082 | message_log_check_duplicate (EMACS_INT prev_bol, EMACS_INT prev_bol_byte, | 8080 | message_log_check_duplicate (EMACS_INT prev_bol_byte, EMACS_INT this_bol_byte) |
| 8083 | EMACS_INT this_bol, EMACS_INT this_bol_byte) | ||
| 8084 | { | 8081 | { |
| 8085 | EMACS_INT i; | 8082 | EMACS_INT i; |
| 8086 | EMACS_INT len = Z_BYTE - 1 - this_bol_byte; | 8083 | EMACS_INT len = Z_BYTE - 1 - this_bol_byte; |
| @@ -8838,7 +8835,7 @@ resize_echo_area_exactly (void) | |||
| 8838 | { | 8835 | { |
| 8839 | ++windows_or_buffers_changed; | 8836 | ++windows_or_buffers_changed; |
| 8840 | ++update_mode_lines; | 8837 | ++update_mode_lines; |
| 8841 | redisplay_internal (0); | 8838 | redisplay_internal (); |
| 8842 | } | 8839 | } |
| 8843 | } | 8840 | } |
| 8844 | } | 8841 | } |
| @@ -9379,7 +9376,7 @@ echo_area_display (int update_frame_p) | |||
| 9379 | int count = SPECPDL_INDEX (); | 9376 | int count = SPECPDL_INDEX (); |
| 9380 | specbind (Qredisplay_dont_pause, Qt); | 9377 | specbind (Qredisplay_dont_pause, Qt); |
| 9381 | windows_or_buffers_changed = 1; | 9378 | windows_or_buffers_changed = 1; |
| 9382 | redisplay_internal (0); | 9379 | redisplay_internal (); |
| 9383 | unbind_to (count, Qnil); | 9380 | unbind_to (count, Qnil); |
| 9384 | } | 9381 | } |
| 9385 | else if (FRAME_WINDOW_P (f) && n == 0) | 9382 | else if (FRAME_WINDOW_P (f) && n == 0) |
| @@ -11150,7 +11147,7 @@ text_outside_line_unchanged_p (struct window *w, | |||
| 11150 | void | 11147 | void |
| 11151 | redisplay (void) | 11148 | redisplay (void) |
| 11152 | { | 11149 | { |
| 11153 | redisplay_internal (0); | 11150 | redisplay_internal (); |
| 11154 | } | 11151 | } |
| 11155 | 11152 | ||
| 11156 | 11153 | ||
| @@ -11414,14 +11411,11 @@ do { if (polling_stopped_here) start_polling (); \ | |||
| 11414 | polling_stopped_here = 0; } while (0) | 11411 | polling_stopped_here = 0; } while (0) |
| 11415 | 11412 | ||
| 11416 | 11413 | ||
| 11417 | /* If PRESERVE_ECHO_AREA is nonzero, it means this redisplay is not in | 11414 | /* Perhaps in the future avoid recentering windows if it |
| 11418 | response to any user action; therefore, we should preserve the echo | 11415 | is not necessary; currently that causes some problems. */ |
| 11419 | area. (Actually, our caller does that job.) Perhaps in the future | ||
| 11420 | avoid recentering windows if it is not necessary; currently that | ||
| 11421 | causes some problems. */ | ||
| 11422 | 11416 | ||
| 11423 | static void | 11417 | static void |
| 11424 | redisplay_internal (int preserve_echo_area) | 11418 | redisplay_internal () |
| 11425 | { | 11419 | { |
| 11426 | struct window *w = XWINDOW (selected_window); | 11420 | struct window *w = XWINDOW (selected_window); |
| 11427 | struct window *sw; | 11421 | struct window *sw; |
| @@ -12181,11 +12175,11 @@ redisplay_preserve_echo_area (int from_where) | |||
| 12181 | /* We have a previously displayed message, but no current | 12175 | /* We have a previously displayed message, but no current |
| 12182 | message. Redisplay the previous message. */ | 12176 | message. Redisplay the previous message. */ |
| 12183 | display_last_displayed_message_p = 1; | 12177 | display_last_displayed_message_p = 1; |
| 12184 | redisplay_internal (1); | 12178 | redisplay_internal (); |
| 12185 | display_last_displayed_message_p = 0; | 12179 | display_last_displayed_message_p = 0; |
| 12186 | } | 12180 | } |
| 12187 | else | 12181 | else |
| 12188 | redisplay_internal (1); | 12182 | redisplay_internal (); |
| 12189 | 12183 | ||
| 12190 | if (FRAME_RIF (SELECTED_FRAME ()) != NULL | 12184 | if (FRAME_RIF (SELECTED_FRAME ()) != NULL |
| 12191 | && FRAME_RIF (SELECTED_FRAME ())->flush_display_optional) | 12185 | && FRAME_RIF (SELECTED_FRAME ())->flush_display_optional) |
| @@ -13139,14 +13133,14 @@ try_scrolling (Lisp_Object window, int just_this_one_p, | |||
| 13139 | int start_y = line_bottom_y (&it1); | 13133 | int start_y = line_bottom_y (&it1); |
| 13140 | 13134 | ||
| 13141 | do { | 13135 | do { |
| 13142 | move_it_by_lines (&it, 1, 1); | 13136 | move_it_by_lines (&it, 1); |
| 13143 | it1 = it; | 13137 | it1 = it; |
| 13144 | } while (line_bottom_y (&it1) - start_y < amount_to_scroll); | 13138 | } while (line_bottom_y (&it1) - start_y < amount_to_scroll); |
| 13145 | } | 13139 | } |
| 13146 | 13140 | ||
| 13147 | /* If STARTP is unchanged, move it down another screen line. */ | 13141 | /* If STARTP is unchanged, move it down another screen line. */ |
| 13148 | if (CHARPOS (it.current.pos) == CHARPOS (startp)) | 13142 | if (CHARPOS (it.current.pos) == CHARPOS (startp)) |
| 13149 | move_it_by_lines (&it, 1, 1); | 13143 | move_it_by_lines (&it, 1); |
| 13150 | startp = it.current.pos; | 13144 | startp = it.current.pos; |
| 13151 | } | 13145 | } |
| 13152 | else | 13146 | else |
| @@ -13307,7 +13301,7 @@ compute_window_start_on_continuation_line (struct window *w) | |||
| 13307 | { | 13301 | { |
| 13308 | min_distance = distance; | 13302 | min_distance = distance; |
| 13309 | pos = it.current.pos; | 13303 | pos = it.current.pos; |
| 13310 | move_it_by_lines (&it, 1, 0); | 13304 | move_it_by_lines (&it, 1); |
| 13311 | } | 13305 | } |
| 13312 | 13306 | ||
| 13313 | /* Set the window start there. */ | 13307 | /* Set the window start there. */ |
| @@ -14269,13 +14263,13 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 14269 | && PT >= Z - XFASTINT (w->window_end_pos)) | 14263 | && PT >= Z - XFASTINT (w->window_end_pos)) |
| 14270 | { | 14264 | { |
| 14271 | clear_glyph_matrix (w->desired_matrix); | 14265 | clear_glyph_matrix (w->desired_matrix); |
| 14272 | move_it_by_lines (&it, 1, 0); | 14266 | move_it_by_lines (&it, 1); |
| 14273 | try_window (window, it.current.pos, 0); | 14267 | try_window (window, it.current.pos, 0); |
| 14274 | } | 14268 | } |
| 14275 | else if (PT < IT_CHARPOS (it)) | 14269 | else if (PT < IT_CHARPOS (it)) |
| 14276 | { | 14270 | { |
| 14277 | clear_glyph_matrix (w->desired_matrix); | 14271 | clear_glyph_matrix (w->desired_matrix); |
| 14278 | move_it_by_lines (&it, -1, 0); | 14272 | move_it_by_lines (&it, -1); |
| 14279 | try_window (window, it.current.pos, 0); | 14273 | try_window (window, it.current.pos, 0); |
| 14280 | } | 14274 | } |
| 14281 | else | 14275 | else |