emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/msdos.c,v


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/msdos.c,v
Date: Wed, 27 Feb 2008 22:49:22 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Kim F. Storm <kfstorm>  08/02/27 22:49:21

Index: msdos.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/msdos.c,v
retrieving revision 1.215
retrieving revision 1.216
diff -u -b -r1.215 -r1.216
--- msdos.c     26 Feb 2008 18:18:04 -0000      1.215
+++ msdos.c     27 Feb 2008 22:49:21 -0000      1.216
@@ -987,8 +987,8 @@
   /* Set up the unsupported character glyph */
   if (!NILP (Vdos_unsupported_char_glyph))
     {
-      unsupported_char = FAST_GLYPH_CHAR (XINT (Vdos_unsupported_char_glyph));
-      unsupported_face = FAST_GLYPH_FACE (XINT (Vdos_unsupported_char_glyph));
+      unsupported_char = GLYPH_CHAR (XINT (Vdos_unsupported_char_glyph));
+      unsupported_face = GLYPH_FACE (XINT (Vdos_unsupported_char_glyph));
     }
 
   screen_buf = screen_bp = alloca (str_len * 2);
@@ -1021,13 +1021,12 @@
        }
       else
        {
-         register GLYPH g = GLYPH_FROM_CHAR_GLYPH (*str);
+         GLYPH g;
          int glyph_not_in_table = 0;
 
-         /* If g is negative, it means we have a multibyte character
-            in *str.  That's what GLYPH_FROM_CHAR_GLYPH returns for
-            multibyte characters.  */
-         if (g < 0 || g >= tlen)
+         SET_GLYPH_FROM_CHAR_GLYPH (g, *str);
+
+         if (GLYPH_INVALID_P (g) || GLYPH_SIMPLE_P (tbase, tlen, g))
            {
              /* This glyph doesn't have an entry in Vglyph_table.  */
              ch = str->u.ch;
@@ -1038,7 +1037,7 @@
              /* This glyph has an entry in Vglyph_table, so process
                 any aliases before testing for simpleness.  */
              GLYPH_FOLLOW_ALIASES (tbase, tlen, g);
-             ch = FAST_GLYPH_CHAR (g);
+             ch = GLYPH_CHAR (g);
            }
 
          /* Convert the character code to multibyte, if they
@@ -1054,10 +1053,10 @@
          /* Invalid characters are displayed with a special glyph.  */
          if (! CHAR_VALID_P (ch, 0))
            {
-             g = !NILP (Vdos_unsupported_char_glyph)
+             ch = !NILP (Vdos_unsupported_char_glyph)
                ? XINT (Vdos_unsupported_char_glyph)
-               : MAKE_GLYPH (sf, '\177', GLYPH_FACE (sf, g));
-             ch = FAST_GLYPH_CHAR (g);
+               : '\177';
+             SET_GLYPH_CHAR (g, ch);
            }
 
          /* If the face of this glyph is different from the current




reply via email to

[Prev in Thread] Current Thread [Next in Thread]