diff options
| author | Richard M. Stallman | 1997-08-08 20:09:27 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-08-08 20:09:27 +0000 |
| commit | 9c5886e7ee51b9283762a7b5681c19fa3c28fb92 (patch) | |
| tree | 18bfe2a34dfe0e772735035e32783f64b4e7d62a | |
| parent | a154f40682afd8b626117ed8d4ddb4dbcc7db01a (diff) | |
| download | emacs-9c5886e7ee51b9283762a7b5681c19fa3c28fb92.tar.gz emacs-9c5886e7ee51b9283762a7b5681c19fa3c28fb92.zip | |
(redisplay_window): Fix access to w->last_point{,_[xy]}.
| -rw-r--r-- | src/xdisp.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 047fb9a73f3..b2e605b34af 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1838,23 +1838,25 @@ redisplay_window (window, just_this_one, preserve_echo_area) | |||
| 1838 | && current_buffer != XMARKER (Voverlay_arrow_position)->buffer) | 1838 | && current_buffer != XMARKER (Voverlay_arrow_position)->buffer) |
| 1839 | { | 1839 | { |
| 1840 | int this_scroll_margin = scroll_margin; | 1840 | int this_scroll_margin = scroll_margin; |
| 1841 | int last_point_y = w->last_point_y - XINT (w->top); | 1841 | int last_point_y = XFASTINT (w->last_point_y) - XINT (w->top); |
| 1842 | int last_point_x = (w->last_point_x | 1842 | int last_point_x = (XFASTINT (w->last_point_x) |
| 1843 | + (hscroll ? 1 - hscroll : 0) | 1843 | + (hscroll ? 1 - hscroll : 0) |
| 1844 | - WINDOW_LEFT_MARGIN (w)); | 1844 | - WINDOW_LEFT_MARGIN (w)); |
| 1845 | 1845 | ||
| 1846 | /* Find where PT is located now on the frame. */ | 1846 | /* Find where PT is located now on the frame. */ |
| 1847 | /* Check just_this_one as a way of verifying that the | 1847 | /* Check just_this_one as a way of verifying that the |
| 1848 | window edges have not changed. */ | 1848 | window edges have not changed. */ |
| 1849 | if (PT == w->last_point && just_this_one) | 1849 | if (PT == XFASTINT (w->last_point) && just_this_one) |
| 1850 | { | 1850 | { |
| 1851 | pos.hpos = last_point_x; | 1851 | pos.hpos = last_point_x; |
| 1852 | pos.vpos = last_point_y; | 1852 | pos.vpos = last_point_y; |
| 1853 | pos.bufpos = PT; | 1853 | pos.bufpos = PT; |
| 1854 | } | 1854 | } |
| 1855 | else if (PT > w->last_point && w->last_point > startp && just_this_one) | 1855 | else if (PT > XFASTINT (w->last_point) |
| 1856 | && XFASTINT (w->last_point) > startp && just_this_one) | ||
| 1856 | { | 1857 | { |
| 1857 | pos = *compute_motion (w->last_point, last_point_y, last_point_x, 0, | 1858 | pos = *compute_motion (XFASTINT (w->last_point), |
| 1859 | last_point_y, last_point_x, 0, | ||
| 1858 | PT, height, | 1860 | PT, height, |
| 1859 | /* BUG FIX: See the comment of | 1861 | /* BUG FIX: See the comment of |
| 1860 | Fpos_visible_in_window_p (window.c). */ | 1862 | Fpos_visible_in_window_p (window.c). */ |