Mercurial > emacs
changeset 23060:5036ee3de0ac
(Fmultibyte_char_to_unibyte): New function.
(syms_of_charset): defsubr it.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 18 Aug 1998 11:02:54 +0000 |
parents | 41745889db17 |
children | 74a5a99c805e |
files | src/charset.c |
diffstat | 1 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/charset.c Tue Aug 18 11:02:18 1998 +0000 +++ b/src/charset.c Tue Aug 18 11:02:54 1998 +0000 @@ -994,6 +994,26 @@ return make_number (c); } +DEFUN ("multibyte-char-to-unibyte", Fmultibyte_char_to_unibyte, + Smultibyte_char_to_unibyte, 1, 1, 0, + "Convert the multibyte character CH to unibyte character.\n\ +The conversion is done based on `nonascii-translation-table' (which see)\n\ + or `nonascii-insert-offset' (which see).") + (ch) + Lisp_Object ch; +{ + int c; + + CHECK_NUMBER (ch, 0); + c = XINT (ch); + if (c < 0) + error ("Invalid multibyte character: %d", c); + c = multibyte_char_to_unibyte (c, Qnil); + if (c < 0) + error ("Can't convert to unibyte character: %d", XINT (ch)); + return make_number (c); +} + DEFUN ("char-bytes", Fchar_bytes, Schar_bytes, 1, 1, 0, "Return byte length of multi-byte form of CHAR.") (ch) @@ -1819,6 +1839,7 @@ defsubr (&Siso_charset); defsubr (&Schar_valid_p); defsubr (&Sunibyte_char_to_multibyte); + defsubr (&Smultibyte_char_to_unibyte); defsubr (&Schar_bytes); defsubr (&Schar_width); defsubr (&Sstring_width);