aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2000-10-17 14:08:06 +0000
committerGerd Moellmann2000-10-17 14:08:06 +0000
commit54918e2b47ffcb64fcce348a977a45e33d7a9760 (patch)
treebf7a2bb233df711855d0cdc2cc17af4a6f294767
parent1592c1efdf808c504fbd3e648b65423ded6c4197 (diff)
downloademacs-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.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c14
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 @@
12000-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
12000-10-17 Kenichi Handa <handa@etl.go.jp> 62000-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}