diff options
| author | Chong Yidong | 2008-08-05 22:46:31 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-08-05 22:46:31 +0000 |
| commit | 8eb0e152723cca62280dc53371c7ed2dc60837e3 (patch) | |
| tree | 681d34de91340602a88a712d987d7855b5ef2789 /src | |
| parent | 2c87c2e17b15e1c969a80042435ed457141a765b (diff) | |
| download | emacs-8eb0e152723cca62280dc53371c7ed2dc60837e3.tar.gz emacs-8eb0e152723cca62280dc53371c7ed2dc60837e3.zip | |
(redisplay_window): Don't enforce scroll-margin when forcing a window
start.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 897dd440f15..46217731fa1 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13065,7 +13065,6 @@ redisplay_window (window, just_this_one_p) | |||
| 13065 | { | 13065 | { |
| 13066 | /* We set this later on if we have to adjust point. */ | 13066 | /* We set this later on if we have to adjust point. */ |
| 13067 | int new_vpos = -1; | 13067 | int new_vpos = -1; |
| 13068 | int val; | ||
| 13069 | 13068 | ||
| 13070 | w->force_start = Qnil; | 13069 | w->force_start = Qnil; |
| 13071 | w->vscroll = 0; | 13070 | w->vscroll = 0; |
| @@ -13099,16 +13098,15 @@ redisplay_window (window, just_this_one_p) | |||
| 13099 | 13098 | ||
| 13100 | /* Redisplay, then check if cursor has been set during the | 13099 | /* Redisplay, then check if cursor has been set during the |
| 13101 | redisplay. Give up if new fonts were loaded. */ | 13100 | redisplay. Give up if new fonts were loaded. */ |
| 13102 | val = try_window (window, startp, 1); | 13101 | /* We used to issue a CHECK_MARGINS argument to try_window here, |
| 13103 | if (!val) | 13102 | but this causes scrolling to fail when point begins inside |
| 13103 | the scroll margin (bug#148) -- cyd */ | ||
| 13104 | if (!try_window (window, startp, 0)) | ||
| 13104 | { | 13105 | { |
| 13105 | w->force_start = Qt; | 13106 | w->force_start = Qt; |
| 13106 | clear_glyph_matrix (w->desired_matrix); | 13107 | clear_glyph_matrix (w->desired_matrix); |
| 13107 | goto need_larger_matrices; | 13108 | goto need_larger_matrices; |
| 13108 | } | 13109 | } |
| 13109 | /* Point was outside the scroll margins. */ | ||
| 13110 | if (val < 0) | ||
| 13111 | new_vpos = window_box_height (w) / 2; | ||
| 13112 | 13110 | ||
| 13113 | if (w->cursor.vpos < 0 && !w->frozen_window_start_p) | 13111 | if (w->cursor.vpos < 0 && !w->frozen_window_start_p) |
| 13114 | { | 13112 | { |