Mercurial > emacs
changeset 21335:8f9e7600c250
(redisplay_window): Fix computing pos from last_point.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 02 Apr 1998 04:40:52 +0000 |
parents | 66b3b9fe3e3c |
children | e78bc1ffd88d |
files | src/xdisp.c |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Thu Apr 02 04:36:00 1998 +0000 +++ b/src/xdisp.c Thu Apr 02 04:40:52 1998 +0000 @@ -2033,14 +2033,16 @@ { int last_point = XFASTINT (w->last_point); int last_point_byte = CHAR_TO_BYTE (last_point); + int tab_offset = (pos_tab_offset (w, last_point, last_point_byte) + - (last_point_x + hscroll - !! hscroll)); pos = *compute_motion (last_point, last_point_y, last_point_x, 0, PT, height, - /* BUG FIX: See the comment of + /* BUG FIX: See the comment of Fpos_visible_in_window_p (window.c). */ - (1 << (BITS_PER_SHORT - 1)), width, hscroll, - pos_tab_offset (w, last_point, last_point_byte), + tab_offset, w); } else @@ -3048,9 +3050,10 @@ } /* Return the column of position POS / POS_BYTE in window W's buffer. - The result is rounded down to a multiple of the internal width of W. - This is the amount of indentation of position POS - that is not visible in its horizontal position in the window. */ + When used on the character at the beginning of a line, + starting at column 0, this says how much to subtract from + the column position of any character in the line + to get its horizontal position on the screen. */ static int pos_tab_offset (w, pos, pos_byte)