Commit 2b8c5f0b authored by Eli Zaretskii's avatar Eli Zaretskii

Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR

* src/character.h (STRING_CHAR):
* src/buffer.h (FETCH_MULTIBYTE_CHAR): Update commentary: these
two macros no longer do any character unification, so the caveats
in those comments are no longer pertinent.
parent 0d016ca1
......@@ -1182,17 +1182,7 @@ buffer_has_overlays (void)
/* Return character code of multi-byte form at byte position POS. If POS
doesn't point the head of valid multi-byte form, only the byte at
POS is returned. No range checking.
WARNING: The character returned by this macro could be "unified"
inside STRING_CHAR, if the original character in the buffer belongs
to one of the Private Use Areas (PUAs) of codepoints that Emacs
uses to support non-unified CJK characters. If that happens,
CHAR_BYTES will return a value that is different from the length of
the original multibyte sequence stored in the buffer. Therefore,
do _not_ use FETCH_MULTIBYTE_CHAR if you need to advance through
the buffer to the next character after fetching this one. Instead,
use either FETCH_CHAR_ADVANCE or STRING_CHAR_AND_LENGTH. */
POS is returned. No range checking. */
INLINE int
FETCH_MULTIBYTE_CHAR (ptrdiff_t pos)
......
......@@ -308,10 +308,7 @@ enum
} \
} while (false)
/* Return the character code of character whose multibyte form is at
P. Note that this macro unifies CJK characters whose codepoints
are in the Private Use Areas (PUAs), so it might return a different
codepoint from the one actually stored at P. */
/* Return the character code of character whose multibyte form is at P. */
#define STRING_CHAR(p) \
(!((p)[0] & 0x80) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment