Commit feb3066c authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(_fetch_multibyte_char_len): Extern deleted.

(FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len.
(BUF_FETCH_MULTIBYTE_CHAR): Likewise.
(FETCH_CHAR_AS_MULTIBYTE): New macro.
parent 3e411074
......@@ -319,7 +319,6 @@ else
/* Variables used locally in FETCH_MULTIBYTE_CHAR. */
extern unsigned char *_fetch_multibyte_char_p;
extern int _fetch_multibyte_char_len;
/* Return character code of multi-byte form at position POS. If POS
doesn't point the head of valid multi-byte form, only the byte at
......@@ -328,9 +327,17 @@ extern int _fetch_multibyte_char_len;
#define FETCH_MULTIBYTE_CHAR(pos) \
(_fetch_multibyte_char_p = (((pos) >= GPT_BYTE ? GAP_SIZE : 0) \
+ (pos) + BEG_ADDR - 1), \
_fetch_multibyte_char_len \
= ((pos) >= GPT_BYTE ? ZV_BYTE : GPT_BYTE) - (pos), \
STRING_CHAR (_fetch_multibyte_char_p, _fetch_multibyte_char_len))
STRING_CHAR (_fetch_multibyte_char_p, 0))
/* Return character at position POS. If the current buffer is unibyte
and the character is not ASCII, make the returning character
multibyte. */
#define FETCH_CHAR_AS_MULTIBYTE(pos) \
(!NILP (current_buffer->enable_multibyte_characters) \
? FETCH_MULTIBYTE_CHAR ((pos)) \
: unibyte_char_to_multibyte (FETCH_BYTE ((pos))))
/* Macros for accessing a character or byte,
or converting between byte positions and addresses,
......@@ -379,10 +386,7 @@ extern int _fetch_multibyte_char_len;
(_fetch_multibyte_char_p \
= (((pos) >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0) \
+ (pos) + BUF_BEG_ADDR (buf) - 1), \
_fetch_multibyte_char_len \
= (((pos) >= BUF_GPT_BYTE (buf) ? BUF_ZV_BYTE (buf) : BUF_GPT_BYTE (buf)) \
- (pos)), \
STRING_CHAR (_fetch_multibyte_char_p, _fetch_multibyte_char_len))
STRING_CHAR (_fetch_multibyte_char_p, 0))
/* Define the actual buffer data structures. */
......
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