]> git.eshelyaron.com Git - emacs.git/commitdiff
(display_line): On ttys, produce more than one
authorGerd Moellmann <gerd@gnu.org>
Wed, 10 Jan 2001 14:43:30 +0000 (14:43 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 10 Jan 2001 14:43:30 +0000 (14:43 +0000)
truncation glyph for multibyte characters that don't fit on the
line.

src/ChangeLog
src/xdisp.c

index dd936bd97e2be0d6ccc66c0454344d9c9833ed13..c98e9782bbdff5109471b2f99d7a2669b3b34348 100644 (file)
@@ -1,5 +1,9 @@
 2001-01-10  Gerd Moellmann  <gerd@gnu.org>
 
+       * xdisp.c (display_line): On ttys, produce more than one
+       truncation glyph for multibyte characters that don't fit on the
+       line.
+
        * xselect.c (x_reply_selection_request): Add a comment.
 
        * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
index 367408dbdbaee475a067f809a0c3d07f22b87973..a68bd5d40fb072722dd3d2a3d846825cd2f4463b 100644 (file)
@@ -12327,8 +12327,17 @@ display_line (it)
          /* Maybe add truncation glyphs.  */
          if (!FRAME_WINDOW_P (it->f))
            {
-             --it->glyph_row->used[TEXT_AREA];
-             produce_special_glyphs (it, IT_TRUNCATION);
+             int i, n;
+             
+             for (i = row->used[TEXT_AREA] - 1; i > 0; --i)
+               if (!CHAR_GLYPH_PADDING_P (row->glyphs[TEXT_AREA][i]))
+                 break;
+
+             for (n = row->used[TEXT_AREA]; i < n; ++i)
+               {
+                 row->used[TEXT_AREA] = i;
+                 produce_special_glyphs (it, IT_TRUNCATION);
+               }
            }
          
          row->truncated_on_right_p = 1;