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:
parent
0d016ca116
commit
2b8c5f0bff
2 changed files with 2 additions and 15 deletions
12
src/buffer.h
12
src/buffer.h
|
|
@ -1182,17 +1182,7 @@ buffer_has_overlays (void)
|
||||||
|
|
||||||
/* Return character code of multi-byte form at byte position POS. If POS
|
/* 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
|
doesn't point the head of valid multi-byte form, only the byte at
|
||||||
POS is returned. No range checking.
|
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. */
|
|
||||||
|
|
||||||
INLINE int
|
INLINE int
|
||||||
FETCH_MULTIBYTE_CHAR (ptrdiff_t pos)
|
FETCH_MULTIBYTE_CHAR (ptrdiff_t pos)
|
||||||
|
|
|
||||||
|
|
@ -308,10 +308,7 @@ enum
|
||||||
} \
|
} \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
/* Return the character code of character whose multibyte form is at
|
/* Return the character code of character whose multibyte form is at P. */
|
||||||
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. */
|
|
||||||
|
|
||||||
#define STRING_CHAR(p) \
|
#define STRING_CHAR(p) \
|
||||||
(!((p)[0] & 0x80) \
|
(!((p)[0] & 0x80) \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue