]> code.delx.au - gnu-emacs/blobdiff - src/charset.c
2002-08-10 Andrew Choi <akochoi@shaw.ca>
[gnu-emacs] / src / charset.c
index 118d5fed9baa45ff93ab0e40fb009f94fddf5004..ebd247320f6840d03089fde73351990a1e596c8d 100644 (file)
@@ -700,14 +700,14 @@ DESCRIPTION (string) is the description string of the charset.  */)
       || !STRINGP (vec[7])
       || !STRINGP (vec[8]))
     error ("Invalid info-vector argument for defining charset %s",
-          XSYMBOL (charset_symbol)->name->data);
+          SDATA (SYMBOL_NAME (charset_symbol)));
 
   if (NILP (charset_id))
     {
       charset_id = get_new_private_charset_id (XINT (vec[0]), XINT (vec[2]));
       if (XINT (charset_id) == 0)
        error ("There's no room for a new private charset %s",
-              XSYMBOL (charset_symbol)->name->data);
+              SDATA (SYMBOL_NAME (charset_symbol)));
     }
 
   update_charset_table (charset_id, vec[0], vec[1], vec[2], vec[3],
@@ -779,7 +779,7 @@ CHARSET should be defined by `defined-charset' in advance.  */)
   if (XINT (final_char) < '0' || XFASTINT (final_char) > '~')
     error ("Invalid FINAL-CHAR %c, it should be `0'..`~'", XINT (chars));
   if ((charset = get_charset_id (charset_symbol)) < 0)
-    error ("Invalid charset %s", XSYMBOL (charset_symbol)->name->data);
+    error ("Invalid charset %s", SDATA (SYMBOL_NAME (charset_symbol)));
 
   ISO_CHARSET_TABLE (dimension, chars, final_char) = charset;
   return Qnil;
@@ -802,7 +802,7 @@ CHARSET should be defined by `defined-charset' in advance.  */)
 
 int
 find_charset_in_text (ptr, nchars, nbytes, charsets, table)
-     unsigned char *ptr;
+     const unsigned char *ptr;
      int nchars, nbytes, *charsets;
      Lisp_Object table;
 {
@@ -810,7 +810,7 @@ find_charset_in_text (ptr, nchars, nbytes, charsets, table)
     {
       if (charsets && nbytes > 0)
        {
-         unsigned char *endp = ptr + nbytes;
+         const unsigned char *endp = ptr + nbytes;
          int maskbits = 0;
 
          while (ptr < endp && maskbits != 7)
@@ -943,8 +943,8 @@ only `ascii', `eight-bit-control', and `eight-bit-graphic'.  */)
   CHECK_STRING (str);
 
   bzero (charsets, (MAX_CHARSET + 1) * sizeof (int));
-  find_charset_in_text (XSTRING (str)->data, XSTRING (str)->size,
-                       STRING_BYTES (XSTRING (str)), charsets, table);
+  find_charset_in_text (SDATA (str), SCHARS (str),
+                       SBYTES (str), charsets, table);
 
   val = Qnil;
   if (charsets[1])
@@ -1176,8 +1176,7 @@ The conversion is done based on `nonascii-translation-table' (which see)
 }
 
 DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0,
-       doc: /* Return 1 regardless of the argument CHAR.
-This is now an obsolete function.  We keep it just for backward compatibility.  */)
+       doc: /* Return 1 regardless of the argument CHAR.  */)
      (ch)
      Lisp_Object ch;
 {
@@ -1272,7 +1271,7 @@ strwidth (str, len)
 
 int
 c_string_width (str, len, precision, nchars, nbytes)
-     unsigned char *str;
+     const unsigned char *str;
      int precision, *nchars, *nbytes;
 {
   int i = 0, i_byte = 0;
@@ -1336,9 +1335,9 @@ lisp_string_width (string, precision, nchars, nbytes)
      Lisp_Object string;
      int precision, *nchars, *nbytes;
 {
-  int len = XSTRING (string)->size;
-  int len_byte = STRING_BYTES (XSTRING (string));
-  unsigned char *str = XSTRING (string)->data;
+  int len = SCHARS (string);
+  int len_byte = SBYTES (string);
+  const unsigned char *str = SDATA (string);
   int i = 0, i_byte = 0;
   int width = 0;
   struct Lisp_Char_Table *dp = buffer_display_table ();
@@ -1452,7 +1451,7 @@ DEFUN ("chars-in-region", Fchars_in_region, Schars_in_region, 2, 2, 0,
 
 int
 chars_in_text (ptr, nbytes)
-     unsigned char *ptr;
+     const unsigned char *ptr;
      int nbytes;
 {
   /* current_buffer is null at early stages of Emacs initialization.  */
@@ -1469,10 +1468,10 @@ chars_in_text (ptr, nbytes)
 
 int
 multibyte_chars_in_text (ptr, nbytes)
-     unsigned char *ptr;
+     const unsigned char *ptr;
      int nbytes;
 {
-  unsigned char *endp;
+  const unsigned char *endp;
   int chars, bytes;
 
   endp = ptr + nbytes;
@@ -1494,10 +1493,10 @@ multibyte_chars_in_text (ptr, nbytes)
    0x80..0x9F are represented by 2 bytes in multibyte text.  */
 void
 parse_str_as_multibyte (str, len, nchars, nbytes)
-     unsigned char *str;
+     const unsigned char *str;
      int len, *nchars, *nbytes;
 {
-  unsigned char *endp = str + len;
+  const unsigned char *endp = str + len;
   int n, chars = 0, bytes = 0;
 
   while (str < endp)