diff options
| author | Chong Yidong | 2009-02-14 17:28:08 +0000 |
|---|---|---|
| committer | Chong Yidong | 2009-02-14 17:28:08 +0000 |
| commit | 5ce463b362bdae8ec7b126efa7ba21d450bc9053 (patch) | |
| tree | 8f890498bb9b667647958c65b7b2d6f172374c02 | |
| parent | 8f0085aaed059dc9df3bda3b8a847a45eadd7d3c (diff) | |
| download | emacs-5ce463b362bdae8ec7b126efa7ba21d450bc9053.tar.gz emacs-5ce463b362bdae8ec7b126efa7ba21d450bc9053.zip | |
(push_it, pop_it): Save and restore line_wrap.
(handle_line_prefix): Suppress wrapping of wrap prefixes.
| -rw-r--r-- | src/xdisp.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 518ec9524f5..d25c8c1e003 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5136,6 +5136,7 @@ push_it (it) | |||
| 5136 | p->voffset = it->voffset; | 5136 | p->voffset = it->voffset; |
| 5137 | p->string_from_display_prop_p = it->string_from_display_prop_p; | 5137 | p->string_from_display_prop_p = it->string_from_display_prop_p; |
| 5138 | p->display_ellipsis_p = 0; | 5138 | p->display_ellipsis_p = 0; |
| 5139 | p->line_wrap = it->line_wrap; | ||
| 5139 | ++it->sp; | 5140 | ++it->sp; |
| 5140 | } | 5141 | } |
| 5141 | 5142 | ||
| @@ -5191,6 +5192,7 @@ pop_it (it) | |||
| 5191 | it->font_height = p->font_height; | 5192 | it->font_height = p->font_height; |
| 5192 | it->voffset = p->voffset; | 5193 | it->voffset = p->voffset; |
| 5193 | it->string_from_display_prop_p = p->string_from_display_prop_p; | 5194 | it->string_from_display_prop_p = p->string_from_display_prop_p; |
| 5195 | it->line_wrap = p->line_wrap; | ||
| 5194 | } | 5196 | } |
| 5195 | 5197 | ||
| 5196 | 5198 | ||
| @@ -16506,7 +16508,13 @@ handle_line_prefix (struct it *it) | |||
| 16506 | prefix = Vline_prefix; | 16508 | prefix = Vline_prefix; |
| 16507 | } | 16509 | } |
| 16508 | if (! NILP (prefix)) | 16510 | if (! NILP (prefix)) |
| 16509 | push_display_prop (it, prefix); | 16511 | { |
| 16512 | push_display_prop (it, prefix); | ||
| 16513 | /* If the prefix is wider than the window, and we try to wrap | ||
| 16514 | it, it would acquire its own wrap prefix, and so on till the | ||
| 16515 | iterator stack overflows. So, don't wrap the prefix. */ | ||
| 16516 | it->line_wrap = TRUNCATE; | ||
| 16517 | } | ||
| 16510 | } | 16518 | } |
| 16511 | 16519 | ||
| 16512 | 16520 | ||