aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2009-02-14 17:28:08 +0000
committerChong Yidong2009-02-14 17:28:08 +0000
commit5ce463b362bdae8ec7b126efa7ba21d450bc9053 (patch)
tree8f890498bb9b667647958c65b7b2d6f172374c02
parent8f0085aaed059dc9df3bda3b8a847a45eadd7d3c (diff)
downloademacs-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.c10
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