mirror of
https://github.com/neovim/neovim.git
synced 2024-12-22 04:05:09 -07:00
refactor(getchar.c): change most char_u to uint8_t (#22444)
This commit is contained in:
parent
1b632e99f2
commit
f113cba3ec
@ -2693,7 +2693,7 @@ char *getcmdline_prompt(const int firstc, const char *const prompt, const int at
|
|||||||
/// Read the 'wildmode' option, fill wim_flags[].
|
/// Read the 'wildmode' option, fill wim_flags[].
|
||||||
int check_opt_wim(void)
|
int check_opt_wim(void)
|
||||||
{
|
{
|
||||||
char_u new_wim_flags[4];
|
uint8_t new_wim_flags[4];
|
||||||
int i;
|
int i;
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
||||||
|
@ -125,8 +125,8 @@ static int KeyNoremap = 0; // remapping flags
|
|||||||
// middle for typeahead and room for new characters (which needs to be 3 *
|
// middle for typeahead and room for new characters (which needs to be 3 *
|
||||||
// MAXMAPLEN for the Amiga).
|
// MAXMAPLEN for the Amiga).
|
||||||
#define TYPELEN_INIT (5 * (MAXMAPLEN + 3))
|
#define TYPELEN_INIT (5 * (MAXMAPLEN + 3))
|
||||||
static char_u typebuf_init[TYPELEN_INIT]; // initial typebuf.tb_buf
|
static uint8_t typebuf_init[TYPELEN_INIT]; // initial typebuf.tb_buf
|
||||||
static char_u noremapbuf_init[TYPELEN_INIT]; // initial typebuf.tb_noremap
|
static uint8_t noremapbuf_init[TYPELEN_INIT]; // initial typebuf.tb_noremap
|
||||||
|
|
||||||
static size_t last_recorded_len = 0; // number of last recorded chars
|
static size_t last_recorded_len = 0; // number of last recorded chars
|
||||||
|
|
||||||
@ -337,14 +337,12 @@ static int read_readbuffers(int advance)
|
|||||||
|
|
||||||
static int read_readbuf(buffheader_T *buf, int advance)
|
static int read_readbuf(buffheader_T *buf, int advance)
|
||||||
{
|
{
|
||||||
char_u c;
|
|
||||||
|
|
||||||
if (buf->bh_first.b_next == NULL) { // buffer is empty
|
if (buf->bh_first.b_next == NULL) { // buffer is empty
|
||||||
return NUL;
|
return NUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffblock_T *const curr = buf->bh_first.b_next;
|
buffblock_T *const curr = buf->bh_first.b_next;
|
||||||
c = (char_u)curr->b_str[buf->bh_index];
|
uint8_t c = (uint8_t)curr->b_str[buf->bh_index];
|
||||||
|
|
||||||
if (advance) {
|
if (advance) {
|
||||||
if (curr->b_str[++buf->bh_index] == NUL) {
|
if (curr->b_str[++buf->bh_index] == NUL) {
|
||||||
@ -657,17 +655,17 @@ void stuffescaped(const char *arg, bool literally)
|
|||||||
static int read_redo(bool init, bool old_redo)
|
static int read_redo(bool init, bool old_redo)
|
||||||
{
|
{
|
||||||
static buffblock_T *bp;
|
static buffblock_T *bp;
|
||||||
static char_u *p;
|
static uint8_t *p;
|
||||||
int c;
|
int c;
|
||||||
int n;
|
int n;
|
||||||
char_u buf[MB_MAXBYTES + 1];
|
uint8_t buf[MB_MAXBYTES + 1];
|
||||||
|
|
||||||
if (init) {
|
if (init) {
|
||||||
bp = old_redo ? old_redobuff.bh_first.b_next : redobuff.bh_first.b_next;
|
bp = old_redo ? old_redobuff.bh_first.b_next : redobuff.bh_first.b_next;
|
||||||
if (bp == NULL) {
|
if (bp == NULL) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
p = (char_u *)bp->b_str;
|
p = (uint8_t *)bp->b_str;
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
if ((c = *p) == NUL) {
|
if ((c = *p) == NUL) {
|
||||||
@ -688,9 +686,9 @@ static int read_redo(bool init, bool old_redo)
|
|||||||
}
|
}
|
||||||
if (*++p == NUL && bp->b_next != NULL) {
|
if (*++p == NUL && bp->b_next != NULL) {
|
||||||
bp = bp->b_next;
|
bp = bp->b_next;
|
||||||
p = (char_u *)bp->b_str;
|
p = (uint8_t *)bp->b_str;
|
||||||
}
|
}
|
||||||
buf[i] = (char_u)c;
|
buf[i] = (uint8_t)c;
|
||||||
if (i == n - 1) { // last byte of a character
|
if (i == n - 1) { // last byte of a character
|
||||||
if (n != 1) {
|
if (n != 1) {
|
||||||
c = utf_ptr2char((char *)buf);
|
c = utf_ptr2char((char *)buf);
|
||||||
@ -854,7 +852,7 @@ bool noremap_keys(void)
|
|||||||
// return FAIL for failure, OK otherwise
|
// return FAIL for failure, OK otherwise
|
||||||
int ins_typebuf(char *str, int noremap, int offset, bool nottyped, bool silent)
|
int ins_typebuf(char *str, int noremap, int offset, bool nottyped, bool silent)
|
||||||
{
|
{
|
||||||
char_u *s1, *s2;
|
uint8_t *s1, *s2;
|
||||||
int addlen;
|
int addlen;
|
||||||
int val;
|
int val;
|
||||||
int nrm;
|
int nrm;
|
||||||
@ -975,11 +973,11 @@ int ins_typebuf(char *str, int noremap, int offset, bool nottyped, bool silent)
|
|||||||
/// @return the length of what was inserted
|
/// @return the length of what was inserted
|
||||||
int ins_char_typebuf(int c, int modifiers)
|
int ins_char_typebuf(int c, int modifiers)
|
||||||
{
|
{
|
||||||
char_u buf[MB_MAXBYTES * 3 + 4];
|
char buf[MB_MAXBYTES * 3 + 4];
|
||||||
unsigned int len = special_to_buf(c, modifiers, true, (char *)buf);
|
unsigned int len = special_to_buf(c, modifiers, true, buf);
|
||||||
assert(len < sizeof(buf));
|
assert(len < sizeof(buf));
|
||||||
buf[len] = NUL;
|
buf[len] = NUL;
|
||||||
(void)ins_typebuf((char *)buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
|
(void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
|
||||||
return (int)len;
|
return (int)len;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1081,11 +1079,11 @@ void del_typebuf(int len, int offset)
|
|||||||
|
|
||||||
// Write typed characters to script file.
|
// Write typed characters to script file.
|
||||||
// If recording is on put the character in the recordbuffer.
|
// If recording is on put the character in the recordbuffer.
|
||||||
static void gotchars(const char_u *chars, size_t len)
|
static void gotchars(const uint8_t *chars, size_t len)
|
||||||
FUNC_ATTR_NONNULL_ALL
|
FUNC_ATTR_NONNULL_ALL
|
||||||
{
|
{
|
||||||
const char_u *s = chars;
|
const uint8_t *s = chars;
|
||||||
static char_u buf[4] = { 0 };
|
static uint8_t buf[4] = { 0 };
|
||||||
static size_t buflen = 0;
|
static size_t buflen = 0;
|
||||||
size_t todo = len;
|
size_t todo = len;
|
||||||
|
|
||||||
@ -1404,7 +1402,7 @@ int merge_modifiers(int c_arg, int *modifiers)
|
|||||||
int vgetc(void)
|
int vgetc(void)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
char_u buf[MB_MAXBYTES + 1];
|
uint8_t buf[MB_MAXBYTES + 1];
|
||||||
|
|
||||||
// Do garbage collection when garbagecollect() was called previously and
|
// Do garbage collection when garbagecollect() was called previously and
|
||||||
// we are now at the toplevel.
|
// we are now at the toplevel.
|
||||||
@ -1548,9 +1546,9 @@ int vgetc(void)
|
|||||||
// Note: This will loop until enough bytes are received!
|
// Note: This will loop until enough bytes are received!
|
||||||
if ((n = MB_BYTE2LEN_CHECK(c)) > 1) {
|
if ((n = MB_BYTE2LEN_CHECK(c)) > 1) {
|
||||||
no_mapping++;
|
no_mapping++;
|
||||||
buf[0] = (char_u)c;
|
buf[0] = (uint8_t)c;
|
||||||
for (int i = 1; i < n; i++) {
|
for (int i = 1; i < n; i++) {
|
||||||
buf[i] = (char_u)vgetorpeek(true);
|
buf[i] = (uint8_t)vgetorpeek(true);
|
||||||
if (buf[i] == K_SPECIAL) {
|
if (buf[i] == K_SPECIAL) {
|
||||||
// Must be a K_SPECIAL - KS_SPECIAL - KE_FILLER sequence,
|
// Must be a K_SPECIAL - KS_SPECIAL - KE_FILLER sequence,
|
||||||
// which represents a K_SPECIAL (0x80).
|
// which represents a K_SPECIAL (0x80).
|
||||||
@ -1815,7 +1813,7 @@ typedef enum {
|
|||||||
/// Put "string[new_slen]" in typebuf.
|
/// Put "string[new_slen]" in typebuf.
|
||||||
/// Remove "slen" bytes.
|
/// Remove "slen" bytes.
|
||||||
/// @return FAIL for error, OK otherwise.
|
/// @return FAIL for error, OK otherwise.
|
||||||
static int put_string_in_typebuf(int offset, int slen, char_u *string, int new_slen)
|
static int put_string_in_typebuf(int offset, int slen, uint8_t *string, int new_slen)
|
||||||
{
|
{
|
||||||
int extra = new_slen - slen;
|
int extra = new_slen - slen;
|
||||||
string[new_slen] = NUL;
|
string[new_slen] = NUL;
|
||||||
@ -1838,7 +1836,7 @@ static int put_string_in_typebuf(int offset, int slen, char_u *string, int new_s
|
|||||||
/// in Insert mode completion. This includes the form with a CTRL modifier.
|
/// in Insert mode completion. This includes the form with a CTRL modifier.
|
||||||
static bool at_ins_compl_key(void)
|
static bool at_ins_compl_key(void)
|
||||||
{
|
{
|
||||||
char_u *p = typebuf.tb_buf + typebuf.tb_off;
|
uint8_t *p = typebuf.tb_buf + typebuf.tb_off;
|
||||||
int c = *p;
|
int c = *p;
|
||||||
|
|
||||||
if (typebuf.tb_len > 3 && c == K_SPECIAL && p[1] == KS_MODIFIER && (p[2] & MOD_MASK_CTRL)) {
|
if (typebuf.tb_len > 3 && c == K_SPECIAL && p[1] == KS_MODIFIER && (p[2] & MOD_MASK_CTRL)) {
|
||||||
@ -1858,7 +1856,7 @@ static int check_simplify_modifier(int max_offset)
|
|||||||
if (offset + 3 >= typebuf.tb_len) {
|
if (offset + 3 >= typebuf.tb_len) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
char_u *tp = typebuf.tb_buf + typebuf.tb_off + offset;
|
uint8_t *tp = typebuf.tb_buf + typebuf.tb_off + offset;
|
||||||
if (tp[0] == K_SPECIAL && tp[1] == KS_MODIFIER) {
|
if (tp[0] == K_SPECIAL && tp[1] == KS_MODIFIER) {
|
||||||
// A modifier was not used for a mapping, apply it to ASCII
|
// A modifier was not used for a mapping, apply it to ASCII
|
||||||
// keys. Shift would already have been applied.
|
// keys. Shift would already have been applied.
|
||||||
@ -1874,12 +1872,12 @@ static int check_simplify_modifier(int max_offset)
|
|||||||
vgetc_char = c;
|
vgetc_char = c;
|
||||||
vgetc_mod_mask = tp[2];
|
vgetc_mod_mask = tp[2];
|
||||||
}
|
}
|
||||||
char_u new_string[MB_MAXBYTES];
|
uint8_t new_string[MB_MAXBYTES];
|
||||||
int len;
|
int len;
|
||||||
if (IS_SPECIAL(new_c)) {
|
if (IS_SPECIAL(new_c)) {
|
||||||
new_string[0] = K_SPECIAL;
|
new_string[0] = K_SPECIAL;
|
||||||
new_string[1] = (char_u)K_SECOND(new_c);
|
new_string[1] = (uint8_t)K_SECOND(new_c);
|
||||||
new_string[2] = (char_u)K_THIRD(new_c);
|
new_string[2] = (uint8_t)K_THIRD(new_c);
|
||||||
len = 3;
|
len = 3;
|
||||||
} else {
|
} else {
|
||||||
len = utf_char2bytes(new_c, (char *)new_string);
|
len = utf_char2bytes(new_c, (char *)new_string);
|
||||||
@ -1889,7 +1887,7 @@ static int check_simplify_modifier(int max_offset)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tp[2] = (char_u)modifier;
|
tp[2] = (uint8_t)modifier;
|
||||||
if (put_string_in_typebuf(offset + 3, 1, new_string, len) == FAIL) {
|
if (put_string_in_typebuf(offset + 3, 1, new_string, len) == FAIL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -2010,10 +2008,10 @@ static int handle_mapping(int *keylenp, const bool *timedout, int *mapdepth)
|
|||||||
// Don't allow mapping the first byte(s) of a multi-byte char.
|
// Don't allow mapping the first byte(s) of a multi-byte char.
|
||||||
// Happens when mapping <M-a> and then changing 'encoding'.
|
// Happens when mapping <M-a> and then changing 'encoding'.
|
||||||
// Beware that 0x80 is escaped.
|
// Beware that 0x80 is escaped.
|
||||||
char_u *p1 = (char_u *)mp->m_keys;
|
char *p1 = mp->m_keys;
|
||||||
char_u *p2 = (char_u *)mb_unescape((const char **)&p1);
|
char *p2 = (char *)mb_unescape((const char **)&p1);
|
||||||
|
|
||||||
if (p2 != NULL && MB_BYTE2LEN(tb_c1) > utfc_ptr2len((char *)p2)) {
|
if (p2 != NULL && MB_BYTE2LEN(tb_c1) > utfc_ptr2len(p2)) {
|
||||||
mlen = 0;
|
mlen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2077,7 +2075,7 @@ static int handle_mapping(int *keylenp, const bool *timedout, int *mapdepth)
|
|||||||
|
|
||||||
// Check for match with 'pastetoggle'
|
// Check for match with 'pastetoggle'
|
||||||
if (*p_pt != NUL && mp == NULL && (State & (MODE_INSERT | MODE_NORMAL))) {
|
if (*p_pt != NUL && mp == NULL && (State & (MODE_INSERT | MODE_NORMAL))) {
|
||||||
bool match = typebuf_match_len((char_u *)p_pt, &mlen);
|
bool match = typebuf_match_len((uint8_t *)p_pt, &mlen);
|
||||||
if (match) {
|
if (match) {
|
||||||
// write chars to script file(s)
|
// write chars to script file(s)
|
||||||
if (mlen > typebuf.tb_maplen) {
|
if (mlen > typebuf.tb_maplen) {
|
||||||
@ -2267,7 +2265,7 @@ static int handle_mapping(int *keylenp, const bool *timedout, int *mapdepth)
|
|||||||
// If this is a LANGMAP mapping, then we didn't record the keys
|
// If this is a LANGMAP mapping, then we didn't record the keys
|
||||||
// at the start of the function and have to record them now.
|
// at the start of the function and have to record them now.
|
||||||
if (keylen > typebuf.tb_maplen && (mp->m_mode & MODE_LANGMAP) != 0) {
|
if (keylen > typebuf.tb_maplen && (mp->m_mode & MODE_LANGMAP) != 0) {
|
||||||
gotchars((char_u *)map_str, strlen(map_str));
|
gotchars((uint8_t *)map_str, strlen(map_str));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (save_m_noremap != REMAP_YES) {
|
if (save_m_noremap != REMAP_YES) {
|
||||||
@ -2442,7 +2440,7 @@ static int vgetorpeek(bool advance)
|
|||||||
if (advance) {
|
if (advance) {
|
||||||
// Also record this character, it might be needed to
|
// Also record this character, it might be needed to
|
||||||
// get out of Insert mode.
|
// get out of Insert mode.
|
||||||
*typebuf.tb_buf = (char_u)c;
|
*typebuf.tb_buf = (uint8_t)c;
|
||||||
gotchars(typebuf.tb_buf, 1);
|
gotchars(typebuf.tb_buf, 1);
|
||||||
}
|
}
|
||||||
cmd_silent = false;
|
cmd_silent = false;
|
||||||
@ -2515,7 +2513,7 @@ static int vgetorpeek(bool advance)
|
|||||||
// move cursor left, if possible
|
// move cursor left, if possible
|
||||||
if (curwin->w_cursor.col != 0) {
|
if (curwin->w_cursor.col != 0) {
|
||||||
colnr_T col = 0;
|
colnr_T col = 0;
|
||||||
char_u *ptr;
|
char *ptr;
|
||||||
if (curwin->w_wcol > 0) {
|
if (curwin->w_wcol > 0) {
|
||||||
// After auto-indenting and no text is following,
|
// After auto-indenting and no text is following,
|
||||||
// we are expecting to truncate the trailing
|
// we are expecting to truncate the trailing
|
||||||
@ -2524,11 +2522,10 @@ static int vgetorpeek(bool advance)
|
|||||||
if (did_ai
|
if (did_ai
|
||||||
&& *skipwhite(get_cursor_line_ptr() + curwin->w_cursor.col) == NUL) {
|
&& *skipwhite(get_cursor_line_ptr() + curwin->w_cursor.col) == NUL) {
|
||||||
curwin->w_wcol = 0;
|
curwin->w_wcol = 0;
|
||||||
ptr = (char_u *)get_cursor_line_ptr();
|
ptr = get_cursor_line_ptr();
|
||||||
chartabsize_T cts;
|
chartabsize_T cts;
|
||||||
init_chartabsize_arg(&cts, curwin,
|
init_chartabsize_arg(&cts, curwin, curwin->w_cursor.lnum, 0, ptr, ptr);
|
||||||
curwin->w_cursor.lnum, 0, (char *)ptr, (char *)ptr);
|
while (cts.cts_ptr < ptr + curwin->w_cursor.col) {
|
||||||
while ((char_u *)cts.cts_ptr < ptr + curwin->w_cursor.col) {
|
|
||||||
if (!ascii_iswhite(*cts.cts_ptr)) {
|
if (!ascii_iswhite(*cts.cts_ptr)) {
|
||||||
curwin->w_wcol = cts.cts_vcol;
|
curwin->w_wcol = cts.cts_vcol;
|
||||||
}
|
}
|
||||||
@ -2554,9 +2551,9 @@ static int vgetorpeek(bool advance)
|
|||||||
if (col > 0 && curwin->w_wcol > 0) {
|
if (col > 0 && curwin->w_wcol > 0) {
|
||||||
// Correct when the cursor is on the right halve
|
// Correct when the cursor is on the right halve
|
||||||
// of a double-wide character.
|
// of a double-wide character.
|
||||||
ptr = (char_u *)get_cursor_line_ptr();
|
ptr = get_cursor_line_ptr();
|
||||||
col -= utf_head_off((char *)ptr, (char *)ptr + col);
|
col -= utf_head_off(ptr, ptr + col);
|
||||||
if (utf_ptr2cells((char *)ptr + col) > 1) {
|
if (utf_ptr2cells(ptr + col) > 1) {
|
||||||
curwin->w_wcol--;
|
curwin->w_wcol--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2760,7 +2757,7 @@ static int vgetorpeek(bool advance)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (timedout && c == ESC) {
|
if (timedout && c == ESC) {
|
||||||
char_u nop_buf[3];
|
uint8_t nop_buf[3];
|
||||||
|
|
||||||
// When recording there will be no timeout. Add a <Nop> after the ESC
|
// When recording there will be no timeout. Add a <Nop> after the ESC
|
||||||
// to avoid that it forms a key code with following characters.
|
// to avoid that it forms a key code with following characters.
|
||||||
@ -2798,7 +2795,7 @@ static int vgetorpeek(bool advance)
|
|||||||
/// Return -1 when end of input script reached.
|
/// Return -1 when end of input script reached.
|
||||||
///
|
///
|
||||||
/// @param wait_time milliseconds
|
/// @param wait_time milliseconds
|
||||||
int inchar(char_u *buf, int maxlen, long wait_time)
|
int inchar(uint8_t *buf, int maxlen, long wait_time)
|
||||||
{
|
{
|
||||||
int len = 0; // Init for GCC.
|
int len = 0; // Init for GCC.
|
||||||
int retesc = false; // Return ESC with gotint.
|
int retesc = false; // Return ESC with gotint.
|
||||||
@ -2837,7 +2834,7 @@ int inchar(char_u *buf, int maxlen, long wait_time)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
buf[0] = (char_u)script_char;
|
buf[0] = (uint8_t)script_char;
|
||||||
len = 1;
|
len = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2851,7 +2848,7 @@ int inchar(char_u *buf, int maxlen, long wait_time)
|
|||||||
// and buf may be pointing inside typebuf.tb_buf[].
|
// and buf may be pointing inside typebuf.tb_buf[].
|
||||||
if (got_int) {
|
if (got_int) {
|
||||||
#define DUM_LEN (MAXMAPLEN * 3 + 3)
|
#define DUM_LEN (MAXMAPLEN * 3 + 3)
|
||||||
char_u dum[DUM_LEN + 1];
|
uint8_t dum[DUM_LEN + 1];
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
len = os_inchar(dum, DUM_LEN, 0L, 0, NULL);
|
len = os_inchar(dum, DUM_LEN, 0L, 0, NULL);
|
||||||
@ -2884,13 +2881,13 @@ int inchar(char_u *buf, int maxlen, long wait_time)
|
|||||||
typebuf.tb_change_cnt = 1;
|
typebuf.tb_change_cnt = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fix_input_buffer((char *)buf, len);
|
return fix_input_buffer(buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix typed characters for use by vgetc() and check_termcode().
|
// Fix typed characters for use by vgetc() and check_termcode().
|
||||||
// "buf[]" must have room to triple the number of bytes!
|
// "buf[]" must have room to triple the number of bytes!
|
||||||
// Returns the new length.
|
// Returns the new length.
|
||||||
int fix_input_buffer(char *buf, int len)
|
int fix_input_buffer(uint8_t *buf, int len)
|
||||||
FUNC_ATTR_NONNULL_ALL
|
FUNC_ATTR_NONNULL_ALL
|
||||||
{
|
{
|
||||||
if (!using_script()) {
|
if (!using_script()) {
|
||||||
@ -2901,7 +2898,7 @@ int fix_input_buffer(char *buf, int len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Reading from script, need to process special bytes
|
// Reading from script, need to process special bytes
|
||||||
char_u *p = (char_u *)buf;
|
uint8_t *p = buf;
|
||||||
|
|
||||||
// Two characters are special: NUL and K_SPECIAL.
|
// Two characters are special: NUL and K_SPECIAL.
|
||||||
// Replace NUL by K_SPECIAL KS_ZERO KE_FILLER
|
// Replace NUL by K_SPECIAL KS_ZERO KE_FILLER
|
||||||
@ -2911,8 +2908,8 @@ int fix_input_buffer(char *buf, int len)
|
|||||||
|| (p[0] == K_SPECIAL
|
|| (p[0] == K_SPECIAL
|
||||||
&& (i < 2 || p[1] != KS_EXTRA))) {
|
&& (i < 2 || p[1] != KS_EXTRA))) {
|
||||||
memmove(p + 3, p + 1, (size_t)i);
|
memmove(p + 3, p + 1, (size_t)i);
|
||||||
p[2] = (char_u)K_THIRD(p[0]);
|
p[2] = (uint8_t)K_THIRD(p[0]);
|
||||||
p[1] = (char_u)K_SECOND(p[0]);
|
p[1] = (uint8_t)K_SECOND(p[0]);
|
||||||
p[0] = K_SPECIAL;
|
p[0] = K_SPECIAL;
|
||||||
p += 2;
|
p += 2;
|
||||||
len += 2;
|
len += 2;
|
||||||
|
@ -789,7 +789,7 @@ EXTERN int redir_reg INIT(= 0); // message redirection register
|
|||||||
EXTERN int redir_vname INIT(= 0); // message redirection variable
|
EXTERN int redir_vname INIT(= 0); // message redirection variable
|
||||||
EXTERN garray_T *capture_ga INIT(= NULL); // captured output for execute()
|
EXTERN garray_T *capture_ga INIT(= NULL); // captured output for execute()
|
||||||
|
|
||||||
EXTERN char_u langmap_mapchar[256]; // mapping for language keys
|
EXTERN uint8_t langmap_mapchar[256]; // mapping for language keys
|
||||||
|
|
||||||
EXTERN int save_p_ls INIT(= -1); // Save 'laststatus' setting
|
EXTERN int save_p_ls INIT(= -1); // Save 'laststatus' setting
|
||||||
EXTERN int save_p_wmh INIT(= -1); // Save 'winminheight' setting
|
EXTERN int save_p_wmh INIT(= -1); // Save 'winminheight' setting
|
||||||
@ -832,7 +832,7 @@ EXTERN long sub_nsubs; // total number of substitutions
|
|||||||
EXTERN linenr_T sub_nlines; // total number of lines changed
|
EXTERN linenr_T sub_nlines; // total number of lines changed
|
||||||
|
|
||||||
// table to store parsed 'wildmode'
|
// table to store parsed 'wildmode'
|
||||||
EXTERN char_u wim_flags[4];
|
EXTERN uint8_t wim_flags[4];
|
||||||
|
|
||||||
// whether titlestring and iconstring contains statusline syntax
|
// whether titlestring and iconstring contains statusline syntax
|
||||||
#define STL_IN_ICON 1
|
#define STL_IN_ICON 1
|
||||||
|
@ -86,7 +86,7 @@ int ask_yesno(const char *const str, const bool direct)
|
|||||||
/// Translates the interrupt character for unix to ESC.
|
/// Translates the interrupt character for unix to ESC.
|
||||||
int get_keystroke(MultiQueue *events)
|
int get_keystroke(MultiQueue *events)
|
||||||
{
|
{
|
||||||
char *buf = NULL;
|
uint8_t *buf = NULL;
|
||||||
int buflen = 150;
|
int buflen = 150;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
int n;
|
int n;
|
||||||
@ -112,7 +112,7 @@ int get_keystroke(MultiQueue *events)
|
|||||||
|
|
||||||
// First time: blocking wait. Second time: wait up to 100ms for a
|
// First time: blocking wait. Second time: wait up to 100ms for a
|
||||||
// terminal code to complete.
|
// terminal code to complete.
|
||||||
n = os_inchar((uint8_t *)buf + len, maxlen, len == 0 ? -1L : 100L, 0, events);
|
n = os_inchar(buf + len, maxlen, len == 0 ? -1L : 100L, 0, events);
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
// Replace zero and K_SPECIAL by a special key code.
|
// Replace zero and K_SPECIAL by a special key code.
|
||||||
n = fix_input_buffer(buf + len, n);
|
n = fix_input_buffer(buf + len, n);
|
||||||
@ -127,14 +127,14 @@ int get_keystroke(MultiQueue *events)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle modifier and/or special key code.
|
// Handle modifier and/or special key code.
|
||||||
n = (uint8_t)buf[0];
|
n = buf[0];
|
||||||
if (n == K_SPECIAL) {
|
if (n == K_SPECIAL) {
|
||||||
n = TO_SPECIAL((uint8_t)buf[1], (uint8_t)buf[2]);
|
n = TO_SPECIAL(buf[1], buf[2]);
|
||||||
if ((uint8_t)buf[1] == KS_MODIFIER
|
if (buf[1] == KS_MODIFIER
|
||||||
|| n == K_IGNORE
|
|| n == K_IGNORE
|
||||||
|| (is_mouse_key(n) && n != K_LEFTMOUSE)) {
|
|| (is_mouse_key(n) && n != K_LEFTMOUSE)) {
|
||||||
if ((uint8_t)buf[1] == KS_MODIFIER) {
|
if (buf[1] == KS_MODIFIER) {
|
||||||
mod_mask = (uint8_t)buf[2];
|
mod_mask = buf[2];
|
||||||
}
|
}
|
||||||
len -= 3;
|
len -= 3;
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
@ -149,7 +149,7 @@ int get_keystroke(MultiQueue *events)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
buf[len >= buflen ? buflen - 1 : len] = NUL;
|
buf[len >= buflen ? buflen - 1 : len] = NUL;
|
||||||
n = utf_ptr2char(buf);
|
n = utf_ptr2char((char *)buf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
xfree(buf);
|
xfree(buf);
|
||||||
|
@ -323,7 +323,7 @@ static void set_maparg_rhs(const char *const orig_rhs, const size_t orig_rhs_len
|
|||||||
mapargs->orig_rhs_len = 0;
|
mapargs->orig_rhs_len = 0;
|
||||||
// stores <lua>ref_no<cr> in map_str
|
// stores <lua>ref_no<cr> in map_str
|
||||||
mapargs->rhs_len = (size_t)vim_snprintf(S_LEN(tmp_buf), "%c%c%c%d\r", K_SPECIAL,
|
mapargs->rhs_len = (size_t)vim_snprintf(S_LEN(tmp_buf), "%c%c%c%d\r", K_SPECIAL,
|
||||||
(char_u)KS_EXTRA, KE_LUA, rhs_lua);
|
KS_EXTRA, KE_LUA, rhs_lua);
|
||||||
mapargs->rhs = xstrdup(tmp_buf);
|
mapargs->rhs = xstrdup(tmp_buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1879,7 +1879,7 @@ int makemap(FILE *fd, buf_T *buf)
|
|||||||
// return FAIL for failure, OK otherwise
|
// return FAIL for failure, OK otherwise
|
||||||
int put_escstr(FILE *fd, char *strstart, int what)
|
int put_escstr(FILE *fd, char *strstart, int what)
|
||||||
{
|
{
|
||||||
char_u *str = (char_u *)strstart;
|
uint8_t *str = (uint8_t *)strstart;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
// :map xx <Nop>
|
// :map xx <Nop>
|
||||||
@ -1956,7 +1956,7 @@ int put_escstr(FILE *fd, char *strstart, int what)
|
|||||||
}
|
}
|
||||||
} else if (c < ' ' || c > '~' || c == '|'
|
} else if (c < ' ' || c > '~' || c == '|'
|
||||||
|| (what == 0 && c == ' ')
|
|| (what == 0 && c == ' ')
|
||||||
|| (what == 1 && str == (char_u *)strstart && c == ' ')
|
|| (what == 1 && str == (uint8_t *)strstart && c == ' ')
|
||||||
|| (what != 2 && c == '<')) {
|
|| (what != 2 && c == '<')) {
|
||||||
if (putc(Ctrl_V, fd) < 0) {
|
if (putc(Ctrl_V, fd) < 0) {
|
||||||
return FAIL;
|
return FAIL;
|
||||||
@ -2383,7 +2383,7 @@ int langmap_adjust_mb(int c)
|
|||||||
void langmap_init(void)
|
void langmap_init(void)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
langmap_mapchar[i] = (char_u)i; // we init with a one-to-one map
|
langmap_mapchar[i] = (uint8_t)i; // we init with a one-to-one map
|
||||||
}
|
}
|
||||||
ga_init(&langmap_mapga, sizeof(langmap_entry_T), 8);
|
ga_init(&langmap_mapga, sizeof(langmap_entry_T), 8);
|
||||||
}
|
}
|
||||||
@ -2447,7 +2447,7 @@ void langmap_set(void)
|
|||||||
langmap_set_entry(from, to);
|
langmap_set_entry(from, to);
|
||||||
} else {
|
} else {
|
||||||
assert(to <= UCHAR_MAX);
|
assert(to <= UCHAR_MAX);
|
||||||
langmap_mapchar[from & 255] = (char_u)to;
|
langmap_mapchar[from & 255] = (uint8_t)to;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Advance to next pair
|
// Advance to next pair
|
||||||
|
Loading…
Reference in New Issue
Block a user