diff options
| author | Eli Zaretskii | 2011-09-17 21:21:24 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-09-17 21:21:24 +0300 |
| commit | fbfb6dd4fd954890fe06ff567b3e14f61dc38380 (patch) | |
| tree | 878cc8b0b2b656dbaedf02570d8b0d6811a53fe5 /src | |
| parent | 1137e8b8eb6fbae76880b814d516377de30eddd3 (diff) | |
| download | emacs-fbfb6dd4fd954890fe06ff567b3e14f61dc38380.tar.gz emacs-fbfb6dd4fd954890fe06ff567b3e14f61dc38380.zip | |
Fix bug #9530 with incorrect display of zero-width stretch.
src/xdisp.c (produce_stretch_glyph): Another fix for changes made on
2011-08-30T17:32:44Z!eliz@gnu.org.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 22 |
2 files changed, 19 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a6d890cd149..97b727929de 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2011-09-17 Eli Zaretskii <eliz@gnu.org> | 1 | 2011-09-17 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | * xdisp.c (produce_stretch_glyph): Another fix for changes made on | ||
| 4 | 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530) | ||
| 5 | |||
| 6 | 2011-09-17 Eli Zaretskii <eliz@gnu.org> | ||
| 7 | |||
| 3 | * xdisp.c (reseat_at_next_visible_line_start): Keep information | 8 | * xdisp.c (reseat_at_next_visible_line_start): Keep information |
| 4 | about the current paragraph and restore it after the call to | 9 | about the current paragraph and restore it after the call to |
| 5 | reseat. | 10 | reseat. |
diff --git a/src/xdisp.c b/src/xdisp.c index 3cb9f301bb2..f889815fa1e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -23298,14 +23298,7 @@ produce_stretch_glyph (struct it *it) | |||
| 23298 | object = it->w->buffer; | 23298 | object = it->w->buffer; |
| 23299 | #ifdef HAVE_WINDOW_SYSTEM | 23299 | #ifdef HAVE_WINDOW_SYSTEM |
| 23300 | if (FRAME_WINDOW_P (it->f)) | 23300 | if (FRAME_WINDOW_P (it->f)) |
| 23301 | { | 23301 | append_stretch_glyph (it, object, width, height, ascent); |
| 23302 | append_stretch_glyph (it, object, width, height, ascent); | ||
| 23303 | it->pixel_width = width; | ||
| 23304 | it->ascent = it->phys_ascent = ascent; | ||
| 23305 | it->descent = it->phys_descent = height - it->ascent; | ||
| 23306 | it->nglyphs = width > 0 && height > 0 ? 1 : 0; | ||
| 23307 | take_vertical_position_into_account (it); | ||
| 23308 | } | ||
| 23309 | else | 23302 | else |
| 23310 | #endif | 23303 | #endif |
| 23311 | { | 23304 | { |
| @@ -23317,6 +23310,19 @@ produce_stretch_glyph (struct it *it) | |||
| 23317 | it->object = o_object; | 23310 | it->object = o_object; |
| 23318 | } | 23311 | } |
| 23319 | } | 23312 | } |
| 23313 | |||
| 23314 | it->pixel_width = width; | ||
| 23315 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 23316 | if (FRAME_WINDOW_P (it->f)) | ||
| 23317 | { | ||
| 23318 | it->ascent = it->phys_ascent = ascent; | ||
| 23319 | it->descent = it->phys_descent = height - it->ascent; | ||
| 23320 | it->nglyphs = width > 0 && height > 0 ? 1 : 0; | ||
| 23321 | take_vertical_position_into_account (it); | ||
| 23322 | } | ||
| 23323 | else | ||
| 23324 | #endif | ||
| 23325 | it->nglyphs = width; | ||
| 23320 | } | 23326 | } |
| 23321 | 23327 | ||
| 23322 | #ifdef HAVE_WINDOW_SYSTEM | 23328 | #ifdef HAVE_WINDOW_SYSTEM |