aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-06-06 12:25:50 +0000
committerGerd Moellmann2000-06-06 12:25:50 +0000
commit3b3c4bf057e55157136cac42746db6e75aee44ab (patch)
treeb3c6ed0d4c2b20000c1d1e028d46bf01a8945034 /src
parent5f1aea9aa7e7ec2a9c10410508db82c11293daea (diff)
downloademacs-3b3c4bf057e55157136cac42746db6e75aee44ab.tar.gz
emacs-3b3c4bf057e55157136cac42746db6e75aee44ab.zip
(display_line): Revert change of 2000-06-06. Treat
padding glyph not fitting on line as whole character not fitting on line.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 3920510a5df..3affc6e132b 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11319,8 +11319,6 @@ display_line (it)
11319 for (i = 0; i < nglyphs; ++i, x = new_x) 11319 for (i = 0; i < nglyphs; ++i, x = new_x)
11320 { 11320 {
11321 glyph = row->glyphs[TEXT_AREA] + n_glyphs_before + i; 11321 glyph = row->glyphs[TEXT_AREA] + n_glyphs_before + i;
11322 if (CHAR_GLYPH_PADDING_P (*glyph))
11323 continue;
11324 new_x = x + glyph->pixel_width; 11322 new_x = x + glyph->pixel_width;
11325 11323
11326 if (/* Lines are continued. */ 11324 if (/* Lines are continued. */
@@ -11348,6 +11346,31 @@ display_line (it)
11348 if (i == nglyphs - 1) 11346 if (i == nglyphs - 1)
11349 set_iterator_to_next (it); 11347 set_iterator_to_next (it);
11350 } 11348 }
11349 else if (CHAR_GLYPH_PADDING_P (*glyph)
11350 && !FRAME_WINDOW_P (it->f))
11351 {
11352 /* A padding glyph that doesn't fit on this line.
11353 This means the whole character doesn't fit
11354 on the line. */
11355 row->used[TEXT_AREA] = n_glyphs_before;
11356
11357 /* Fill the rest of the row with continuation
11358 glyphs like in 20.x. */
11359 while (row->glyphs[TEXT_AREA] + row->used[TEXT_AREA]
11360 < row->glyphs[1 + TEXT_AREA])
11361 produce_special_glyphs (it, IT_CONTINUATION);
11362
11363 row->continued_p = 1;
11364 it->current_x = x_before;
11365 it->continuation_lines_width += x_before;
11366
11367 /* Restore the height to what it was before the
11368 element not fitting on the line. */
11369 it->max_ascent = ascent;
11370 it->max_descent = descent;
11371 it->max_phys_ascent = phys_ascent;
11372 it->max_phys_descent = phys_descent;
11373 }
11351 else 11374 else
11352 { 11375 {
11353 /* Display element draws past the right edge of 11376 /* Display element draws past the right edge of