diff options
author | Kenichi Handa <[email protected]> | 1998-08-28 12:22:39 +0000 |
---|---|---|
committer | Kenichi Handa <[email protected]> | 1998-08-28 12:22:39 +0000 |
commit | 9b6a601f87535e51228a8febf2d0a37752ac3feb (patch) | |
tree | 8870b1b0b7b1a7b4f389b284172b998dd08f26b5 /src/charset.c | |
parent | 3124bc0ed3b0182f1c339dc0fe85a79f2474415a (diff) |
(Fchar_bytes): Now always return 1.
(char_bytes): New function.
Diffstat (limited to 'src/charset.c')
-rw-r--r-- | src/charset.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/charset.c b/src/charset.c index 819045842b..5bb3f6ee90 100644 --- a/src/charset.c +++ b/src/charset.c @@ -1015,29 +1015,39 @@ The conversion is done based on `nonascii-translation-table' (which see)\n\ } DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0, - "Return byte length of multi-byte form of CHAR.") + "Return 1 regardless of the argument CHAR. +This is now an obsolte function. We keep is just for backward compatibility.") (ch) Lisp_Object ch; { Lisp_Object val; - int bytes; CHECK_NUMBER (ch, 0); - if (COMPOSITE_CHAR_P (XFASTINT (ch))) + return make_number (1); +} + +/* Return how many bytes C will occupy in a multibyte buffer. + Don't call this function directly, instead use macro CHAR_BYTES. */ +int +char_bytes (c) + int c; +{ + int bytes; + + if (COMPOSITE_CHAR_P (c)) { - unsigned int id = COMPOSITE_CHAR_ID (XFASTINT (ch)); + unsigned int id = COMPOSITE_CHAR_ID (c); bytes = (id < n_cmpchars ? cmpchar_table[id]->len : 1); } else { - int charset = CHAR_CHARSET (XFASTINT (ch)); + int charset = CHAR_CHARSET (c); bytes = CHARSET_DEFINED_P (charset) ? CHARSET_BYTES (charset) : 1; } - XSETFASTINT (val, bytes); - return val; + return make_number (bytes); } /* Return the width of character of which multi-byte form starts with |