diff options
| author | Gerd Moellmann | 2000-10-17 14:08:06 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-10-17 14:08:06 +0000 |
| commit | 54918e2b47ffcb64fcce348a977a45e33d7a9760 (patch) | |
| tree | bf7a2bb233df711855d0cdc2cc17af4a6f294767 /src | |
| parent | 1592c1efdf808c504fbd3e648b65423ded6c4197 (diff) | |
| download | emacs-54918e2b47ffcb64fcce348a977a45e33d7a9760.tar.gz emacs-54918e2b47ffcb64fcce348a977a45e33d7a9760.zip | |
(forward_to_next_line_start): Switch iterator's handling
of selective display off while searching for the next line start.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2a3f16d986d..a4a943fe747 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2000-10-17 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (forward_to_next_line_start): Switch iterator's handling | ||
| 4 | of selective display off while searching for the next line start. | ||
| 5 | |||
| 1 | 2000-10-17 Kenichi Handa <handa@etl.go.jp> | 6 | 2000-10-17 Kenichi Handa <handa@etl.go.jp> |
| 2 | 7 | ||
| 3 | * Makefile.in (term.o): Depend on dispextern.h. | 8 | * Makefile.in (term.o): Depend on dispextern.h. |
diff --git a/src/xdisp.c b/src/xdisp.c index 9b6d3806444..e9723f5272c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -3267,9 +3267,15 @@ forward_to_next_line_start (it, skipped_p) | |||
| 3267 | struct it *it; | 3267 | struct it *it; |
| 3268 | int *skipped_p; | 3268 | int *skipped_p; |
| 3269 | { | 3269 | { |
| 3270 | int newline_found_p, n; | 3270 | int old_selective, newline_found_p, n; |
| 3271 | const int MAX_NEWLINE_DISTANCE = 500; | 3271 | const int MAX_NEWLINE_DISTANCE = 500; |
| 3272 | 3272 | ||
| 3273 | /* Don't handle selective display in the following. It's (a) | ||
| 3274 | unnecessary and (b) leads to an infinite recursion because | ||
| 3275 | next_element_from_ellipsis indirectly calls this function. */ | ||
| 3276 | old_selective = it->selective; | ||
| 3277 | it->selective = 0; | ||
| 3278 | |||
| 3273 | /* Scan for a newline within MAX_NEWLINE_DISTANCE display elements | 3279 | /* Scan for a newline within MAX_NEWLINE_DISTANCE display elements |
| 3274 | from buffer text. */ | 3280 | from buffer text. */ |
| 3275 | n = newline_found_p = 0; | 3281 | n = newline_found_p = 0; |
| @@ -3318,6 +3324,7 @@ forward_to_next_line_start (it, skipped_p) | |||
| 3318 | } | 3324 | } |
| 3319 | } | 3325 | } |
| 3320 | 3326 | ||
| 3327 | it->selective = old_selective; | ||
| 3321 | return newline_found_p; | 3328 | return newline_found_p; |
| 3322 | } | 3329 | } |
| 3323 | 3330 | ||
| @@ -4147,7 +4154,10 @@ next_element_from_ellipsis (it) | |||
| 4147 | } | 4154 | } |
| 4148 | } | 4155 | } |
| 4149 | else | 4156 | else |
| 4150 | reseat_at_next_visible_line_start (it, 1); | 4157 | { |
| 4158 | it->method = next_element_from_buffer; | ||
| 4159 | reseat_at_next_visible_line_start (it, 1); | ||
| 4160 | } | ||
| 4151 | 4161 | ||
| 4152 | return get_next_display_element (it); | 4162 | return get_next_display_element (it); |
| 4153 | } | 4163 | } |