diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-08-22 14:40:35 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-08-22 14:40:35 -0700 |
commit | c325e199668a2449a9b0d662e114eec9d4802288 (patch) | |
tree | 274955e934a223b81d593cb27d4d444a1eaf4ab6 /src/character.h | |
parent | 512b06e4309ba6c5cd3d2d2518a931b0664c4150 (diff) | |
parent | 927afa1ef6514e62162068d7dbdc9d8381a71598 (diff) | |
download | emacs-c325e199668a2449a9b0d662e114eec9d4802288.tar.gz |
Merge from origin/emacs-25
927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
6bf83b5 * etc/AUTHORS: Update the AUTHORS file
73cbb81 ; ChangeLog spelling fixes
9b99772 Some assorted documentation clarifications
37d4723 Improve commentary in src/character.h
5ccd593 ; Fix typo in /etc/NEWS
96e3d16 * etc/NEWS: Mention the change in json-encode-string.
2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
# Conflicts:
# ChangeLog.2
# lisp/ldefs-boot.el
Diffstat (limited to 'src/character.h')
-rw-r--r-- | src/character.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/character.h b/src/character.h index 586f330fba9..0d0e31c4c92 100644 --- a/src/character.h +++ b/src/character.h @@ -237,7 +237,8 @@ enum #define CHAR_HEAD_P(byte) (((byte) & 0xC0) != 0x80) /* How many bytes a character that starts with BYTE occupies in a - multibyte form. */ + multibyte form. Unlike MULTIBYTE_LENGTH below, this macro does not + validate the multibyte form, but looks only at its first byte. */ #define BYTES_BY_CHAR_HEAD(byte) \ (!((byte) & 0x80) ? 1 \ : !((byte) & 0x20) ? 2 \ @@ -247,7 +248,9 @@ enum /* The byte length of multibyte form at unibyte string P ending at - PEND. If STR doesn't point to a valid multibyte form, return 0. */ + PEND. If the string doesn't point to a valid multibyte form, + return 0. Unlike BYTES_BY_CHAR_HEAD, this macro validates the + multibyte form. */ #define MULTIBYTE_LENGTH(p, pend) \ (p >= pend ? 0 \ @@ -263,7 +266,8 @@ enum : 0) -/* Like MULTIBYTE_LENGTH, but don't check the ending address. */ +/* Like MULTIBYTE_LENGTH, but don't check the ending address. The + multibyte form is still validated, unlike BYTES_BY_CHAR_HEAD. */ #define MULTIBYTE_LENGTH_NO_CHECK(p) \ (!((p)[0] & 0x80) ? 1 \ @@ -324,15 +328,7 @@ enum /* Like STRING_CHAR, but set ACTUAL_LEN to the length of multibyte - form. - - Note: This macro returns the actual length of the character's - multibyte sequence as it is stored in a buffer or string. The - character it returns might have a different codepoint that has a - different multibyte sequence of a different length, due to possible - unification of CJK characters inside string_char. Therefore do NOT - assume that the length returned by this macro is identical to the - length of the multibyte sequence of the character it returns. */ + form. */ #define STRING_CHAR_AND_LENGTH(p, actual_len) \ (!((p)[0] & 0x80) \ |