diff options
| author | Eli Zaretskii | 2016-06-21 16:14:10 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-06-21 16:14:10 +0300 |
| commit | 6cf8f0b74e45cec12756e99d3735e3906c515c5c (patch) | |
| tree | 2ccf0fcf2e186524d71cb21154cd8d26306f6116 /src | |
| parent | 560c4ab1c32eacc48f62e4176a1e9fb10ac7665b (diff) | |
| download | emacs-6cf8f0b74e45cec12756e99d3735e3906c515c5c.tar.gz emacs-6cf8f0b74e45cec12756e99d3735e3906c515c5c.zip | |
Fix vertical layout calculations when newline has line-height property
* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
'constrain_row_ascent_descent_p' flag after processing the
newline, similar to what 'display_line' does. Without this, the
flag remains set once set by x_produce_glyphs, and causes the
vertical layout calculations to go awry, because Emacs thinks the
screen lines have zero height. (Bug#23850)
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index bcb283f8faa..da0e84f0043 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -9038,6 +9038,11 @@ move_it_in_display_line_to (struct it *it, | |||
| 9038 | } | 9038 | } |
| 9039 | else | 9039 | else |
| 9040 | result = MOVE_NEWLINE_OR_CR; | 9040 | result = MOVE_NEWLINE_OR_CR; |
| 9041 | /* If we've processed the newline, make sure this flag is | ||
| 9042 | reset, as it must only be set when the newline itself is | ||
| 9043 | processed. */ | ||
| 9044 | if (result == MOVE_NEWLINE_OR_CR) | ||
| 9045 | it->constrain_row_ascent_descent_p = false; | ||
| 9041 | break; | 9046 | break; |
| 9042 | } | 9047 | } |
| 9043 | 9048 | ||