Mercurial > emacs
changeset 102041:942083429e2c
(push_it, pop_it): Save and restore line_wrap.
(handle_line_prefix): Suppress wrapping of wrap prefixes.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 14 Feb 2009 17:28:08 +0000 |
parents | 88d728c6edaa |
children | f0864f8938a3 |
files | src/xdisp.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Sat Feb 14 17:27:16 2009 +0000 +++ b/src/xdisp.c Sat Feb 14 17:28:08 2009 +0000 @@ -5136,6 +5136,7 @@ p->voffset = it->voffset; p->string_from_display_prop_p = it->string_from_display_prop_p; p->display_ellipsis_p = 0; + p->line_wrap = it->line_wrap; ++it->sp; } @@ -5191,6 +5192,7 @@ it->font_height = p->font_height; it->voffset = p->voffset; it->string_from_display_prop_p = p->string_from_display_prop_p; + it->line_wrap = p->line_wrap; } @@ -16506,7 +16508,13 @@ prefix = Vline_prefix; } if (! NILP (prefix)) - push_display_prop (it, prefix); + { + push_display_prop (it, prefix); + /* If the prefix is wider than the window, and we try to wrap + it, it would acquire its own wrap prefix, and so on till the + iterator stack overflows. So, don't wrap the prefix. */ + it->line_wrap = TRUNCATE; + } }