static void byte_char_debug_check (struct buffer *b, EMACS_INT charpos, EMACS_INT bytepos) { EMACS_INT nchars = 0; if (bytepos > BUF_GPT_BYTE (b)) { nchars = multibyte_chars_in_text (BUF_BEG_ADDR (b), BUF_GPT_BYTE (b) - BUF_BEG_BYTE (b)); nchars += multibyte_chars_in_text (BUF_GAP_END_ADDR (b), bytepos - BUF_GPT_BYTE (b)); } else nchars = multibyte_chars_in_text (BUF_BEG_ADDR (b), bytepos - BUF_BEG_BYTE (b)); if (charpos - 1 != nchars) abort (); }
static void byte_char_debug_check (struct buffer *b, ptrdiff_t charpos, ptrdiff_t bytepos) { ptrdiff_t nchars; if (NILP (BVAR (b, enable_multibyte_characters))) return; if (bytepos > BUF_GPT_BYTE (b)) nchars = multibyte_chars_in_text (BUF_BEG_ADDR (b), BUF_GPT_BYTE (b) - BUF_BEG_BYTE (b)) + multibyte_chars_in_text (BUF_GAP_END_ADDR (b), bytepos - BUF_GPT_BYTE (b)); else nchars = multibyte_chars_in_text (BUF_BEG_ADDR (b), bytepos - BUF_BEG_BYTE (b)); if (charpos - 1 != nchars) emacs_abort (); }