1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-16 02:50:26 -08:00

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.
This commit is contained in:
Eli Zaretskii 2016-09-23 10:52:07 +03:00
parent 0d016ca116
commit 2b8c5f0bff
2 changed files with 2 additions and 15 deletions

View file

@ -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)

View file

@ -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) \