]> git.eshelyaron.com Git - emacs.git/commitdiff
Port to ISO/IEC TS 18661-1:2014
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 13 Sep 2016 22:29:26 +0000 (15:29 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 13 Sep 2016 22:31:04 +0000 (15:31 -0700)
* src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
All uses changed.

src/character.c
src/character.h
src/composite.c
src/dispextern.h
src/indent.c
src/menu.c
src/term.c
src/xdisp.c

index b19e41d660acfd353f073c129744e4f24ca2bf22..75a7dab68459bb7755ac515c89cae9dee06302dc 100644 (file)
@@ -278,7 +278,7 @@ If the multibyte character does not represent a byte, return -1.  */)
 static ptrdiff_t
 char_width (int c, struct Lisp_Char_Table *dp)
 {
-  ptrdiff_t width = CHAR_WIDTH (c);
+  ptrdiff_t width = CHARACTER_WIDTH (c);
 
   if (dp)
     {
@@ -291,7 +291,7 @@ char_width (int c, struct Lisp_Char_Table *dp)
            ch = AREF (disp, i);
            if (CHARACTERP (ch))
              {
-               int w = CHAR_WIDTH (XFASTINT (ch));
+               int w = CHARACTER_WIDTH (XFASTINT (ch));
                if (INT_ADD_WRAPV (width, w, &width))
                  string_overflow ();
              }
index 2cb76b0f2d535c43c193c3a9d17fe4d8b5d37296..b72b61d7054d6a17572e5b5108801c6008662650 100644 (file)
@@ -588,9 +588,10 @@ sanitize_char_width (EMACS_INT width)
 
 /* Return the width of character C.  The width is measured by how many
    columns C will occupy on the screen when displayed in the current
-   buffer.  */
+   buffer.  The name CHARACTER_WIDTH avoids a collision with <limits.h>
+   CHAR_WIDTH when enabled; see ISO/IEC TS 18661-1:2014.  */
 
-#define CHAR_WIDTH(c)          \
+#define CHARACTER_WIDTH(c)     \
   (ASCII_CHAR_P (c)            \
    ? ASCII_CHAR_WIDTH (c)      \
    : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c))))
index 8aa69746595a01ad612790824a5dbf52bd485381..da921358e9f020c24f9138cf66957bbe8f5c9598 100644 (file)
@@ -335,7 +335,7 @@ get_composition_id (ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t nchars,
          ch = XINT (key_contents[i]);
          /* TAB in a composition means display glyphs with padding
             space on the left or right.  */
-         this_width = (ch == '\t' ? 1 : CHAR_WIDTH (ch));
+         this_width = (ch == '\t' ? 1 : CHARACTER_WIDTH (ch));
          if (cmp->width < this_width)
            cmp->width = this_width;
        }
@@ -346,7 +346,7 @@ get_composition_id (ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t nchars,
       double leftmost = 0.0, rightmost;
 
       ch = XINT (key_contents[0]);
-      rightmost = ch != '\t' ? CHAR_WIDTH (ch) : 1;
+      rightmost = ch != '\t' ? CHARACTER_WIDTH (ch) : 1;
 
       for (i = 1; i < glyph_len; i += 2)
        {
@@ -356,7 +356,7 @@ get_composition_id (ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t nchars,
 
          rule = XINT (key_contents[i]);
          ch = XINT (key_contents[i + 1]);
-         this_width = ch != '\t' ? CHAR_WIDTH (ch) : 1;
+         this_width = ch != '\t' ? CHARACTER_WIDTH (ch) : 1;
 
          /* A composition rule is specified by an integer value
             that encodes global and new reference points (GREF and
@@ -1383,7 +1383,7 @@ composition_update_it (struct composition_it *cmp_it, ptrdiff_t charpos, ptrdiff
        {
          c = XINT (LGSTRING_CHAR (gstring, from + i));
          cmp_it->nbytes += CHAR_BYTES (c);
-         cmp_it->width += CHAR_WIDTH (c);
+         cmp_it->width += CHARACTER_WIDTH (c);
        }
     }
   return c;
index f2c42de6cd2ef83a396889ddd7fac4713f5d7d41..79bc9353ec5ba43cd4bd09d2b939ef2acbf30b65 100644 (file)
@@ -2237,7 +2237,7 @@ struct composition_it
   /* Indices of the glyphs for the current grapheme cluster.  */
   int from, to;
   /* Width of the current grapheme cluster in units of columns it will
-     occupy on display; see CHAR_WIDTH.  */
+     occupy on display; see CHARACTER_WIDTH.  */
   int width;
 };
 
index f8c180d3e2b5b2267946fd8bad0f671504497566..cc5bf37f1dff861f47d303b5ed99c86aa3ec3846 100644 (file)
@@ -296,7 +296,7 @@ skip_invisible (ptrdiff_t pos, ptrdiff_t *next_boundary_p, ptrdiff_t to, Lisp_Ob
        if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, ch)))             \
          width = sanitize_char_width (ASIZE (DISP_CHAR_VECTOR (dp, ch))); \
        else                                                            \
-         width = CHAR_WIDTH (ch);                                      \
+         width = CHARACTER_WIDTH (ch);                                 \
       }                                                                        \
   } while (0)
 
index 90bb19a2e94059d48ebf8c6a2fc36e093e97b984..638810b36f8e0c5734307cd5b48fd865fbec88fd 100644 (file)
@@ -1045,7 +1045,7 @@ menu_item_width (const unsigned char *str)
       int ch_len;
       int ch = STRING_CHAR_AND_LENGTH (p, ch_len);
 
-      len += CHAR_WIDTH (ch);
+      len += CHARACTER_WIDTH (ch);
       p += ch_len;
     }
   return len;
index 54a97e95b79cb62bbe6b9a0c0f7754116e0df310..426674f44708f8f2d1bf86d7e4404351cdef18af 100644 (file)
@@ -593,7 +593,7 @@ encode_terminal_code (struct glyph *src, int src_len,
                  continue;
                if (char_charset (c, charset_list, NULL))
                  {
-                   if (CHAR_WIDTH (c) == 0
+                   if (CHARACTER_WIDTH (c) == 0
                        && i > 0 && COMPOSITION_GLYPH (cmp, i - 1) == '\t')
                      /* Should be left-padded */
                      {
@@ -1626,7 +1626,7 @@ produce_glyphs (struct it *it)
 
       if (char_charset (it->char_to_display, charset_list, NULL))
        {
-         it->pixel_width = CHAR_WIDTH (it->char_to_display);
+         it->pixel_width = CHARACTER_WIDTH (it->char_to_display);
          it->nglyphs = it->pixel_width;
          if (it->glyph_row)
            append_glyph (it);
@@ -1832,7 +1832,7 @@ produce_glyphless_glyph (struct it *it, Lisp_Object acronym)
     }
   else if (it->glyphless_method == GLYPHLESS_DISPLAY_EMPTY_BOX)
     {
-      len = CHAR_WIDTH (it->c);
+      len = CHARACTER_WIDTH (it->c);
       if (len == 0)
        len = 1;
       else if (len > 4)
index d1e884820b67b7a0563eb92a4b47f91b8b3ebfed..4bf1470e46c3a22340840c15688e034ea5676ea8 100644 (file)
@@ -26927,7 +26927,7 @@ produce_glyphless_glyph (struct it *it, bool for_no_font, Lisp_Object acronym)
     }
   else if (it->glyphless_method == GLYPHLESS_DISPLAY_EMPTY_BOX)
     {
-      width = CHAR_WIDTH (it->c);
+      width = CHARACTER_WIDTH (it->c);
       if (width == 0)
        width = 1;
       else if (width > 4)