Support overflow-newline-into-fringe together with word-wrap (bug#19300)
src/xdisp.c (move_it_in_display_line_to, display_line): Don't disallow overflow-newline-into-fringe when word-wrap is in effect.
This commit is contained in:
parent
935ee05f07
commit
0c2f254bc3
2 changed files with 23 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-12-10 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (move_it_in_display_line_to, display_line): Don't
|
||||
disallow overflow-newline-into-fringe when word-wrap is in
|
||||
effect. (Bug#19300)
|
||||
|
||||
2014-12-04 Lee Duhem <lee.duhem@gmail.com> (tiny change)
|
||||
|
||||
* eval.c (Fsignal): Remove duplicate test.
|
||||
|
|
25
src/xdisp.c
25
src/xdisp.c
|
@ -8792,12 +8792,7 @@ move_it_in_display_line_to (struct it *it,
|
|||
doesn't fit on the line, e.g. a wide image. */
|
||||
it->hpos == 0
|
||||
|| (new_x == it->last_visible_x
|
||||
&& FRAME_WINDOW_P (it->f)
|
||||
/* When word-wrap is ON and we have a valid
|
||||
wrap point, we don't allow the last glyph
|
||||
to "just barely fit" on the line. */
|
||||
&& (it->line_wrap != WORD_WRAP
|
||||
|| wrap_it.sp < 0)))
|
||||
&& FRAME_WINDOW_P (it->f)))
|
||||
{
|
||||
++it->hpos;
|
||||
it->current_x = new_x;
|
||||
|
@ -8864,7 +8859,8 @@ move_it_in_display_line_to (struct it *it,
|
|||
}
|
||||
if (ITERATOR_AT_END_OF_LINE_P (it)
|
||||
&& (it->line_wrap != WORD_WRAP
|
||||
|| wrap_it.sp < 0))
|
||||
|| wrap_it.sp < 0
|
||||
|| IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)))
|
||||
{
|
||||
result = MOVE_NEWLINE_OR_CR;
|
||||
break;
|
||||
|
@ -20389,7 +20385,8 @@ display_line (struct it *it)
|
|||
{
|
||||
/* If line-wrap is on, check if a previous
|
||||
wrap point was found. */
|
||||
if (wrap_row_used > 0
|
||||
if (!IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)
|
||||
&& wrap_row_used > 0
|
||||
/* Even if there is a previous wrap
|
||||
point, continue the line here as
|
||||
usual, if (i) the previous character
|
||||
|
@ -20419,6 +20416,18 @@ display_line (struct it *it)
|
|||
row->continued_p = 0;
|
||||
row->exact_window_width_line_p = 1;
|
||||
}
|
||||
/* If line-wrap is on, check if a
|
||||
previous wrap point was found. */
|
||||
else if (wrap_row_used > 0
|
||||
/* Even if there is a previous wrap
|
||||
point, continue the line here as
|
||||
usual, if (i) the previous character
|
||||
was a space or tab AND (ii) the
|
||||
current character is not. */
|
||||
&& (!may_wrap
|
||||
|| IT_DISPLAYING_WHITESPACE (it)))
|
||||
goto back_to_wrap;
|
||||
|
||||
}
|
||||
}
|
||||
else if (it->bidi_p)
|
||||
|
|
Loading…
Add table
Reference in a new issue