comparison src/charset.c @ 46370:40db0673e6f0

Most uses of XSTRING combined with STRING_BYTES or indirection changed to SCHARS, SBYTES, STRING_INTERVALS, SREF, SDATA; explicit size_byte references left unchanged for now.
author Ken Raeburn <raeburn@raeburn.org>
date Mon, 15 Jul 2002 00:00:41 +0000
parents 7042e479b30f
children 876356a4a4ca
comparison
equal deleted inserted replaced
46369:dd1d3b1d0053 46370:40db0673e6f0
698 || !(XINT (vec[5]) == -1 || XINT (vec[5]) == 0 || XINT (vec[5]) == 1) 698 || !(XINT (vec[5]) == -1 || XINT (vec[5]) == 0 || XINT (vec[5]) == 1)
699 || !STRINGP (vec[6]) 699 || !STRINGP (vec[6])
700 || !STRINGP (vec[7]) 700 || !STRINGP (vec[7])
701 || !STRINGP (vec[8])) 701 || !STRINGP (vec[8]))
702 error ("Invalid info-vector argument for defining charset %s", 702 error ("Invalid info-vector argument for defining charset %s",
703 XSTRING (SYMBOL_NAME (charset_symbol))->data); 703 SDATA (SYMBOL_NAME (charset_symbol)));
704 704
705 if (NILP (charset_id)) 705 if (NILP (charset_id))
706 { 706 {
707 charset_id = get_new_private_charset_id (XINT (vec[0]), XINT (vec[2])); 707 charset_id = get_new_private_charset_id (XINT (vec[0]), XINT (vec[2]));
708 if (XINT (charset_id) == 0) 708 if (XINT (charset_id) == 0)
709 error ("There's no room for a new private charset %s", 709 error ("There's no room for a new private charset %s",
710 XSTRING (SYMBOL_NAME (charset_symbol))->data); 710 SDATA (SYMBOL_NAME (charset_symbol)));
711 } 711 }
712 712
713 update_charset_table (charset_id, vec[0], vec[1], vec[2], vec[3], 713 update_charset_table (charset_id, vec[0], vec[1], vec[2], vec[3],
714 vec[4], vec[5], vec[6], vec[7], vec[8]); 714 vec[4], vec[5], vec[6], vec[7], vec[8]);
715 Fput (charset_symbol, Qcharset, CHARSET_TABLE_ENTRY (XINT (charset_id))); 715 Fput (charset_symbol, Qcharset, CHARSET_TABLE_ENTRY (XINT (charset_id)));
777 if (XINT (chars) != 94 && XINT (chars) != 96) 777 if (XINT (chars) != 94 && XINT (chars) != 96)
778 error ("Invalid CHARS %d, it should be 94 or 96", XINT (chars)); 778 error ("Invalid CHARS %d, it should be 94 or 96", XINT (chars));
779 if (XINT (final_char) < '0' || XFASTINT (final_char) > '~') 779 if (XINT (final_char) < '0' || XFASTINT (final_char) > '~')
780 error ("Invalid FINAL-CHAR %c, it should be `0'..`~'", XINT (chars)); 780 error ("Invalid FINAL-CHAR %c, it should be `0'..`~'", XINT (chars));
781 if ((charset = get_charset_id (charset_symbol)) < 0) 781 if ((charset = get_charset_id (charset_symbol)) < 0)
782 error ("Invalid charset %s", XSTRING (SYMBOL_NAME (charset_symbol))->data); 782 error ("Invalid charset %s", SDATA (SYMBOL_NAME (charset_symbol)));
783 783
784 ISO_CHARSET_TABLE (dimension, chars, final_char) = charset; 784 ISO_CHARSET_TABLE (dimension, chars, final_char) = charset;
785 return Qnil; 785 return Qnil;
786 } 786 }
787 787
941 Lisp_Object val; 941 Lisp_Object val;
942 942
943 CHECK_STRING (str); 943 CHECK_STRING (str);
944 944
945 bzero (charsets, (MAX_CHARSET + 1) * sizeof (int)); 945 bzero (charsets, (MAX_CHARSET + 1) * sizeof (int));
946 find_charset_in_text (XSTRING (str)->data, XSTRING (str)->size, 946 find_charset_in_text (SDATA (str), SCHARS (str),
947 STRING_BYTES (XSTRING (str)), charsets, table); 947 SBYTES (str), charsets, table);
948 948
949 val = Qnil; 949 val = Qnil;
950 if (charsets[1]) 950 if (charsets[1])
951 val = Fcons (Qunknown, val); 951 val = Fcons (Qunknown, val);
952 for (i = MAX_CHARSET; i >= MIN_CHARSET_OFFICIAL_DIMENSION1; i--) 952 for (i = MAX_CHARSET; i >= MIN_CHARSET_OFFICIAL_DIMENSION1; i--)
1333 int 1333 int
1334 lisp_string_width (string, precision, nchars, nbytes) 1334 lisp_string_width (string, precision, nchars, nbytes)
1335 Lisp_Object string; 1335 Lisp_Object string;
1336 int precision, *nchars, *nbytes; 1336 int precision, *nchars, *nbytes;
1337 { 1337 {
1338 int len = XSTRING (string)->size; 1338 int len = SCHARS (string);
1339 int len_byte = STRING_BYTES (XSTRING (string)); 1339 int len_byte = SBYTES (string);
1340 unsigned char *str = XSTRING (string)->data; 1340 unsigned char *str = SDATA (string);
1341 int i = 0, i_byte = 0; 1341 int i = 0, i_byte = 0;
1342 int width = 0; 1342 int width = 0;
1343 struct Lisp_Char_Table *dp = buffer_display_table (); 1343 struct Lisp_Char_Table *dp = buffer_display_table ();
1344 1344
1345 while (i < len) 1345 while (i < len)