aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2015-04-25 13:34:30 -0300
committerFelipe Oliveira Carvalho <felipekde@gmail.com>2015-04-25 13:37:44 -0300
commit0bce4dc54427d05ab320a88f6269a9c1b05ea899 (patch)
tree4a3aff2749eb0b70b7947ecfc7cd56d56ad4e29d /src
parentd350d12a00518aa0d9e3a1d49c6815c3398d882f (diff)
parentc96b933acc4d9ec7382d451055e44c85959772b9 (diff)
downloadrneovim-0bce4dc54427d05ab320a88f6269a9c1b05ea899.tar.gz
rneovim-0bce4dc54427d05ab320a88f6269a9c1b05ea899.tar.bz2
rneovim-0bce4dc54427d05ab320a88f6269a9c1b05ea899.zip
Merge #2486: Replacements for vim_iswhite, VIM_ISDIGIT, vim_isdigit, vim_isxdigit, and vim_isspace
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ascii.h50
-rw-r--r--src/nvim/buffer.c12
-rw-r--r--src/nvim/charset.c49
-rw-r--r--src/nvim/cursor_shape.c2
-rw-r--r--src/nvim/diff.c22
-rw-r--r--src/nvim/digraph.c2
-rw-r--r--src/nvim/edit.c40
-rw-r--r--src/nvim/eval.c38
-rw-r--r--src/nvim/ex_cmds.c24
-rw-r--r--src/nvim/ex_cmds2.c10
-rw-r--r--src/nvim/ex_docmd.c54
-rw-r--r--src/nvim/ex_eval.c12
-rw-r--r--src/nvim/ex_getln.c10
-rw-r--r--src/nvim/farsi.c2
-rw-r--r--src/nvim/fileio.c22
-rw-r--r--src/nvim/fold.c16
-rw-r--r--src/nvim/getchar.c14
-rw-r--r--src/nvim/hardcopy.c4
-rw-r--r--src/nvim/if_cscope.c6
-rw-r--r--src/nvim/indent.c19
-rw-r--r--src/nvim/indent_c.c22
-rw-r--r--src/nvim/keymap.c4
-rw-r--r--src/nvim/macros.h7
-rw-r--r--src/nvim/main.c8
-rw-r--r--src/nvim/mark.c14
-rw-r--r--src/nvim/mbyte.c2
-rw-r--r--src/nvim/menu.c28
-rw-r--r--src/nvim/message.c14
-rw-r--r--src/nvim/misc1.c44
-rw-r--r--src/nvim/normal.c20
-rw-r--r--src/nvim/ops.c34
-rw-r--r--src/nvim/option.c50
-rw-r--r--src/nvim/os_unix.c2
-rw-r--r--src/nvim/quickfix.c2
-rw-r--r--src/nvim/regexp.c34
-rw-r--r--src/nvim/regexp_nfa.c18
-rw-r--r--src/nvim/screen.c6
-rw-r--r--src/nvim/search.c32
-rw-r--r--src/nvim/spell.c40
-rw-r--r--src/nvim/strings.c12
-rw-r--r--src/nvim/syntax.c29
-rw-r--r--src/nvim/tag.c10
-rw-r--r--src/nvim/vim.h6
43 files changed, 424 insertions, 422 deletions
diff --git a/src/nvim/ascii.h b/src/nvim/ascii.h
index d9d9eac04d..cc9d1202c2 100644
--- a/src/nvim/ascii.h
+++ b/src/nvim/ascii.h
@@ -8,6 +8,10 @@
#ifndef NVIM_ASCII_H
#define NVIM_ASCII_H
+#include <stdbool.h>
+
+#include "nvim/func_attr.h"
+
// Definitions of various common control characters.
#define CharOrd(x) ((x) < 'a' ? (x) - 'A' : (x) - 'a')
@@ -87,4 +91,50 @@
# define PATHSEPSTR "/"
#endif
+static inline bool ascii_iswhite(int) REAL_FATTR_ALWAYS_INLINE REAL_FATTR_CONST;
+static inline bool ascii_isdigit(int) REAL_FATTR_ALWAYS_INLINE REAL_FATTR_CONST;
+static inline bool ascii_isxdigit(int) REAL_FATTR_ALWAYS_INLINE REAL_FATTR_CONST;
+static inline bool ascii_isspace(int) REAL_FATTR_ALWAYS_INLINE REAL_FATTR_CONST;
+
+/// Checks if `c` is a space or tab character.
+///
+/// @see {ascii_isdigit}
+static inline bool ascii_iswhite(int c)
+{
+ return c == ' ' || c == '\t';
+}
+
+/// Check whether character is a decimal digit.
+///
+/// Library isdigit() function is officially locale-dependent and, for
+/// example, returns true for superscript 1 (ยน) in locales where encoding
+/// contains it in lower 8 bits. Also avoids crashes in case c is below
+/// 0 or above 255: library functions are officially defined as accepting
+/// only EOF and unsigned char values (otherwise it is undefined behaviour)
+/// what may be used for some optimizations (e.g. simple `return
+/// isdigit_table[c];`).
+static inline bool ascii_isdigit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+/// Checks if `c` is a hexadecimal digit, that is, one of 0-9, a-f, A-F.
+///
+/// @see {ascii_isdigit}
+static inline bool ascii_isxdigit(int c)
+{
+ return (c >= '0' && c <= '9')
+ || (c >= 'a' && c <= 'f')
+ || (c >= 'A' && c <= 'F');
+}
+
+/// Checks if `c` is a white-space character, that is,
+/// one of \f, \n, \r, \t, \v.
+///
+/// @see {ascii_isdigit}
+static inline bool ascii_isspace(int c)
+{
+ return (c >= 9 && c <= 13) || c == ' ';
+}
+
#endif /* NVIM_ASCII_H */
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 4585278714..1465b13c00 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -752,7 +752,7 @@ do_bufdel (
arg = skipwhite(arg);
if (*arg == NUL)
break;
- if (!VIM_ISDIGIT(*arg)) {
+ if (!ascii_isdigit(*arg)) {
p = skiptowhite_esc(arg);
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE,
FALSE, FALSE);
@@ -3012,7 +3012,7 @@ build_stl_str_hl (
s++;
l = -1;
}
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
minwid = getdigits_int(&s);
if (minwid < 0) /* overflow */
minwid = 0;
@@ -3048,7 +3048,7 @@ build_stl_str_hl (
}
if (*s == '.') {
s++;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
maxwid = getdigits_int(&s);
if (maxwid <= 0) /* overflow */
maxwid = 50;
@@ -3321,7 +3321,7 @@ build_stl_str_hl (
if (minwid > 0) {
for (; l < minwid && p + 1 < out + outlen; l++) {
/* Don't put a "-" in front of a digit. */
- if (l + 1 == minwid && fillchar == '-' && VIM_ISDIGIT(*t))
+ if (l + 1 == minwid && fillchar == '-' && ascii_isdigit(*t))
*p++ = ' ';
else
*p++ = fillchar;
@@ -3334,7 +3334,7 @@ build_stl_str_hl (
/* Change a space by fillchar, unless fillchar is '-' and a
* digit follows. */
if (fillable && p[-1] == ' '
- && (!VIM_ISDIGIT(*t) || fillchar != '-'))
+ && (!ascii_isdigit(*t) || fillchar != '-'))
p[-1] = fillchar;
}
for (; l < minwid && p + 1 < out + outlen; l++)
@@ -4075,7 +4075,7 @@ chk_modeline (
prev = -1;
for (s = ml_get(lnum); *s != NUL; ++s) {
- if (prev == -1 || vim_isspace(prev)) {
+ if (prev == -1 || ascii_isspace(prev)) {
if ((prev != -1 && STRNCMP(s, "ex:", (size_t)3) == 0)
|| STRNCMP(s, "vi:", (size_t)3) == 0)
break;
diff --git a/src/nvim/charset.c b/src/nvim/charset.c
index 4633bacb78..da65839353 100644
--- a/src/nvim/charset.c
+++ b/src/nvim/charset.c
@@ -177,7 +177,7 @@ int buf_init_chartab(buf_T *buf, int global)
++p;
}
- if (VIM_ISDIGIT(*p)) {
+ if (ascii_isdigit(*p)) {
c = getdigits_int(&p);
} else if (has_mbyte) {
c = mb_ptr2char_adv(&p);
@@ -189,7 +189,7 @@ int buf_init_chartab(buf_T *buf, int global)
if ((*p == '-') && (p[1] != NUL)) {
++p;
- if (VIM_ISDIGIT(*p)) {
+ if (ascii_isdigit(*p)) {
c2 = getdigits_int(&p);
} else if (has_mbyte) {
c2 = mb_ptr2char_adv(&p);
@@ -1407,7 +1407,7 @@ void getvcols(win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left,
char_u* skipwhite(char_u *q)
{
char_u *p = q;
- while (vim_iswhite(*p)) {
+ while (ascii_iswhite(*p)) {
// skip to next non-white
p++;
}
@@ -1422,7 +1422,7 @@ char_u* skipwhite(char_u *q)
char_u* skipdigits(char_u *q)
{
char_u *p = q;
- while (VIM_ISDIGIT(*p)) {
+ while (ascii_isdigit(*p)) {
// skip to next non-digit
p++;
}
@@ -1438,7 +1438,7 @@ char_u* skipdigits(char_u *q)
char_u* skiphex(char_u *q)
{
char_u *p = q;
- while (vim_isxdigit(*p)) {
+ while (ascii_isxdigit(*p)) {
// skip to next non-digit
p++;
}
@@ -1453,7 +1453,7 @@ char_u* skiphex(char_u *q)
char_u* skiptodigit(char_u *q)
{
char_u *p = q;
- while (*p != NUL && !VIM_ISDIGIT(*p)) {
+ while (*p != NUL && !ascii_isdigit(*p)) {
// skip to next digit
p++;
}
@@ -1468,40 +1468,13 @@ char_u* skiptodigit(char_u *q)
char_u* skiptohex(char_u *q)
{
char_u *p = q;
- while (*p != NUL && !vim_isxdigit(*p)) {
+ while (*p != NUL && !ascii_isxdigit(*p)) {
// skip to next digit
p++;
}
return p;
}
-/// Variant of isdigit() that can handle characters > 0x100.
-/// We don't use isdigit() here, because on some systems it also considers
-/// superscript 1 to be a digit.
-/// Use the VIM_ISDIGIT() macro for simple arguments.
-///
-/// @param c
-///
-/// @return TRUE if the character is a digit.
-int vim_isdigit(int c)
-{
- return c >= '0' && c <= '9';
-}
-
-/// Variant of isxdigit() that can handle characters > 0x100.
-/// We don't use isxdigit() here, because on some systems it also considers
-/// superscript 1 to be a digit.
-///
-/// @param c
-///
-/// @return TRUE if the character is a digit.
-int vim_isxdigit(int c)
-{
- return (c >= '0' && c <= '9')
- || (c >= 'a' && c <= 'f')
- || (c >= 'A' && c <= 'F');
-}
-
// Vim's own character class functions. These exist because many library
// islower()/toupper() etc. do not work properly: they crash when used with
// invalid values or can't handle latin1 when the locale is C.
@@ -1764,7 +1737,7 @@ void vim_str2nr(char_u *start, int *hexp, int *len, int dooct, int dohex,
if (dohex
&& ((hex == 'X') || (hex == 'x'))
- && vim_isxdigit(ptr[2])) {
+ && ascii_isxdigit(ptr[2])) {
// hexadecimal
ptr += 2;
} else {
@@ -1773,7 +1746,7 @@ void vim_str2nr(char_u *start, int *hexp, int *len, int dooct, int dohex,
if (dooct) {
// Don't interpret "0", "08" or "0129" as octal.
- for (n = 1; VIM_ISDIGIT(ptr[n]); ++n) {
+ for (n = 1; ascii_isdigit(ptr[n]); ++n) {
if (ptr[n] > '7') {
// can't be octal
hex = 0;
@@ -1798,13 +1771,13 @@ void vim_str2nr(char_u *start, int *hexp, int *len, int dooct, int dohex,
}
} else if ((hex != 0) || (dohex > 1)) {
// hex
- while (vim_isxdigit(*ptr)) {
+ while (ascii_isxdigit(*ptr)) {
un = 16 * un + (unsigned long)hex2nr(*ptr);
ptr++;
}
} else {
// decimal
- while (VIM_ISDIGIT(*ptr)) {
+ while (ascii_isdigit(*ptr)) {
un = 10 * un + (unsigned long)(*ptr - '0');
ptr++;
}
diff --git a/src/nvim/cursor_shape.c b/src/nvim/cursor_shape.c
index 2e98b8f512..2fbab13e56 100644
--- a/src/nvim/cursor_shape.c
+++ b/src/nvim/cursor_shape.c
@@ -133,7 +133,7 @@ char_u *parse_shape_opt(int what)
len = 8;
if (len != 0) {
p += len;
- if (!VIM_ISDIGIT(*p))
+ if (!ascii_isdigit(*p))
return (char_u *)N_("E548: digit expected");
int n = getdigits_int(&p);
if (len == 3) { /* "ver" or "hor" */
diff --git a/src/nvim/diff.c b/src/nvim/diff.c
index 88d63b3383..d4fbb290c1 100644
--- a/src/nvim/diff.c
+++ b/src/nvim/diff.c
@@ -1590,7 +1590,7 @@ static int diff_cmp(char_u *s1, char_u *s2)
char_u *p2 = s2;
while (*p1 != NUL && *p2 != NUL) {
- if (vim_iswhite(*p1) && vim_iswhite(*p2)) {
+ if (ascii_iswhite(*p1) && ascii_iswhite(*p2)) {
p1 = skipwhite(p1);
p2 = skipwhite(p2);
} else {
@@ -1781,7 +1781,7 @@ int diffopt_changed(void)
if (STRNCMP(p, "filler", 6) == 0) {
p += 6;
diff_flags_new |= DIFF_FILLER;
- } else if ((STRNCMP(p, "context:", 8) == 0) && VIM_ISDIGIT(p[8])) {
+ } else if ((STRNCMP(p, "context:", 8) == 0) && ascii_isdigit(p[8])) {
p += 8;
diff_context_new = getdigits_int(&p);
} else if (STRNCMP(p, "icase", 5) == 0) {
@@ -1796,7 +1796,7 @@ int diffopt_changed(void)
} else if (STRNCMP(p, "vertical", 8) == 0) {
p += 8;
diff_flags_new |= DIFF_VERTICAL;
- } else if ((STRNCMP(p, "foldcolumn:", 11) == 0) && VIM_ISDIGIT(p[11])) {
+ } else if ((STRNCMP(p, "foldcolumn:", 11) == 0) && ascii_isdigit(p[11])) {
p += 11;
diff_foldcolumn_new = getdigits_int(&p);
}
@@ -1897,8 +1897,8 @@ int diff_find_change(win_T *wp, linenr_T lnum, int *startp, int *endp)
while (line_org[si_org] != NUL) {
if ((diff_flags & DIFF_IWHITE)
- && vim_iswhite(line_org[si_org])
- && vim_iswhite(line_new[si_new])) {
+ && ascii_iswhite(line_org[si_org])
+ && ascii_iswhite(line_new[si_new])) {
si_org = (int)(skipwhite(line_org + si_org) - line_org);
si_new = (int)(skipwhite(line_new + si_new) - line_new);
} else {
@@ -1931,13 +1931,13 @@ int diff_find_change(win_T *wp, linenr_T lnum, int *startp, int *endp)
&& ei_org >= 0
&& ei_new >= 0) {
if ((diff_flags & DIFF_IWHITE)
- && vim_iswhite(line_org[ei_org])
- && vim_iswhite(line_new[ei_new])) {
- while (ei_org >= *startp && vim_iswhite(line_org[ei_org])) {
+ && ascii_iswhite(line_org[ei_org])
+ && ascii_iswhite(line_new[ei_new])) {
+ while (ei_org >= *startp && ascii_iswhite(line_org[ei_org])) {
ei_org--;
}
- while (ei_new >= si_new && vim_iswhite(line_new[ei_new])) {
+ while (ei_new >= si_new && ascii_iswhite(line_new[ei_new])) {
ei_new--;
}
} else {
@@ -2108,11 +2108,11 @@ void ex_diffgetput(exarg_T *eap)
} else {
// Buffer number or pattern given. Ignore trailing white space.
p = eap->arg + STRLEN(eap->arg);
- while (p > eap->arg && vim_iswhite(p[-1])) {
+ while (p > eap->arg && ascii_iswhite(p[-1])) {
p--;
}
- for (i = 0; vim_isdigit(eap->arg[i]) && eap->arg + i < p; ++i) {
+ for (i = 0; ascii_isdigit(eap->arg[i]) && eap->arg + i < p; ++i) {
}
if (eap->arg + i == p) {
diff --git a/src/nvim/digraph.c b/src/nvim/digraph.c
index cf998c041d..63329c878c 100644
--- a/src/nvim/digraph.c
+++ b/src/nvim/digraph.c
@@ -1609,7 +1609,7 @@ void putdigraph(char_u *str)
}
str = skipwhite(str);
- if (!VIM_ISDIGIT(*str)) {
+ if (!ascii_isdigit(*str)) {
EMSG(_(e_number_exp));
return;
}
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index a04f393825..d19f10f47f 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -1662,7 +1662,7 @@ void truncate_spaces(char_u *line)
int i;
/* find start of trailing white space */
- for (i = (int)STRLEN(line) - 1; i >= 0 && vim_iswhite(line[i]); i--) {
+ for (i = (int)STRLEN(line) - 1; i >= 0 && ascii_iswhite(line[i]); i--) {
if (State & REPLACE_FLAG)
replace_join(0); /* remove a NUL from the replace stack */
}
@@ -1838,7 +1838,7 @@ static int ins_compl_accept_char(int c)
case CTRL_X_OMNI:
/* Command line and Omni completion can work with just about any
* printable character, but do stop at white space. */
- return vim_isprintc(c) && !vim_iswhite(c);
+ return vim_isprintc(c) && !ascii_iswhite(c);
case CTRL_X_WHOLE_LINE:
/* For while line completion a space can be part of the line. */
@@ -4722,7 +4722,7 @@ int get_literal(void)
if (hex
|| unicode != 0
) {
- if (!vim_isxdigit(nc))
+ if (!ascii_isxdigit(nc))
break;
cc = cc * 16 + hex2nr(nc);
} else if (octal) {
@@ -4730,7 +4730,7 @@ int get_literal(void)
break;
cc = cc * 8 + nc - '0';
} else {
- if (!VIM_ISDIGIT(nc))
+ if (!ascii_isdigit(nc))
break;
cc = cc * 10 + nc - '0';
}
@@ -4824,7 +4824,7 @@ insert_special (
*/
# define ISSPECIAL(c) ((c) < ' ' || (c) >= DEL || (c) == '0' || (c) == '^')
-# define WHITECHAR(cc) (vim_iswhite(cc) && \
+# define WHITECHAR(cc) (ascii_iswhite(cc) && \
(!enc_utf8 || \
!utf_iscomposing( \
utf_ptr2char(get_cursor_pos_ptr() + 1))))
@@ -4870,7 +4870,7 @@ insertchar (
*/
if (textwidth > 0
&& ((flags & INSCHAR_FORMAT)
- || (!vim_iswhite(c)
+ || (!ascii_iswhite(c)
&& !((State & REPLACE_FLAG)
&& !(State & VREPLACE_FLAG)
&& *get_cursor_pos_ptr() != NUL)
@@ -4915,7 +4915,7 @@ insertchar (
++p;
middle_len = copy_option_part(&p, lead_end, COM_MAX_LEN, ",");
/* Don't count trailing white space for middle_len */
- while (middle_len > 0 && vim_iswhite(lead_end[middle_len - 1]))
+ while (middle_len > 0 && ascii_iswhite(lead_end[middle_len - 1]))
--middle_len;
/* Find the end-comment string */
@@ -4925,7 +4925,7 @@ insertchar (
/* Skip white space before the cursor */
i = curwin->w_cursor.col;
- while (--i >= 0 && vim_iswhite(line[i]))
+ while (--i >= 0 && ascii_iswhite(line[i]))
;
i++;
@@ -5071,7 +5071,7 @@ internal_format (
&& !(State & VREPLACE_FLAG)
) {
cc = gchar_cursor();
- if (vim_iswhite(cc)) {
+ if (ascii_iswhite(cc)) {
save_char = cc;
pchar_cursor('x');
}
@@ -5545,7 +5545,7 @@ static void redo_literal(int c)
/* Only digits need special treatment. Translate them into a string of
* three digits. */
- if (VIM_ISDIGIT(c)) {
+ if (ascii_isdigit(c)) {
vim_snprintf((char *)buf, sizeof(buf), "%03d", c);
AppendToRedobuff(buf);
} else
@@ -5682,13 +5682,13 @@ stop_insert (
if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL) {
dec_cursor();
cc = gchar_cursor();
- if (!vim_iswhite(cc))
+ if (!ascii_iswhite(cc))
curwin->w_cursor = tpos;
}
auto_format(TRUE, FALSE);
- if (vim_iswhite(cc)) {
+ if (ascii_iswhite(cc)) {
if (gchar_cursor() != NUL)
inc_cursor();
/* If the cursor is still at the same character, also keep
@@ -5720,7 +5720,7 @@ stop_insert (
if (gchar_cursor() == NUL && curwin->w_cursor.col > 0)
--curwin->w_cursor.col;
cc = gchar_cursor();
- if (!vim_iswhite(cc))
+ if (!ascii_iswhite(cc))
break;
if (del_char(TRUE) == FAIL)
break; /* should not happen */
@@ -5836,7 +5836,7 @@ void beginline(int flags)
if (flags & (BL_WHITE | BL_SOL)) {
char_u *ptr;
- for (ptr = get_cursor_line_ptr(); vim_iswhite(*ptr)
+ for (ptr = get_cursor_line_ptr(); ascii_iswhite(*ptr)
&& !((flags & BL_FIX) && ptr[1] == NUL); ++ptr)
++curwin->w_cursor.col;
}
@@ -7369,7 +7369,7 @@ static int ins_bs(int c, int mode, int *inserted_space_p)
/* delete characters until we are at or before want_vcol */
while (vcol > want_vcol
- && (cc = *(get_cursor_pos_ptr() - 1), vim_iswhite(cc)))
+ && (cc = *(get_cursor_pos_ptr() - 1), ascii_iswhite(cc)))
ins_bs_one(&vcol);
/* insert extra spaces until we are at want_vcol */
@@ -7403,13 +7403,13 @@ static int ins_bs(int c, int mode, int *inserted_space_p)
dec_cursor();
/* start of word? */
- if (mode == BACKSPACE_WORD && !vim_isspace(gchar_cursor())) {
+ if (mode == BACKSPACE_WORD && !ascii_isspace(gchar_cursor())) {
mode = BACKSPACE_WORD_NOT_SPACE;
temp = vim_iswordc(gchar_cursor());
}
/* end of word? */
else if (mode == BACKSPACE_WORD_NOT_SPACE
- && (vim_isspace(cc = gchar_cursor())
+ && (ascii_isspace(cc = gchar_cursor())
|| vim_iswordc(cc) != temp)) {
if (!revins_on)
inc_cursor();
@@ -7882,7 +7882,7 @@ static int ins_tab(void)
/* Find first white before the cursor */
fpos = curwin->w_cursor;
- while (fpos.col > 0 && vim_iswhite(ptr[-1])) {
+ while (fpos.col > 0 && ascii_iswhite(ptr[-1])) {
--fpos.col;
--ptr;
}
@@ -7901,7 +7901,7 @@ static int ins_tab(void)
/* Use as many TABs as possible. Beware of 'breakindent', 'showbreak'
and 'linebreak' adding extra virtual columns. */
- while (vim_iswhite(*ptr)) {
+ while (ascii_iswhite(*ptr)) {
i = lbr_chartabsize(NULL, (char_u *)"\t", vcol);
if (vcol + i > want_vcol)
break;
@@ -8201,7 +8201,7 @@ static void ins_try_si(int c)
ptr = ml_get(pos->lnum);
i = pos->col;
if (i > 0) /* skip blanks before '{' */
- while (--i > 0 && vim_iswhite(ptr[i]))
+ while (--i > 0 && ascii_iswhite(ptr[i]))
;
curwin->w_cursor.lnum = pos->lnum;
curwin->w_cursor.col = i;
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 24502116f3..7d9dc9ab51 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -1299,7 +1299,7 @@ int eval_foldexpr(char_u *arg, int *cp)
/* If the result is a string, check if there is a non-digit before
* the number. */
s = tv.vval.v_string;
- if (!VIM_ISDIGIT(*s) && *s != '-')
+ if (!ascii_isdigit(*s) && *s != '-')
*cp = *s++;
retval = atol((char *)s);
}
@@ -1636,7 +1636,7 @@ static char_u *list_arg_vars(exarg_T *eap, char_u *arg, int *first)
while (!ends_excmd(*arg) && !got_int) {
if (error || eap->skip) {
arg = find_name_end(arg, NULL, NULL, FNE_INCL_BR | FNE_CHECK_START);
- if (!vim_iswhite(*arg) && !ends_excmd(*arg)) {
+ if (!ascii_iswhite(*arg) && !ends_excmd(*arg)) {
emsg_severe = TRUE;
EMSG(_(e_trailing));
break;
@@ -1943,7 +1943,7 @@ get_lval (
p = find_name_end(name, &expr_start, &expr_end, fne_flags);
if (expr_start != NULL) {
/* Don't expand the name when we already know there is an error. */
- if (unlet && !vim_iswhite(*p) && !ends_excmd(*p)
+ if (unlet && !ascii_iswhite(*p) && !ends_excmd(*p)
&& *p != '[' && *p != '.') {
EMSG(_(e_trailing));
return NULL;
@@ -2476,7 +2476,7 @@ void *eval_for_line(char_u *arg, int *errp, char_u **nextcmdp, int skip)
return fi;
expr = skipwhite(expr);
- if (expr[0] != 'i' || expr[1] != 'n' || !vim_iswhite(expr[2])) {
+ if (expr[0] != 'i' || expr[1] != 'n' || !ascii_iswhite(expr[2])) {
EMSG(_("E690: Missing \"in\" after :for"));
return fi;
}
@@ -2556,7 +2556,7 @@ void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx)
for (p = arg + STRLEN(arg); p >= arg; ) {
xp->xp_pattern = p;
mb_ptr_back(arg, p);
- if (vim_iswhite(*p))
+ if (ascii_iswhite(*p))
break;
}
return;
@@ -2754,7 +2754,7 @@ void ex_lockvar(exarg_T *eap)
if (eap->forceit)
deep = -1;
- else if (vim_isdigit(*arg)) {
+ else if (ascii_isdigit(*arg)) {
deep = getdigits_int(&arg);
arg = skipwhite(arg);
}
@@ -2778,7 +2778,7 @@ static void ex_unletlock(exarg_T *eap, char_u *argstart, int deep)
FNE_CHECK_START);
if (lv.ll_name == NULL)
error = TRUE; /* error but continue parsing */
- if (name_end == NULL || (!vim_iswhite(*name_end)
+ if (name_end == NULL || (!ascii_iswhite(*name_end)
&& !ends_excmd(*name_end))) {
if (name_end != NULL) {
emsg_severe = TRUE;
@@ -4005,14 +4005,14 @@ eval7 (
* strict to avoid backwards compatibility problems.
* Don't look for a float after the "." operator, so that
* ":let vers = 1.2.3" doesn't fail. */
- if (!want_string && p[0] == '.' && vim_isdigit(p[1])) {
+ if (!want_string && p[0] == '.' && ascii_isdigit(p[1])) {
get_float = TRUE;
p = skipdigits(p + 2);
if (*p == 'e' || *p == 'E') {
++p;
if (*p == '-' || *p == '+')
++p;
- if (!vim_isdigit(*p))
+ if (!ascii_isdigit(*p))
get_float = FALSE;
else
p = skipdigits(p + 1);
@@ -4551,7 +4551,7 @@ static int get_string_tv(char_u **arg, typval_T *rettv, int evaluate)
case 'x':
case 'u': /* Unicode: "\u0023" */
case 'U':
- if (vim_isxdigit(p[1])) {
+ if (ascii_isxdigit(p[1])) {
int n, nr;
int c = toupper(*p);
@@ -4560,7 +4560,7 @@ static int get_string_tv(char_u **arg, typval_T *rettv, int evaluate)
else
n = 4;
nr = 0;
- while (--n >= 0 && vim_isxdigit(p[1])) {
+ while (--n >= 0 && ascii_isxdigit(p[1])) {
++p;
nr = (nr << 4) + hex2nr(*p);
}
@@ -8940,7 +8940,7 @@ static void f_function(typval_T *argvars, typval_T *rettv)
char_u *s;
s = get_tv_string(&argvars[0]);
- if (s == NULL || *s == NUL || VIM_ISDIGIT(*s))
+ if (s == NULL || *s == NUL || ascii_isdigit(*s))
EMSG2(_(e_invarg2), s);
/* Don't check an autoload name for existence here. */
else if (vim_strchr(s, AUTOLOAD_CHAR) == NULL && !function_exists(s))
@@ -10020,9 +10020,9 @@ static void f_has(typval_T *argvars, typval_T *rettv)
if (STRNICMP(name, "patch", 5) == 0) {
if (name[5] == '-'
&& STRLEN(name) > 11
- && vim_isdigit(name[6])
- && vim_isdigit(name[8])
- && vim_isdigit(name[10])) {
+ && ascii_isdigit(name[6])
+ && ascii_isdigit(name[8])
+ && ascii_isdigit(name[10])) {
int major = atoi((char *)name + 6);
int minor = atoi((char *)name + 8);
@@ -13663,7 +13663,7 @@ static void f_setreg(typval_T *argvars, typval_T *rettv)
break;
case 'b': case Ctrl_V: /* block-wise selection */
yank_type = MBLOCK;
- if (VIM_ISDIGIT(stropt[1])) {
+ if (ascii_isdigit(stropt[1])) {
++stropt;
block_len = getdigits_long(&stropt) - 1;
--stropt;
@@ -16502,7 +16502,7 @@ handle_subscript (
&& (**arg == '['
|| (**arg == '.' && rettv->v_type == VAR_DICT)
|| (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC)))
- && !vim_iswhite(*(*arg - 1))) {
+ && !ascii_iswhite(*(*arg - 1))) {
if (**arg == '(') {
/* need to copy the funcref so that we can clear rettv */
if (evaluate) {
@@ -17247,7 +17247,7 @@ static int valid_varname(char_u *varname)
char_u *p;
for (p = varname; *p != NUL; ++p)
- if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
+ if (!eval_isnamec1(*p) && (p == varname || !ascii_isdigit(*p))
&& *p != AUTOLOAD_CHAR) {
EMSG2(_(e_illvar), varname);
return FALSE;
@@ -17929,7 +17929,7 @@ void ex_function(exarg_T *eap)
}
} else {
/* skip ':' and blanks*/
- for (p = theline; vim_iswhite(*p) || *p == ':'; ++p)
+ for (p = theline; ascii_iswhite(*p) || *p == ':'; ++p)
;
/* Check for "endfunction". */
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index efb05d80fb..78200e4689 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -266,7 +266,7 @@ static int linelen(int *has_tab)
/* find the character after the last non-blank character */
for (last = first + STRLEN(first);
- last > first && vim_iswhite(last[-1]); --last)
+ last > first && ascii_iswhite(last[-1]); --last)
;
save = *last;
*last = NUL;
@@ -374,7 +374,7 @@ void ex_sort(exarg_T *eap)
sort_abort = sort_ic = sort_rx = sort_nr = sort_oct = sort_hex = 0;
for (p = eap->arg; *p != NUL; ++p) {
- if (vim_iswhite(*p))
+ if (ascii_iswhite(*p))
;
else if (*p == 'i')
sort_ic = TRUE;
@@ -581,7 +581,7 @@ void ex_retab(exarg_T *eap)
vcol = 0;
did_undo = FALSE;
for (;; ) {
- if (vim_iswhite(ptr[col])) {
+ if (ascii_iswhite(ptr[col])) {
if (!got_tab && num_spaces == 0) {
/* First consecutive white-space */
start_vcol = vcol;
@@ -1858,7 +1858,7 @@ viminfo_readstring (
char_u *retval;
char_u *s, *d;
- if (virp->vir_line[off] == Ctrl_V && vim_isdigit(virp->vir_line[off + 1])) {
+ if (virp->vir_line[off] == Ctrl_V && ascii_isdigit(virp->vir_line[off + 1])) {
ssize_t len = atol((char *)virp->vir_line + off + 1);
retval = xmalloc(len);
// TODO(philix): change type of vim_fgets() size argument to size_t
@@ -3244,7 +3244,7 @@ void ex_z(exarg_T *eap)
++x;
if (*x != 0) {
- if (!VIM_ISDIGIT(*x)) {
+ if (!ascii_isdigit(*x)) {
EMSG(_("E144: non-numeric argument to :z"));
return;
}
@@ -3422,7 +3422,7 @@ void do_sub(exarg_T *eap)
which_pat = RE_SUBST; /* use last substitute regexp */
/* new pattern and substitution */
- if (eap->cmd[0] == 's' && *cmd != NUL && !vim_iswhite(*cmd)
+ if (eap->cmd[0] == 's' && *cmd != NUL && !ascii_iswhite(*cmd)
&& vim_strchr((char_u *)"0123456789cegriIp|\"", *cmd) == NULL) {
/* don't accept alphanumeric for separator */
if (isalpha(*cmd)) {
@@ -3591,7 +3591,7 @@ void do_sub(exarg_T *eap)
* check for a trailing count
*/
cmd = skipwhite(cmd);
- if (VIM_ISDIGIT(*cmd)) {
+ if (ascii_isdigit(*cmd)) {
i = getdigits_long(&cmd);
if (i <= 0 && !eap->skip && do_error) {
EMSG(_(e_zerocount));
@@ -4622,7 +4622,7 @@ void ex_help(exarg_T *eap)
/* remove trailing blanks */
p = arg + STRLEN(arg) - 1;
- while (p > arg && vim_iswhite(*p) && p[-1] != '\\')
+ while (p > arg && ascii_iswhite(*p) && p[-1] != '\\')
*p-- = NUL;
/* Check for a specified language */
@@ -5069,7 +5069,7 @@ void fix_help_buffer(void)
for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum) {
line = ml_get_buf(curbuf, lnum, FALSE);
len = (int)STRLEN(line);
- if (in_example && len > 0 && !vim_iswhite(line[0])) {
+ if (in_example && len > 0 && !ascii_iswhite(line[0])) {
/* End of example: non-white or '<' in first column. */
if (line[0] == '<') {
/* blank-out a '<' in the first column */
@@ -5281,7 +5281,7 @@ void ex_helptags(exarg_T *eap)
int add_help_tags = FALSE;
/* Check for ":helptags ++t {dir}". */
- if (STRNCMP(eap->arg, "++t", 3) == 0 && vim_iswhite(eap->arg[3])) {
+ if (STRNCMP(eap->arg, "++t", 3) == 0 && ascii_iswhite(eap->arg[3])) {
add_help_tags = TRUE;
eap->arg = skipwhite(eap->arg + 3);
}
@@ -5867,10 +5867,10 @@ void ex_sign(exarg_T *eap)
/* first arg could be placed sign id */
arg1 = arg;
- if (VIM_ISDIGIT(*arg))
+ if (ascii_isdigit(*arg))
{
id = getdigits_int(&arg);
- if (!vim_iswhite(*arg) && *arg != NUL)
+ if (!ascii_iswhite(*arg) && *arg != NUL)
{
id = -1;
arg = arg1;
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index dc04835774..a2577513d4 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -465,7 +465,7 @@ dbg_parsearg (
bp->dbg_lnum = curwin->w_cursor.lnum;
else if (
gap != &prof_ga &&
- VIM_ISDIGIT(*p)) {
+ ascii_isdigit(*p)) {
bp->dbg_lnum = getdigits_long(&p);
p = skipwhite(p);
} else
@@ -570,7 +570,7 @@ void ex_breakdel(exarg_T *eap)
gap = &prof_ga;
}
- if (vim_isdigit(*eap->arg)) {
+ if (ascii_isdigit(*eap->arg)) {
/* ":breakdel {nr}" */
nr = atol((char *)eap->arg);
for (int i = 0; i < gap->ga_len; ++i)
@@ -1371,7 +1371,7 @@ static char_u *do_one_arg(char_u *str)
*p++ = *str;
} else {
/* An item ends at a space not in backticks */
- if (!inbacktick && vim_isspace(*str))
+ if (!inbacktick && ascii_isspace(*str))
break;
if (*str == '`')
inbacktick ^= TRUE;
@@ -3023,7 +3023,7 @@ static char_u *get_mess_env(void)
p = (char_u *)os_getenv("LC_MESSAGES");
if (p == NULL || *p == NUL) {
p = (char_u *)os_getenv("LANG");
- if (p != NULL && VIM_ISDIGIT(*p))
+ if (p != NULL && ascii_isdigit(*p))
p = NULL; /* ignore something like "1043" */
# ifdef HAVE_GET_LOCALE_VAL
if (p == NULL || *p == NUL)
@@ -3091,7 +3091,7 @@ void ex_language(exarg_T *eap)
* Allow abbreviation, but require at least 3 characters to avoid
* confusion with a two letter language name "me" or "ct". */
p = skiptowhite(eap->arg);
- if ((*p == NUL || vim_iswhite(*p)) && p - eap->arg >= 3) {
+ if ((*p == NUL || ascii_iswhite(*p)) && p - eap->arg >= 3) {
if (STRNICMP(eap->arg, "messages", p - eap->arg) == 0) {
what = VIM_LC_MESSAGES;
name = skipwhite(p);
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 0bcc4a35ff..f76ab923b2 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -1157,7 +1157,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
* 2. handle command modifiers.
*/
p = ea.cmd;
- if (VIM_ISDIGIT(*ea.cmd))
+ if (ascii_isdigit(*ea.cmd))
p = skipwhite(skipdigits(ea.cmd));
switch (*p) {
/* When adding an entry, also modify cmd_exists(). */
@@ -1251,7 +1251,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
if (save_msg_silent == -1)
save_msg_silent = msg_silent;
++msg_silent;
- if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1])) {
+ if (*ea.cmd == '!' && !ascii_iswhite(ea.cmd[-1])) {
/* ":silent!", but not "silent !cmd" */
ea.cmd = skipwhite(ea.cmd + 1);
++emsg_silent;
@@ -1260,7 +1260,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
continue;
case 't': if (checkforcmd(&p, "tab", 3)) {
- if (vim_isdigit(*ea.cmd))
+ if (ascii_isdigit(*ea.cmd))
cmdmod.tab = atoi((char *)ea.cmd) + 1;
else
cmdmod.tab = tabpage_index(curtab) + 1;
@@ -1287,7 +1287,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
break;
if (verbose_save < 0)
verbose_save = p_verbose;
- if (vim_isdigit(*ea.cmd))
+ if (ascii_isdigit(*ea.cmd))
p_verbose = atoi((char *)ea.cmd);
else
p_verbose = 1;
@@ -1703,7 +1703,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
&& *ea.arg != NUL
/* Do not allow register = for user commands */
&& (!IS_USER_CMDIDX(ea.cmdidx) || *ea.arg != '=')
- && !((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg))) {
+ && !((ea.argt & COUNT) && ascii_isdigit(*ea.arg))) {
if (valid_yank_reg(*ea.arg, (ea.cmdidx != CMD_put
&& !IS_USER_CMDIDX(ea.cmdidx)))) {
ea.regname = *ea.arg++;
@@ -1720,9 +1720,9 @@ static char_u * do_one_cmd(char_u **cmdlinep,
* Check for a count. When accepting a BUFNAME, don't use "123foo" as a
* count, it's a buffer name.
*/
- if ((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg)
+ if ((ea.argt & COUNT) && ascii_isdigit(*ea.arg)
&& (!(ea.argt & BUFNAME) || *(p = skipdigits(ea.arg)) == NUL
- || vim_iswhite(*p))) {
+ || ascii_iswhite(*p))) {
n = getdigits_long(&ea.arg);
ea.arg = skipwhite(ea.arg);
if (n <= 0 && !ni && (ea.argt & ZEROR) == 0) {
@@ -1875,7 +1875,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
p = skiptowhite_esc(ea.arg);
else {
p = ea.arg + STRLEN(ea.arg);
- while (p > ea.arg && vim_iswhite(p[-1]))
+ while (p > ea.arg && ascii_iswhite(p[-1]))
--p;
}
ea.line2 = buflist_findpat(ea.arg, p, (ea.argt & BUFUNL) != 0,
@@ -2168,7 +2168,7 @@ find_ucmd (
k = 0;
while (k < len && *np != NUL && *cp++ == *np++)
k++;
- if (k == len || (*np == NUL && vim_isdigit(eap->cmd[k]))) {
+ if (k == len || (*np == NUL && ascii_isdigit(eap->cmd[k]))) {
/* If finding a second match, the command is ambiguous. But
* not if a buffer-local command wasn't a full match and a
* global command is a full match. */
@@ -2272,7 +2272,7 @@ int modifier_len(char_u *cmd)
int i, j;
char_u *p = cmd;
- if (VIM_ISDIGIT(*cmd))
+ if (ascii_isdigit(*cmd))
p = skipwhite(skipdigits(cmd));
for (i = 0; i < (int)ARRAY_SIZE(cmdmods); ++i) {
for (j = 0; p[j] != NUL; ++j)
@@ -2314,7 +2314,7 @@ int cmd_exists(char_u *name)
p = find_command(&ea, &full);
if (p == NULL)
return 3;
- if (vim_isdigit(*name) && ea.cmdidx != CMD_match)
+ if (ascii_isdigit(*name) && ea.cmdidx != CMD_match)
return 0;
if (*skipwhite(p) != NUL)
return 0; /* trailing garbage */
@@ -2577,7 +2577,7 @@ set_one_cmd_context (
else if (c == '|'
|| c == '\n'
|| c == '"'
- || vim_iswhite(c)) {
+ || ascii_iswhite(c)) {
len = 0; /* avoid getting stuck when space is in 'isfname' */
while (*p != NUL) {
if (has_mbyte)
@@ -3223,22 +3223,22 @@ get_address (
break;
default:
- if (VIM_ISDIGIT(*cmd)) /* absolute line number */
+ if (ascii_isdigit(*cmd)) /* absolute line number */
lnum = getdigits_long(&cmd);
}
for (;; ) {
cmd = skipwhite(cmd);
- if (*cmd != '-' && *cmd != '+' && !VIM_ISDIGIT(*cmd))
+ if (*cmd != '-' && *cmd != '+' && !ascii_isdigit(*cmd))
break;
if (lnum == MAXLNUM)
lnum = curwin->w_cursor.lnum; /* "+1" is same as ".+1" */
- if (VIM_ISDIGIT(*cmd))
+ if (ascii_isdigit(*cmd))
i = '+'; /* "number" is same as "+number" */
else
i = *cmd++;
- if (!VIM_ISDIGIT(*cmd)) /* '+' is '+1', but '+0' is not '+1' */
+ if (!ascii_isdigit(*cmd)) /* '+' is '+1', but '+0' is not '+1' */
n = 1;
else
n = getdigits_long(&cmd);
@@ -3563,7 +3563,7 @@ int expand_filename(exarg_T *eap, char_u **cmdlinep, char_u **errormsgp)
/* skip escaped characters */
if (p[1] && (*p == '\\' || *p == Ctrl_V))
++p;
- else if (vim_iswhite(*p)) {
+ else if (ascii_iswhite(*p)) {
*errormsgp = (char_u *)_("E172: Only one file name allowed");
return FAIL;
}
@@ -3718,7 +3718,7 @@ static char_u *getargcmd(char_u **argp)
if (*arg == '+') { /* +[command] */
++arg;
- if (vim_isspace(*arg) || *arg == '\0')
+ if (ascii_isspace(*arg) || *arg == '\0')
command = dollar_command;
else {
command = arg;
@@ -3742,7 +3742,7 @@ skip_cmd_arg (
int rembs /* TRUE to halve the number of backslashes */
)
{
- while (*p && !vim_isspace(*p)) {
+ while (*p && !ascii_isspace(*p)) {
if (*p == '\\' && p[1] != NUL) {
if (rembs)
STRMOVE(p, p + 1);
@@ -4494,7 +4494,7 @@ static void ex_command(exarg_T *eap)
if (ASCII_ISALPHA(*p))
while (ASCII_ISALNUM(*p))
++p;
- if (!ends_excmd(*p) && !vim_iswhite(*p)) {
+ if (!ends_excmd(*p) && !ascii_iswhite(*p)) {
EMSG(_("E182: Invalid command name"));
return;
}
@@ -4597,13 +4597,13 @@ static char_u *uc_split_args(char_u *arg, size_t *lenp)
if (p[0] == '\\' && p[1] == '\\') {
len += 2;
p += 2;
- } else if (p[0] == '\\' && vim_iswhite(p[1])) {
+ } else if (p[0] == '\\' && ascii_iswhite(p[1])) {
len += 1;
p += 2;
} else if (*p == '\\' || *p == '"') {
len += 2;
p += 1;
- } else if (vim_iswhite(*p)) {
+ } else if (ascii_iswhite(*p)) {
p = skipwhite(p);
if (*p == NUL)
break;
@@ -4625,13 +4625,13 @@ static char_u *uc_split_args(char_u *arg, size_t *lenp)
*q++ = '\\';
*q++ = '\\';
p += 2;
- } else if (p[0] == '\\' && vim_iswhite(p[1])) {
+ } else if (p[0] == '\\' && ascii_iswhite(p[1])) {
*q++ = p[1];
p += 2;
} else if (*p == '\\' || *p == '"') {
*q++ = '\\';
*q++ = *p++;
- } else if (vim_iswhite(*p)) {
+ } else if (ascii_iswhite(*p)) {
p = skipwhite(p);
if (*p == NUL)
break;
@@ -6878,7 +6878,7 @@ static void ex_mkrc(exarg_T *eap)
/* ":mkview" or ":mkview 9": generate file name with 'viewdir' */
if (eap->cmdidx == CMD_mkview
&& (*eap->arg == NUL
- || (vim_isdigit(*eap->arg) && eap->arg[1] == NUL))) {
+ || (ascii_isdigit(*eap->arg) && eap->arg[1] == NUL))) {
eap->forceit = TRUE;
fname = get_view_file(*eap->arg);
if (fname == NULL)
@@ -7295,7 +7295,7 @@ static void ex_findpat(exarg_T *eap)
}
n = 1;
- if (vim_isdigit(*eap->arg)) { /* get count */
+ if (ascii_isdigit(*eap->arg)) { /* get count */
n = getdigits_long(&eap->arg);
eap->arg = skipwhite(eap->arg);
}
@@ -8802,7 +8802,7 @@ static void ex_match(exarg_T *eap)
if (ends_excmd(*eap->arg))
end = eap->arg;
else if ((STRNICMP(eap->arg, "none", 4) == 0
- && (vim_iswhite(eap->arg[4]) || ends_excmd(eap->arg[4]))))
+ && (ascii_iswhite(eap->arg[4]) || ends_excmd(eap->arg[4]))))
end = eap->arg + 4;
else {
p = skiptowhite(eap->arg);
diff --git a/src/nvim/ex_eval.c b/src/nvim/ex_eval.c
index 5ed7a35209..224d9e9bf7 100644
--- a/src/nvim/ex_eval.c
+++ b/src/nvim/ex_eval.c
@@ -257,9 +257,9 @@ int cause_errthrow(char_u *mesg, int severe, int *ignore)
/* Skip the extra "Vim " prefix for message "E458". */
tmsg = elem->msg;
if (STRNCMP(tmsg, "Vim E", 5) == 0
- && VIM_ISDIGIT(tmsg[5])
- && VIM_ISDIGIT(tmsg[6])
- && VIM_ISDIGIT(tmsg[7])
+ && ascii_isdigit(tmsg[5])
+ && ascii_isdigit(tmsg[6])
+ && ascii_isdigit(tmsg[7])
&& tmsg[8] == ':'
&& tmsg[9] == ' ')
(*msg_list)->throw_msg = &tmsg[4];
@@ -405,11 +405,11 @@ char_u *get_exception_string(void *value, int type, char_u *cmdname, int *should
for (p = mesg;; p++) {
if (*p == NUL
|| (*p == 'E'
- && VIM_ISDIGIT(p[1])
+ && ascii_isdigit(p[1])
&& (p[2] == ':'
- || (VIM_ISDIGIT(p[2])
+ || (ascii_isdigit(p[2])
&& (p[3] == ':'
- || (VIM_ISDIGIT(p[3])
+ || (ascii_isdigit(p[3])
&& p[4] == ':')))))) {
if (*p == NUL || p == mesg)
STRCAT(val, mesg); /* 'E123' missing or at beginning */
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index 6c6c72fc36..e4c02a0c30 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -792,7 +792,7 @@ getcmdline (
if (has_mbyte) {
p = mb_prevptr(ccline.cmdbuff, p);
if (c == Ctrl_W) {
- while (p > ccline.cmdbuff && vim_isspace(*p))
+ while (p > ccline.cmdbuff && ascii_isspace(*p))
p = mb_prevptr(ccline.cmdbuff, p);
i = mb_get_class(p);
while (p > ccline.cmdbuff && mb_get_class(p) == i)
@@ -801,10 +801,10 @@ getcmdline (
p += (*mb_ptr2len)(p);
}
} else if (c == Ctrl_W) {
- while (p > ccline.cmdbuff && vim_isspace(p[-1]))
+ while (p > ccline.cmdbuff && ascii_isspace(p[-1]))
--p;
i = vim_iswordc(p[-1]);
- while (p > ccline.cmdbuff && !vim_isspace(p[-1])
+ while (p > ccline.cmdbuff && !ascii_isspace(p[-1])
&& vim_iswordc(p[-1]) == i)
--p;
} else
@@ -4641,7 +4641,7 @@ int get_list_range(char_u **str, int *num1, int *num2)
long num;
*str = skipwhite(*str);
- if (**str == '-' || vim_isdigit(**str)) { /* parse "from" part of range */
+ if (**str == '-' || ascii_isdigit(**str)) { /* parse "from" part of range */
vim_str2nr(*str, NULL, &len, FALSE, FALSE, &num, NULL);
*str += len;
*num1 = (int)num;
@@ -4681,7 +4681,7 @@ void ex_history(exarg_T *eap)
return;
}
- if (!(VIM_ISDIGIT(*arg) || *arg == '-' || *arg == ',')) {
+ if (!(ascii_isdigit(*arg) || *arg == '-' || *arg == ',')) {
end = arg;
while (ASCII_ISALPHA(*end)
|| vim_strchr((char_u *)":=@>/?", *end) != NULL)
diff --git a/src/nvim/farsi.c b/src/nvim/farsi.c
index f9d6b14edc..80ef7cbc13 100644
--- a/src/nvim/farsi.c
+++ b/src/nvim/farsi.c
@@ -599,7 +599,7 @@ int fkmap(int c)
return c;
}
- if (VIM_ISDIGIT(c)
+ if (ascii_isdigit(c)
|| ((c == '.'
|| c == '+'
|| c == '-'
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 4a0a9da768..bb4b7a140b 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -2006,7 +2006,7 @@ failed:
static int is_dev_fd_file(char_u *fname)
{
return STRNCMP(fname, "/dev/fd/", 8) == 0
- && VIM_ISDIGIT(fname[8])
+ && ascii_isdigit(fname[8])
&& *skipdigits(fname + 9) == NUL
&& (fname[9] != NUL
|| (fname[8] != '0' && fname[8] != '1' && fname[8] != '2'));
@@ -5524,7 +5524,7 @@ static event_T event_name2nr(char_u *start, char_u **end)
int len;
/* the event name ends with end of line, a blank or a comma */
- for (p = start; *p && !vim_iswhite(*p) && *p != ','; ++p)
+ for (p = start; *p && !ascii_iswhite(*p) && *p != ','; ++p)
;
for (i = 0; event_names[i].name != NULL; ++i) {
len = (int)STRLEN(event_names[i].name);
@@ -5565,13 +5565,13 @@ find_end_event (
char_u *p;
if (*arg == '*') {
- if (arg[1] && !vim_iswhite(arg[1])) {
+ if (arg[1] && !ascii_iswhite(arg[1])) {
EMSG2(_("E215: Illegal character after *: %s"), arg);
return NULL;
}
pat = arg + 1;
} else {
- for (pat = arg; *pat && !vim_iswhite(*pat); pat = p) {
+ for (pat = arg; *pat && !ascii_iswhite(*pat); pat = p) {
if ((int)event_name2nr(pat, &p) >= (int)NUM_EVENTS) {
if (have_group)
EMSG2(_("E216: No such event: %s"), pat);
@@ -5711,7 +5711,7 @@ void do_autocmd(char_u *arg, int forceit)
*/
pat = skipwhite(pat);
cmd = pat;
- while (*cmd && (!vim_iswhite(*cmd) || cmd[-1] == '\\'))
+ while (*cmd && (!ascii_iswhite(*cmd) || cmd[-1] == '\\'))
cmd++;
if (*cmd)
*cmd++ = NUL;
@@ -5736,7 +5736,7 @@ void do_autocmd(char_u *arg, int forceit)
* Check for "nested" flag.
*/
cmd = skipwhite(cmd);
- if (*cmd != NUL && STRNCMP(cmd, "nested", 6) == 0 && vim_iswhite(cmd[6])) {
+ if (*cmd != NUL && STRNCMP(cmd, "nested", 6) == 0 && ascii_iswhite(cmd[6])) {
nested = TRUE;
cmd = skipwhite(cmd + 6);
}
@@ -5772,7 +5772,7 @@ void do_autocmd(char_u *arg, int forceit)
nested, cmd, forceit, group) == FAIL)
break;
} else {
- while (*arg && !vim_iswhite(*arg)) {
+ while (*arg && !ascii_iswhite(*arg)) {
event_T event = event_name2nr(arg, &arg);
assert(event < NUM_EVENTS);
if (do_autocmd_event(event, pat, nested, cmd, forceit, group) == FAIL) {
@@ -6056,7 +6056,7 @@ do_doautocmd (
/*
* Loop over the events.
*/
- while (*arg && !vim_iswhite(*arg))
+ while (*arg && !ascii_iswhite(*arg))
if (apply_autocmds_group(event_name2nr(arg, &arg),
fname, NULL, TRUE, group, curbuf, NULL))
nothing_done = FALSE;
@@ -6983,13 +6983,13 @@ set_context_in_autocmd (
group = au_get_grouparg(&arg);
/* If there only is a group name that's what we expand. */
- if (*arg == NUL && group != AUGROUP_ALL && !vim_iswhite(arg[-1])) {
+ if (*arg == NUL && group != AUGROUP_ALL && !ascii_iswhite(arg[-1])) {
arg = p;
group = AUGROUP_ALL;
}
/* skip over event name */
- for (p = arg; *p != NUL && !vim_iswhite(*p); ++p)
+ for (p = arg; *p != NUL && !ascii_iswhite(*p); ++p)
if (*p == ',')
arg = p + 1;
if (*p == NUL) {
@@ -7002,7 +7002,7 @@ set_context_in_autocmd (
/* skip over pattern */
arg = skipwhite(p);
- while (*arg && (!vim_iswhite(*arg) || arg[-1] == '\\'))
+ while (*arg && (!ascii_iswhite(*arg) || arg[-1] == '\\'))
arg++;
if (*arg)
return arg; /* expand (next) command */
diff --git a/src/nvim/fold.c b/src/nvim/fold.c
index 8e6c2a598e..654cdf82a8 100644
--- a/src/nvim/fold.c
+++ b/src/nvim/fold.c
@@ -1651,7 +1651,7 @@ static void foldDelMarker(linenr_T lnum, char_u *marker, size_t markerlen)
}
/* Found the marker, include a digit if it's there. */
size_t len = markerlen;
- if (VIM_ISDIGIT(p[len]))
+ if (ascii_isdigit(p[len]))
++len;
if (*cms != NUL) {
/* Also delete 'commentstring' if it matches. */
@@ -1787,7 +1787,7 @@ void foldtext_cleanup(char_u *str)
/* Ignore leading and trailing white space in 'commentstring'. */
char_u *cms_start = skipwhite(curbuf->b_p_cms);
size_t cms_slen = STRLEN(cms_start);
- while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
+ while (cms_slen > 0 && ascii_iswhite(cms_start[cms_slen - 1]))
--cms_slen;
/* locate "%s" in 'commentstring', use the part before and after it. */
@@ -1798,7 +1798,7 @@ void foldtext_cleanup(char_u *str)
cms_slen = (size_t)(cms_end - cms_start);
/* exclude white space before "%s" */
- while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
+ while (cms_slen > 0 && ascii_iswhite(cms_start[cms_slen - 1]))
--cms_slen;
/* skip "%s" and white space after it */
@@ -1815,12 +1815,12 @@ void foldtext_cleanup(char_u *str)
else if (STRNCMP(s, foldendmarker, foldendmarkerlen) == 0)
len = foldendmarkerlen;
if (len > 0) {
- if (VIM_ISDIGIT(s[len]))
+ if (ascii_isdigit(s[len]))
++len;
/* May remove 'commentstring' start. Useful when it's a double
* quote and we already removed a double quote. */
- for (p = s; p > str && vim_iswhite(p[-1]); --p)
+ for (p = s; p > str && ascii_iswhite(p[-1]); --p)
;
if (p >= str + cms_slen
&& STRNCMP(p - cms_slen, cms_start, cms_slen) == 0) {
@@ -1838,7 +1838,7 @@ void foldtext_cleanup(char_u *str)
}
}
if (len != 0) {
- while (vim_iswhite(s[len]))
+ while (ascii_iswhite(s[len]))
++len;
STRMOVE(s, s + len);
} else {
@@ -2799,7 +2799,7 @@ static void foldlevelMarker(fline_T *flp)
&& STRNCMP(s + 1, startmarker, foldstartmarkerlen - 1) == 0) {
/* found startmarker: set flp->lvl */
s += foldstartmarkerlen;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
n = atoi((char *)s);
if (n > 0) {
flp->lvl = n;
@@ -2818,7 +2818,7 @@ static void foldlevelMarker(fline_T *flp)
foldendmarkerlen - 1) == 0) {
/* found endmarker: set flp->lvl_next */
s += foldendmarkerlen;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
n = atoi((char *)s);
if (n > 0) {
flp->lvl = n;
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index f45ee609bd..1951cd6737 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -771,7 +771,7 @@ int start_redo(long count, int old_redo)
/* try to enter the count (in place of a previous count) */
if (count) {
- while (VIM_ISDIGIT(c)) /* skip "old" count */
+ while (ascii_isdigit(c)) /* skip "old" count */
c = read_redo(FALSE, old_redo);
add_num_buff(&readbuf2, count);
}
@@ -2129,7 +2129,7 @@ static int vgetorpeek(int advance)
col = vcol = curwin->w_wcol = 0;
ptr = get_cursor_line_ptr();
while (col < curwin->w_cursor.col) {
- if (!vim_iswhite(ptr[col]))
+ if (!ascii_iswhite(ptr[col]))
curwin->w_wcol = vcol;
vcol += lbr_chartabsize(ptr, ptr + col,
(colnr_T)vcol);
@@ -2672,7 +2672,7 @@ do_map (
*/
p = keys;
do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
- while (*p && (maptype == 1 || !vim_iswhite(*p))) {
+ while (*p && (maptype == 1 || !ascii_iswhite(*p))) {
if ((p[0] == Ctrl_V || (do_backslash && p[0] == '\\')) &&
p[1] != NUL)
++p; /* skip CTRL-V or backslash */
@@ -2761,7 +2761,7 @@ do_map (
}
/* An abbreviation cannot contain white space. */
for (n = 0; n < len; ++n)
- if (vim_iswhite(keys[n])) {
+ if (ascii_iswhite(keys[n])) {
retval = 1;
goto theend;
}
@@ -3568,7 +3568,7 @@ int check_abbr(int c, char_u *ptr, int col, int mincol)
clen = 1;
while (p > ptr + mincol) {
p = mb_prevptr(ptr, p);
- if (vim_isspace(*p) || (!vim_abbr && is_id != vim_iswordp(p))) {
+ if (ascii_isspace(*p) || (!vim_abbr && is_id != vim_iswordp(p))) {
p += (*mb_ptr2len)(p);
break;
}
@@ -3583,7 +3583,7 @@ int check_abbr(int c, char_u *ptr, int col, int mincol)
if (col > 1)
is_id = vim_iswordc(ptr[col - 2]);
}
- for (scol = col - 1; scol > 0 && !vim_isspace(ptr[scol - 1])
+ for (scol = col - 1; scol > 0 && !ascii_isspace(ptr[scol - 1])
&& (vim_abbr || is_id == vim_iswordc(ptr[scol - 1])); --scol)
;
}
@@ -4074,7 +4074,7 @@ int put_escstr(FILE *fd, char_u *strstart, int what)
* interpreted as the start of a special key name.
* A space in the lhs of a :map needs a CTRL-V.
*/
- if (what == 2 && (vim_iswhite(c) || c == '"' || c == '\\')) {
+ if (what == 2 && (ascii_iswhite(c) || c == '"' || c == '\\')) {
if (putc('\\', fd) < 0)
return FAIL;
} else if (c < ' ' || c > '~' || c == '|'
diff --git a/src/nvim/hardcopy.c b/src/nvim/hardcopy.c
index 0cbbe95572..cf33703fdb 100644
--- a/src/nvim/hardcopy.c
+++ b/src/nvim/hardcopy.c
@@ -317,7 +317,7 @@ static char_u *parse_list_options(char_u *option_str, option_table_T *table, int
table[idx].present = TRUE;
if (table[idx].hasnum) {
- if (!VIM_ISDIGIT(*p))
+ if (!ascii_isdigit(*p))
return (char_u *)N_("E552: digit expected");
table[idx].number = getdigits_int(&p);
@@ -2272,7 +2272,7 @@ int mch_print_init(prt_settings_T *psettings, char_u *jobname, int forceit)
*/
fontsize = PRT_PS_DEFAULT_FONTSIZE;
for (p = p_pfn; (p = vim_strchr(p, ':')) != NULL; ++p)
- if (p[1] == 'h' && VIM_ISDIGIT(p[2]))
+ if (p[1] == 'h' && ascii_isdigit(p[2]))
fontsize = atoi((char *)p + 2);
prt_font_metrics(fontsize);
diff --git a/src/nvim/if_cscope.c b/src/nvim/if_cscope.c
index 48d8522865..bdaf88e574 100644
--- a/src/nvim/if_cscope.c
+++ b/src/nvim/if_cscope.c
@@ -687,7 +687,7 @@ static char *cs_create_cmd(char *csoption, char *pattern)
* they may want to use the leading white space. */
pat = pattern;
if (search != 4 && search != 6)
- while (vim_iswhite(*pat))
+ while (ascii_iswhite(*pat))
++pat;
cmd = xmalloc(strlen(pat) + 2);
@@ -1273,9 +1273,9 @@ static int cs_kill(exarg_T *eap)
}
/* only single digit positive and negative integers are allowed */
- if ((strlen(stok) < 2 && VIM_ISDIGIT((int)(stok[0])))
+ if ((strlen(stok) < 2 && ascii_isdigit((int)(stok[0])))
|| (strlen(stok) < 3 && stok[0] == '-'
- && VIM_ISDIGIT((int)(stok[1]))))
+ && ascii_isdigit((int)(stok[1]))))
i = atoi(stok);
else {
/* It must be part of a name. We will try to find a match
diff --git a/src/nvim/indent.c b/src/nvim/indent.c
index 183456d3f7..d3008185dc 100644
--- a/src/nvim/indent.c
+++ b/src/nvim/indent.c
@@ -118,7 +118,7 @@ int set_indent(int size, int flags)
ind_done = 0;
// Count as many characters as we can use.
- while (todo > 0 && vim_iswhite(*p)) {
+ while (todo > 0 && ascii_iswhite(*p)) {
if (*p == TAB) {
tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
@@ -183,7 +183,7 @@ int set_indent(int size, int flags)
}
// Return if the indent is OK already.
- if (!doit && !vim_iswhite(*p) && !(flags & SIN_INSERT)) {
+ if (!doit && !ascii_iswhite(*p) && !(flags & SIN_INSERT)) {
return false;
}
@@ -216,7 +216,7 @@ int set_indent(int size, int flags)
// Skip over any additional white space (useful when newindent is less
// than old).
- while (vim_iswhite(*p)) {
+ while (ascii_iswhite(*p)) {
p++;
}
} else {
@@ -235,7 +235,7 @@ int set_indent(int size, int flags)
p = oldline;
ind_done = 0;
- while (todo > 0 && vim_iswhite(*p)) {
+ while (todo > 0 && ascii_iswhite(*p)) {
if (*p == TAB) {
tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
@@ -328,7 +328,7 @@ int copy_indent(int size, char_u *src)
s = src;
// Count/copy the usable portion of the source line.
- while (todo > 0 && vim_iswhite(*s)) {
+ while (todo > 0 && ascii_iswhite(*s)) {
if (*s == TAB) {
tab_pad = (int)curbuf->b_p_ts
- (ind_done % (int)curbuf->b_p_ts);
@@ -502,7 +502,7 @@ int inindent(int extra)
char_u *ptr;
colnr_T col;
- for (col = 0, ptr = get_cursor_line_ptr(); vim_iswhite(*ptr); ++col) {
+ for (col = 0, ptr = get_cursor_line_ptr(); ascii_iswhite(*ptr); ++col) {
ptr++;
}
@@ -688,7 +688,7 @@ int get_lisp_indent(void)
amount++;
firsttry = amount;
- while (vim_iswhite(*that)) {
+ while (ascii_iswhite(*that)) {
amount += lbr_chartabsize(line, that, (colnr_T)amount);
that++;
}
@@ -706,7 +706,8 @@ int get_lisp_indent(void)
if (vi_lisp || ((*that != '"') && (*that != '\'')
&& (*that != '#') && ((*that < '0') || (*that > '9')))) {
- while (*that && (!vim_iswhite(*that) || quotecount || parencount)
+ while (*that
+ && (!ascii_iswhite(*that) || quotecount || parencount)
&& (!((*that == '(' || *that == '[')
&& !quotecount && !parencount && vi_lisp))) {
if (*that == '"') {
@@ -726,7 +727,7 @@ int get_lisp_indent(void)
}
}
- while (vim_iswhite(*that)) {
+ while (ascii_iswhite(*that)) {
amount += lbr_chartabsize(line, that, (colnr_T)amount);
that++;
}
diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c
index c0613331cf..d62e7aad03 100644
--- a/src/nvim/indent_c.c
+++ b/src/nvim/indent_c.c
@@ -82,7 +82,7 @@ static char_u *skip_string(char_u *p)
i = 2;
if (p[1] == '\\') { /* '\n' or '\000' */
++i;
- while (vim_isdigit(p[i - 1])) /* '\000' */
+ while (ascii_isdigit(p[i - 1])) /* '\000' */
++i;
}
if (p[i] == '\'') { /* check for trailing ' */
@@ -434,7 +434,7 @@ static int cin_is_cpp_namespace(char_u *s)
if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9]))) {
p = cin_skipcomment(skipwhite(s + 9));
while (*p != NUL) {
- if (vim_iswhite(*p)) {
+ if (ascii_iswhite(*p)) {
has_name = TRUE; /* found end of a name */
p = cin_skipcomment(skipwhite(p));
} else if (*p == '{') {
@@ -561,15 +561,15 @@ static int cin_first_id_amount(void)
else if ((len == 8 && STRNCMP(p, "unsigned", 8) == 0)
|| (len == 6 && STRNCMP(p, "signed", 6) == 0)) {
s = skipwhite(p + len);
- if ((STRNCMP(s, "int", 3) == 0 && vim_iswhite(s[3]))
- || (STRNCMP(s, "long", 4) == 0 && vim_iswhite(s[4]))
- || (STRNCMP(s, "short", 5) == 0 && vim_iswhite(s[5]))
- || (STRNCMP(s, "char", 4) == 0 && vim_iswhite(s[4])))
+ if ((STRNCMP(s, "int", 3) == 0 && ascii_iswhite(s[3]))
+ || (STRNCMP(s, "long", 4) == 0 && ascii_iswhite(s[4]))
+ || (STRNCMP(s, "short", 5) == 0 && ascii_iswhite(s[5]))
+ || (STRNCMP(s, "char", 4) == 0 && ascii_iswhite(s[4])))
p = s;
}
for (len = 0; vim_isIDc(p[len]); ++len)
;
- if (len == 0 || !vim_iswhite(p[len]) || cin_nocode(p))
+ if (len == 0 || !ascii_iswhite(p[len]) || cin_nocode(p))
return 0;
p = skipwhite(p + len);
@@ -889,7 +889,7 @@ static int cin_is_if_for_while_before_offset(char_u *line, int *poffset)
if (offset-- < 2)
return 0;
- while (offset > 2 && vim_iswhite(line[offset]))
+ while (offset > 2 && ascii_iswhite(line[offset]))
--offset;
offset -= 1;
@@ -1467,7 +1467,7 @@ void parse_cino(buf_T *buf)
divider = 0;
if (*p == '.') { /* ".5s" means a fraction */
fraction = atoi((char *)++p);
- while (VIM_ISDIGIT(*p)) {
+ while (ascii_isdigit(*p)) {
++p;
if (divider)
divider *= 10;
@@ -1673,7 +1673,7 @@ int get_c_indent(void)
what = *p++;
else if (*p == COM_LEFT || *p == COM_RIGHT)
align = *p++;
- else if (VIM_ISDIGIT(*p) || *p == '-') {
+ else if (ascii_isdigit(*p) || *p == '-') {
off = getdigits_int(&p);
}
else
@@ -1942,7 +1942,7 @@ int get_c_indent(void)
our_paren_pos.col++;
else {
col = our_paren_pos.col + 1;
- while (vim_iswhite(l[col]))
+ while (ascii_iswhite(l[col]))
col++;
if (l[col] != NUL) /* In case of trailing space */
our_paren_pos.col = col;
diff --git a/src/nvim/keymap.c b/src/nvim/keymap.c
index 2026e08de5..455615d318 100644
--- a/src/nvim/keymap.c
+++ b/src/nvim/keymap.c
@@ -601,7 +601,7 @@ find_special_key (
*/
if (bp >= last_dash) {
if (STRNICMP(last_dash + 1, "char-", 5) == 0
- && VIM_ISDIGIT(last_dash[6])) {
+ && ascii_isdigit(last_dash[6])) {
/* <Char-123> or <Char-033> or <Char-0x33> */
vim_str2nr(last_dash + 6, NULL, NULL, TRUE, TRUE, NULL, &n);
key = (int)n;
@@ -788,7 +788,7 @@ char_u * replace_termcodes (
src = from;
// Check for #n at start only: function key n
- if (from_part && src[0] == '#' && VIM_ISDIGIT(src[1])) { // function key
+ if (from_part && src[0] == '#' && ascii_isdigit(src[1])) { // function key
result[dlen++] = K_SPECIAL;
result[dlen++] = 'k';
if (src[1] == '0') {
diff --git a/src/nvim/macros.h b/src/nvim/macros.h
index e14e998e7a..46f591eb33 100644
--- a/src/nvim/macros.h
+++ b/src/nvim/macros.h
@@ -56,17 +56,12 @@
# define TOUPPER_ASC(c) (((c) < 'a' || (c) > 'z') ? (c) : (c) - ('a' - 'A'))
# define TOLOWER_ASC(c) (((c) < 'A' || (c) > 'Z') ? (c) : (c) + ('a' - 'A'))
-/* Use our own isdigit() replacement, because on MS-Windows isdigit() returns
- * non-zero for superscript 1. Also avoids that isdigit() crashes for numbers
- * below 0 and above 255. */
-#define VIM_ISDIGIT(c) ((unsigned)(c) >= '0' && (unsigned)(c) <= '9')
-
/* Like isalpha() but reject non-ASCII characters. Can't be used with a
* special key (negative value). */
# define ASCII_ISLOWER(c) ((unsigned)(c) >= 'a' && (unsigned)(c) <= 'z')
# define ASCII_ISUPPER(c) ((unsigned)(c) >= 'A' && (unsigned)(c) <= 'Z')
# define ASCII_ISALPHA(c) (ASCII_ISUPPER(c) || ASCII_ISLOWER(c))
-# define ASCII_ISALNUM(c) (ASCII_ISALPHA(c) || VIM_ISDIGIT(c))
+# define ASCII_ISALNUM(c) (ASCII_ISALPHA(c) || ascii_isdigit(c))
/* macro version of chartab().
* Only works with values 0-255!
diff --git a/src/nvim/main.c b/src/nvim/main.c
index af6e49ce48..e1d53183aa 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -806,9 +806,9 @@ void getout(int exitval)
/// @return argument's numeric value otherwise
static int get_number_arg(const char *p, int *idx, int def)
{
- if (vim_isdigit(p[*idx])) {
+ if (ascii_isdigit(p[*idx])) {
def = atoi(&(p[*idx]));
- while (vim_isdigit(p[*idx])) {
+ while (ascii_isdigit(p[*idx])) {
*idx = *idx + 1;
}
}
@@ -1096,7 +1096,7 @@ static void command_line_scan(mparm_T *parmp)
case 'w': /* "-w{number}" set window height */
/* "-w {scriptout}" write to script */
- if (vim_isdigit(((char_u *)argv[0])[argv_idx])) {
+ if (ascii_isdigit(((char_u *)argv[0])[argv_idx])) {
n = get_number_arg(argv[0], &argv_idx, 10);
set_option_value((char_u *)"window", n, NULL, 0);
break;
@@ -1240,7 +1240,7 @@ scripterror:
case 'w': /* "-w {nr}" 'window' value */
/* "-w {scriptout}" append to script file */
- if (vim_isdigit(*((char_u *)argv[0]))) {
+ if (ascii_isdigit(*((char_u *)argv[0]))) {
argv_idx = 0;
n = get_number_arg(argv[0], &argv_idx, 10);
set_option_value((char_u *)"window", n, NULL, 0);
diff --git a/src/nvim/mark.c b/src/nvim/mark.c
index a142d12c13..ce44149ffa 100644
--- a/src/nvim/mark.c
+++ b/src/nvim/mark.c
@@ -358,8 +358,8 @@ pos_T *getmark_buf_fnum(buf_T *buf, int c, int changefile, int *fnum)
}
} else if (ASCII_ISLOWER(c)) { /* normal named mark */
posp = &(buf->b_namedm[c - 'a']);
- } else if (ASCII_ISUPPER(c) || VIM_ISDIGIT(c)) { /* named file mark */
- if (VIM_ISDIGIT(c))
+ } else if (ASCII_ISUPPER(c) || ascii_isdigit(c)) { /* named file mark */
+ if (ascii_isdigit(c))
c = c - '0' + NMARKS;
else
c -= 'A';
@@ -708,14 +708,14 @@ void ex_delmarks(exarg_T *eap)
/* clear specified marks only */
for (p = eap->arg; *p != NUL; ++p) {
lower = ASCII_ISLOWER(*p);
- digit = VIM_ISDIGIT(*p);
+ digit = ascii_isdigit(*p);
if (lower || digit || ASCII_ISUPPER(*p)) {
if (p[1] == '-') {
/* clear range of marks */
from = *p;
to = p[2];
if (!(lower ? ASCII_ISLOWER(p[2])
- : (digit ? VIM_ISDIGIT(p[2])
+ : (digit ? ascii_isdigit(p[2])
: ASCII_ISUPPER(p[2])))
|| to < from) {
EMSG2(_(e_invarg2), p);
@@ -1183,7 +1183,7 @@ int read_viminfo_filemark(vir_T *virp, int force)
str = virp->vir_line + 1;
if (
*str <= 127 &&
- ((*virp->vir_line == '\'' && (VIM_ISDIGIT(*str) || isupper(*str)))
+ ((*virp->vir_line == '\'' && (ascii_isdigit(*str) || isupper(*str)))
|| (*virp->vir_line == '-' && *str == '\''))) {
if (*str == '\'') {
/* If the jumplist isn't full insert fmark as oldest entry */
@@ -1198,7 +1198,7 @@ int read_viminfo_filemark(vir_T *virp, int force)
fm->fmark.mark.lnum = 0;
fm->fname = NULL;
}
- } else if (VIM_ISDIGIT(*str))
+ } else if (ascii_isdigit(*str))
fm = &namedfm[*str - '0' + NMARKS];
else { // is uppercase
assert(*str >= 'A' && *str <= 'Z');
@@ -1430,7 +1430,7 @@ void copy_viminfo_marks(vir_T *virp, FILE *fp_out, int count, int eof, int flags
str = skipwhite(line + 1);
str = viminfo_readstring(virp, (int)(str - virp->vir_line), FALSE);
p = str + STRLEN(str);
- while (p != str && (*p == NUL || vim_isspace(*p)))
+ while (p != str && (*p == NUL || ascii_isspace(*p)))
p--;
if (*p)
p++;
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index e45d43270a..71d2ceb037 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -668,7 +668,7 @@ int mb_get_class(const char_u *p)
int mb_get_class_buf(const char_u *p, buf_T *buf)
{
if (MB_BYTE2LEN(p[0]) == 1) {
- if (p[0] == NUL || vim_iswhite(p[0]))
+ if (p[0] == NUL || ascii_iswhite(p[0]))
return 0;
if (vim_iswordc_buf(p[0], buf))
return 2;
diff --git a/src/nvim/menu.c b/src/nvim/menu.c
index 1689e7419e..a5841c5d63 100644
--- a/src/nvim/menu.c
+++ b/src/nvim/menu.c
@@ -115,10 +115,10 @@ ex_menu (
* Fill in the priority table.
*/
for (p = arg; *p; ++p)
- if (!VIM_ISDIGIT(*p) && *p != '.')
+ if (!ascii_isdigit(*p) && *p != '.')
break;
- if (vim_iswhite(*p)) {
- for (i = 0; i < MENUDEPTH && !vim_iswhite(*arg); ++i) {
+ if (ascii_iswhite(*p)) {
+ for (i = 0; i < MENUDEPTH && !ascii_iswhite(*arg); ++i) {
pri_tab[i] = getdigits_int(&arg);
if (pri_tab[i] == 0)
pri_tab[i] = 500;
@@ -138,10 +138,10 @@ ex_menu (
/*
* Check for "disable" or "enable" argument.
*/
- if (STRNCMP(arg, "enable", 6) == 0 && vim_iswhite(arg[6])) {
+ if (STRNCMP(arg, "enable", 6) == 0 && ascii_iswhite(arg[6])) {
enable = TRUE;
arg = skipwhite(arg + 6);
- } else if (STRNCMP(arg, "disable", 7) == 0 && vim_iswhite(arg[7])) {
+ } else if (STRNCMP(arg, "disable", 7) == 0 && ascii_iswhite(arg[7])) {
enable = FALSE;
arg = skipwhite(arg + 7);
}
@@ -835,26 +835,26 @@ char_u *set_context_in_menu_cmd(expand_T *xp, char_u *cmd, char_u *arg, int forc
/* Check for priority numbers, enable and disable */
for (p = arg; *p; ++p)
- if (!VIM_ISDIGIT(*p) && *p != '.')
+ if (!ascii_isdigit(*p) && *p != '.')
break;
- if (!vim_iswhite(*p)) {
+ if (!ascii_iswhite(*p)) {
if (STRNCMP(arg, "enable", 6) == 0
- && (arg[6] == NUL || vim_iswhite(arg[6])))
+ && (arg[6] == NUL || ascii_iswhite(arg[6])))
p = arg + 6;
else if (STRNCMP(arg, "disable", 7) == 0
- && (arg[7] == NUL || vim_iswhite(arg[7])))
+ && (arg[7] == NUL || ascii_iswhite(arg[7])))
p = arg + 7;
else
p = arg;
}
- while (*p != NUL && vim_iswhite(*p))
+ while (*p != NUL && ascii_iswhite(*p))
++p;
arg = after_dot = p;
- for (; *p && !vim_iswhite(*p); ++p) {
+ for (; *p && !ascii_iswhite(*p); ++p) {
if ((*p == '\\' || *p == Ctrl_V) && p[1] != NUL)
p++;
else if (*p == '.')
@@ -864,7 +864,7 @@ char_u *set_context_in_menu_cmd(expand_T *xp, char_u *cmd, char_u *arg, int forc
/* ":tearoff" and ":popup" only use menus, not entries */
expand_menus = !((*cmd == 't' && cmd[1] == 'e') || *cmd == 'p');
expand_emenu = (*cmd == 'e');
- if (expand_menus && vim_iswhite(*p))
+ if (expand_menus && ascii_iswhite(*p))
return NULL; /* TODO: check for next command? */
if (*p == NUL) { /* Complete the menu name */
/*
@@ -1484,7 +1484,7 @@ void ex_menutranslate(exarg_T *eap)
*/
static char_u *menu_skip_part(char_u *p)
{
- while (*p != NUL && *p != '.' && !vim_iswhite(*p)) {
+ while (*p != NUL && *p != '.' && !ascii_iswhite(*p)) {
if ((*p == '\\' || *p == Ctrl_V) && p[1] != NUL)
++p;
++p;
@@ -1543,7 +1543,7 @@ static char_u *menu_translate_tab_and_shift(char_u *arg_start)
{
char_u *arg = arg_start;
- while (*arg && !vim_iswhite(*arg)) {
+ while (*arg && !ascii_iswhite(*arg)) {
if ((*arg == '\\' || *arg == Ctrl_V) && arg[1] != NUL)
arg++;
else if (STRNICMP(arg, "<TAB>", 5) == 0) {
diff --git a/src/nvim/message.c b/src/nvim/message.c
index ae4d0ec230..744f721410 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -1387,7 +1387,7 @@ void msg_prt_line(char_u *s, int list)
/* find start of trailing whitespace */
if (list && lcs_trail) {
trail = s + STRLEN(s);
- while (trail > s && vim_iswhite(trail[-1]))
+ while (trail > s && ascii_iswhite(trail[-1]))
--trail;
}
@@ -3204,12 +3204,12 @@ int vim_vsnprintf(char *str, size_t str_m, char *fmt, va_list ap, typval_T *tvs)
min_field_width = -j;
justify_left = 1;
}
- } else if (VIM_ISDIGIT((int)(*p))) {
+ } else if (ascii_isdigit((int)(*p))) {
/* size_t could be wider than unsigned int; make sure we treat
* argument like common implementations do */
unsigned int uj = *p++ - '0';
- while (VIM_ISDIGIT((int)(*p)))
+ while (ascii_isdigit((int)(*p)))
uj = 10 * uj + (unsigned int)(*p++ - '0');
min_field_width = uj;
}
@@ -3229,12 +3229,12 @@ int vim_vsnprintf(char *str, size_t str_m, char *fmt, va_list ap, typval_T *tvs)
precision_specified = 0;
precision = 0;
}
- } else if (VIM_ISDIGIT((int)(*p))) {
+ } else if (ascii_isdigit((int)(*p))) {
/* size_t could be wider than unsigned int; make sure we
* treat argument like common implementations do */
unsigned int uj = *p++ - '0';
- while (VIM_ISDIGIT((int)(*p)))
+ while (ascii_isdigit((int)(*p)))
uj = 10 * uj + (unsigned int)(*p++ - '0');
precision = uj;
}
@@ -3643,8 +3643,8 @@ int vim_vsnprintf(char *str, size_t str_m, char *fmt, va_list ap, typval_T *tvs)
fmt_spec == 'e' ? 'e' : 'E');
if (tp != NULL && (tp[1] == '+' || tp[1] == '-')
&& tp[2] == '0'
- && vim_isdigit(tp[3])
- && vim_isdigit(tp[4])) {
+ && ascii_isdigit(tp[3])
+ && ascii_isdigit(tp[4])) {
STRMOVE(tp + 2, tp + 3);
--str_arg_l;
}
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index d8b84293c3..db65ad724f 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -266,7 +266,7 @@ open_line (
} else { /* Not a comment line */
/* Find last non-blank in line */
p = ptr + STRLEN(ptr) - 1;
- while (p > ptr && vim_iswhite(*p))
+ while (p > ptr && ascii_iswhite(*p))
--p;
last_char = *p;
@@ -276,7 +276,7 @@ open_line (
if (last_char == '{' || last_char == ';') {
if (p > ptr)
--p;
- while (p > ptr && vim_iswhite(*p))
+ while (p > ptr && ascii_iswhite(*p))
--p;
}
/*
@@ -442,7 +442,7 @@ open_line (
* comment leader, then put a space after the middle
* comment leader on the next line.
*/
- if (!vim_iswhite(saved_line[lead_len - 1])
+ if (!ascii_iswhite(saved_line[lead_len - 1])
&& ((p_extra != NULL
&& (int)curwin->w_cursor.col == lead_len)
|| (p_extra == NULL
@@ -524,7 +524,7 @@ open_line (
for (p = lead_flags; *p != NUL && *p != ':'; ) {
if (*p == COM_RIGHT || *p == COM_LEFT)
c = *p++;
- else if (VIM_ISDIGIT(*p) || *p == '-')
+ else if (ascii_isdigit(*p) || *p == '-')
off = getdigits_int(&p);
else
++p;
@@ -532,7 +532,7 @@ open_line (
if (c == COM_RIGHT) { /* right adjusted leader */
/* find last non-white in the leader to line up with */
for (p = leader + lead_len - 1; p > leader
- && vim_iswhite(*p); --p)
+ && ascii_iswhite(*p); --p)
;
++p;
@@ -573,7 +573,7 @@ open_line (
(size_t)((leader + lead_len) - (p + l + 1)));
lead_len -= l;
*p = ' ';
- } else if (!vim_iswhite(*p))
+ } else if (!ascii_iswhite(*p))
*p = ' ';
}
} else { /* left adjusted leader */
@@ -604,7 +604,7 @@ open_line (
* leader by spaces. Keep Tabs, the indent must
* remain the same. */
for (p += lead_repl_len; p < leader + lead_len; ++p)
- if (!vim_iswhite(*p)) {
+ if (!ascii_iswhite(*p)) {
/* Don't put a space before a TAB. */
if (p + 1 < leader + lead_len && p[1] == TAB) {
--lead_len;
@@ -656,7 +656,7 @@ open_line (
/* If the leader ends in white space, don't add an
* extra space */
- if (lead_len > 0 && vim_iswhite(leader[lead_len - 1]))
+ if (lead_len > 0 && ascii_iswhite(leader[lead_len - 1]))
extra_space = FALSE;
leader[lead_len] = NUL;
}
@@ -675,7 +675,7 @@ open_line (
if (newindent
|| did_si
) {
- while (lead_len && vim_iswhite(*leader)) {
+ while (lead_len && ascii_iswhite(*leader)) {
--lead_len;
--newcol;
++leader;
@@ -966,7 +966,7 @@ int get_leader_len(char_u *line, char_u **flags, int backward, int include_space
char_u *saved_flags = NULL;
result = i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
+ while (ascii_iswhite(line[i])) /* leading white space is ignored */
++i;
/*
@@ -1009,10 +1009,10 @@ int get_leader_len(char_u *line, char_u **flags, int backward, int include_space
* When string starts with white space, must have some white space
* (but the amount does not need to match, there might be a mix of
* TABs and spaces). */
- if (vim_iswhite(string[0])) {
- if (i == 0 || !vim_iswhite(line[i - 1]))
+ if (ascii_iswhite(string[0])) {
+ if (i == 0 || !ascii_iswhite(line[i - 1]))
continue; /* missing white space */
- while (vim_iswhite(string[0]))
+ while (ascii_iswhite(string[0]))
++string;
}
for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
@@ -1023,7 +1023,7 @@ int get_leader_len(char_u *line, char_u **flags, int backward, int include_space
/* When 'b' flag used, there must be white space or an
* end-of-line after the string in the line. */
if (vim_strchr(part_buf, COM_BLANK) != NULL
- && !vim_iswhite(line[i + j]) && line[i + j] != NUL)
+ && !ascii_iswhite(line[i + j]) && line[i + j] != NUL)
continue;
/* We have found a match, stop searching unless this is a middle
@@ -1065,7 +1065,7 @@ int get_leader_len(char_u *line, char_u **flags, int backward, int include_space
result = i;
/* Include any trailing white space. */
- while (vim_iswhite(line[i]))
+ while (ascii_iswhite(line[i]))
++i;
if (include_space)
@@ -1129,10 +1129,10 @@ int get_last_leader_offset(char_u *line, char_u **flags)
* (but the amount does not need to match, there might be a mix of
* TABs and spaces).
*/
- if (vim_iswhite(string[0])) {
- if (i == 0 || !vim_iswhite(line[i - 1]))
+ if (ascii_iswhite(string[0])) {
+ if (i == 0 || !ascii_iswhite(line[i - 1]))
continue;
- while (vim_iswhite(string[0]))
+ while (ascii_iswhite(string[0]))
++string;
}
for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
@@ -1145,7 +1145,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
* end-of-line after the string in the line.
*/
if (vim_strchr(part_buf, COM_BLANK) != NULL
- && !vim_iswhite(line[i + j]) && line[i + j] != NUL) {
+ && !ascii_iswhite(line[i + j]) && line[i + j] != NUL) {
continue;
}
@@ -1180,7 +1180,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
* the comment leader correctly.
*/
- while (vim_iswhite(*com_leader))
+ while (ascii_iswhite(*com_leader))
++com_leader;
len1 = (int)STRLEN(com_leader);
@@ -1192,7 +1192,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
continue;
string = vim_strchr(part_buf2, ':');
++string;
- while (vim_iswhite(*string))
+ while (ascii_iswhite(*string))
++string;
len2 = (int)STRLEN(string);
if (len2 == 0)
@@ -2465,7 +2465,7 @@ get_number (
for (;; ) {
ui_cursor_goto(msg_row, msg_col);
c = safe_vgetc();
- if (VIM_ISDIGIT(c)) {
+ if (ascii_isdigit(c)) {
n = n * 10 + c - '0';
msg_putchar(c);
++typed;
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index aa617a20fa..b122b3e1d5 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -2365,7 +2365,7 @@ do_mouse (
* not a word character, try finding a match and select a (),
* {}, [], #if/#endif, etc. block. */
end_visual = curwin->w_cursor;
- while (gc = gchar_pos(&end_visual), vim_iswhite(gc))
+ while (gc = gchar_pos(&end_visual), ascii_iswhite(gc))
inc(&end_visual);
if (oap != NULL)
oap->motion_type = MCHAR;
@@ -2627,7 +2627,7 @@ int find_ident_at_pos(win_T *wp, linenr_T lnum, colnr_T startcol, char_u **strin
}
} else
while (ptr[col] != NUL
- && (i == 0 ? !vim_iswordc(ptr[col]) : vim_iswhite(ptr[col]))
+ && (i == 0 ? !vim_iswordc(ptr[col]) : ascii_iswhite(ptr[col]))
)
++col;
@@ -2660,7 +2660,7 @@ int find_ident_at_pos(win_T *wp, linenr_T lnum, colnr_T startcol, char_u **strin
while (col > 0
&& ((i == 0
? vim_iswordc(ptr[col - 1])
- : (!vim_iswhite(ptr[col - 1])
+ : (!ascii_iswhite(ptr[col - 1])
&& (!(find_type & FIND_IDENT)
|| !vim_iswordc(ptr[col - 1]))))
))
@@ -2702,7 +2702,7 @@ int find_ident_at_pos(win_T *wp, linenr_T lnum, colnr_T startcol, char_u **strin
col += (*mb_ptr2len)(ptr + col);
} else
while ((i == 0 ? vim_iswordc(ptr[col])
- : (ptr[col] != NUL && !vim_iswhite(ptr[col])))
+ : (ptr[col] != NUL && !ascii_iswhite(ptr[col])))
) {
++col;
}
@@ -3593,7 +3593,7 @@ static void nv_zet(cmdarg_T *cap)
int old_fen = curwin->w_p_fen;
bool undo = false;
- if (VIM_ISDIGIT(nchar)) {
+ if (ascii_isdigit(nchar)) {
/*
* "z123{nchar}": edit the count before obtaining {nchar}
*/
@@ -3610,7 +3610,7 @@ static void nv_zet(cmdarg_T *cap)
(void)add_to_showcmd(nchar);
if (nchar == K_DEL || nchar == K_KDEL)
n /= 10;
- else if (VIM_ISDIGIT(nchar))
+ else if (ascii_isdigit(nchar))
n = n * 10 + (nchar - '0');
else if (nchar == CAR) {
win_setheight((int)n);
@@ -6177,7 +6177,7 @@ static void nv_g_cmd(cmdarg_T *cap)
if (flag) {
do
i = gchar_cursor();
- while (vim_iswhite(i) && oneright());
+ while (ascii_iswhite(i) && oneright());
}
curwin->w_set_curswant = true;
break;
@@ -6200,7 +6200,7 @@ static void nv_g_cmd(cmdarg_T *cap)
/* Decrease the cursor column until it's on a non-blank. */
while (curwin->w_cursor.col > 0
- && vim_iswhite(ptr[curwin->w_cursor.col]))
+ && ascii_iswhite(ptr[curwin->w_cursor.col]))
--curwin->w_cursor.col;
curwin->w_set_curswant = true;
adjust_for_sel(cap);
@@ -6715,7 +6715,7 @@ static void nv_wordcmd(cmdarg_T *cap)
if (!word_end && cap->oap->op_type == OP_CHANGE) {
n = gchar_cursor();
if (n != NUL) { /* not an empty line */
- if (vim_iswhite(n)) {
+ if (ascii_iswhite(n)) {
/*
* Reproduce a funny Vi behaviour: "cw" on a blank only
* changes one character, not all blanks until the start of
@@ -7252,7 +7252,7 @@ static void nv_put(cmdarg_T *cap)
was_visual = true;
regname = cap->oap->regname;
if (regname == 0 || regname == '"'
- || VIM_ISDIGIT(regname) || regname == '-') {
+ || ascii_isdigit(regname) || regname == '-') {
// The delete might overwrite the register we want to put, save it first
savereg = copy_register(regname);
}
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index 66ba9943d3..9ee2edc814 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -347,7 +347,7 @@ static void shift_block(oparg_T *oap, int amount)
else
++bd.textstart;
}
- for (; vim_iswhite(*bd.textstart); ) {
+ for (; ascii_iswhite(*bd.textstart); ) {
// TODO: is passing bd.textstart for start of the line OK?
incr = lbr_chartabsize_adv(bd.textstart, &bd.textstart, (colnr_T)(bd.start_vcol));
total += incr;
@@ -403,7 +403,7 @@ static void shift_block(oparg_T *oap, int amount)
/* The character's column is in "bd.start_vcol". */
non_white_col = bd.start_vcol;
- while (vim_iswhite(*non_white)) {
+ while (ascii_iswhite(*non_white)) {
incr = lbr_chartabsize_adv(bd.textstart, &non_white, non_white_col);
non_white_col += incr;
}
@@ -772,7 +772,7 @@ yankreg_T *get_yank_register(int regname, int mode)
}
int i = 0; // when not 0-9, a-z, A-Z or '-'/'+'/'*': use register 0
- if (VIM_ISDIGIT(regname))
+ if (ascii_isdigit(regname))
i = regname - '0';
else if (ASCII_ISLOWER(regname))
i = CharOrdLow(regname) + 10;
@@ -3613,15 +3613,15 @@ static int same_leader(linenr_T lnum, int leader1_len, char_u *leader1_flags, in
* The first line has to be saved, only one line can be locked at a time.
*/
line1 = vim_strsave(ml_get(lnum));
- for (idx1 = 0; vim_iswhite(line1[idx1]); ++idx1)
+ for (idx1 = 0; ascii_iswhite(line1[idx1]); ++idx1)
;
line2 = ml_get(lnum + 1);
for (idx2 = 0; idx2 < leader2_len; ++idx2) {
- if (!vim_iswhite(line2[idx2])) {
+ if (!ascii_iswhite(line2[idx2])) {
if (line1[idx1++] != line2[idx2])
break;
} else
- while (vim_iswhite(line1[idx1]))
+ while (ascii_iswhite(line1[idx1]))
++idx1;
}
xfree(line1);
@@ -3901,7 +3901,7 @@ format_lines (
/* put cursor on last non-space */
State = NORMAL; /* don't go past end-of-line */
coladvance((colnr_T)MAXCOL);
- while (curwin->w_cursor.col && vim_isspace(gchar_cursor()))
+ while (curwin->w_cursor.col && ascii_isspace(gchar_cursor()))
dec_cursor();
/* do the formatting, without 'showmode' */
@@ -3979,10 +3979,8 @@ static int ends_in_white(linenr_T lnum)
if (*s == NUL)
return FALSE;
- /* Don't use STRLEN() inside vim_iswhite(), SAS/C complains: "macro
- * invocation may call function multiple times". */
l = STRLEN(s) - 1;
- return vim_iswhite(s[l]);
+ return ascii_iswhite(s[l]);
}
/*
@@ -4103,7 +4101,7 @@ static void block_prep(oparg_T *oap, struct block_def *bdp, linenr_T lnum, int i
/* Count a tab for what it's worth (if list mode not on) */
incr = lbr_chartabsize(line, pstart, (colnr_T)bdp->start_vcol);
bdp->start_vcol += incr;
- if (vim_iswhite(*pstart)) {
+ if (ascii_iswhite(*pstart)) {
bdp->pre_whitesp += incr;
bdp->pre_whitesp_c++;
} else {
@@ -4241,14 +4239,14 @@ int do_addsub(int command, linenr_T Prenum1)
*/
col = curwin->w_cursor.col;
if (dohex)
- while (col > 0 && vim_isxdigit(ptr[col]))
+ while (col > 0 && ascii_isxdigit(ptr[col]))
--col;
if ( dohex
&& col > 0
&& (ptr[col] == 'X'
|| ptr[col] == 'x')
&& ptr[col - 1] == '0'
- && vim_isxdigit(ptr[col + 1])) {
+ && ascii_isxdigit(ptr[col + 1])) {
/*
* Found hexadecimal number, move to its start.
*/
@@ -4260,12 +4258,12 @@ int do_addsub(int command, linenr_T Prenum1)
col = curwin->w_cursor.col;
while (ptr[col] != NUL
- && !vim_isdigit(ptr[col])
+ && !ascii_isdigit(ptr[col])
&& !(doalp && ASCII_ISALPHA(ptr[col])))
++col;
while (col > 0
- && vim_isdigit(ptr[col - 1])
+ && ascii_isdigit(ptr[col - 1])
&& !(doalp && ASCII_ISALPHA(ptr[col])))
--col;
}
@@ -4275,7 +4273,7 @@ int do_addsub(int command, linenr_T Prenum1)
*/
firstdigit = ptr[col];
RLADDSUBFIX(ptr);
- if ((!VIM_ISDIGIT(firstdigit) && !(doalp && ASCII_ISALPHA(firstdigit)))
+ if ((!ascii_isdigit(firstdigit) && !(doalp && ASCII_ISALPHA(firstdigit)))
|| u_save_cursor() != OK) {
beep_flush();
return FAIL;
@@ -5007,11 +5005,11 @@ static long line_count_info(char_u *line, long *wc, long *cc, long limit, int eo
for (i = 0; i < limit && line[i] != NUL; ) {
if (is_word) {
- if (vim_isspace(line[i])) {
+ if (ascii_isspace(line[i])) {
words++;
is_word = 0;
}
- } else if (!vim_isspace(line[i]))
+ } else if (!ascii_isspace(line[i]))
is_word = 1;
++chars;
i += (*mb_ptr2len)(line + i);
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 057937f60e..12118cdebc 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -2461,7 +2461,7 @@ do_set (
afterchar = arg[len];
/* skip white space, allow ":set ai ?" */
- while (vim_iswhite(arg[len]))
+ while (ascii_iswhite(arg[len]))
++len;
adding = FALSE;
@@ -2549,7 +2549,7 @@ do_set (
}
}
if (vim_strchr((char_u *)"?!&<", nextchar) != NULL
- && arg[1] != NUL && !vim_iswhite(arg[1])) {
+ && arg[1] != NUL && !ascii_iswhite(arg[1])) {
errmsg = e_trailing;
goto skip;
}
@@ -2590,7 +2590,7 @@ do_set (
goto skip;
}
if (nextchar != '?'
- && nextchar != NUL && !vim_iswhite(afterchar))
+ && nextchar != NUL && !ascii_iswhite(afterchar))
errmsg = e_trailing;
} else {
if (flags & P_BOOL) { /* boolean */
@@ -2623,7 +2623,7 @@ do_set (
* ":set invopt": invert
* ":set opt" or ":set noopt": set or reset
*/
- if (nextchar != NUL && !vim_iswhite(afterchar)) {
+ if (nextchar != NUL && !ascii_iswhite(afterchar)) {
errmsg = e_trailing;
goto skip;
}
@@ -2670,8 +2670,8 @@ do_set (
|| (long *)varp == &p_wcm)
&& (*arg == '<'
|| *arg == '^'
- || ((!arg[1] || vim_iswhite(arg[1]))
- && !VIM_ISDIGIT(*arg)))) {
+ || ((!arg[1] || ascii_iswhite(arg[1]))
+ && !ascii_isdigit(*arg)))) {
value = string_to_key(arg);
if (value == 0 && (long *)varp != &p_wcm) {
errmsg = e_invarg;
@@ -2679,16 +2679,16 @@ do_set (
}
}
/* allow negative numbers (for 'undolevels') */
- else if (*arg == '-' || VIM_ISDIGIT(*arg)) {
+ else if (*arg == '-' || ascii_isdigit(*arg)) {
i = 0;
if (*arg == '-')
i = 1;
value = strtol((char *)arg, NULL, 0);
if (arg[i] == '0' && TOLOWER_ASC(arg[i + 1]) == 'x')
i += 2;
- while (VIM_ISDIGIT(arg[i]))
+ while (ascii_isdigit(arg[i]))
++i;
- if (arg[i] != NUL && !vim_iswhite(arg[i])) {
+ if (arg[i] != NUL && !ascii_iswhite(arg[i])) {
errmsg = e_invarg;
goto skip;
}
@@ -2767,7 +2767,7 @@ do_set (
* adding, prepending and removing string.
*/
else if (varp == (char_u *)&p_bs
- && VIM_ISDIGIT(**(char_u **)varp)) {
+ && ascii_isdigit(**(char_u **)varp)) {
i = getdigits_int((char_u **)varp);
switch (i) {
case 0:
@@ -2791,7 +2791,7 @@ do_set (
* Misuse errbuf[] for the resulting string.
*/
else if (varp == (char_u *)&p_ww
- && VIM_ISDIGIT(*arg)) {
+ && ascii_isdigit(*arg)) {
*errbuf = NUL;
i = getdigits_int(&arg);
if (i & 1)
@@ -2848,7 +2848,7 @@ do_set (
* do remove it for "\\\\machine\\path".
* The reverse is found in ExpandOldSetting().
*/
- while (*arg && !vim_iswhite(*arg)) {
+ while (*arg && !ascii_iswhite(*arg)) {
if (*arg == '\\' && arg[1] != NUL
#ifdef BACKSLASH_IN_FILENAME
&& !((flags & P_EXPAND)
@@ -3004,7 +3004,7 @@ skip:
* - skip one "=val" argument (for hidden options ":set gfn =xx")
*/
for (i = 0; i < 2; ++i) {
- while (*arg != NUL && !vim_iswhite(*arg))
+ while (*arg != NUL && !ascii_iswhite(*arg))
if (*arg++ == '\\' && *arg != NUL)
++arg;
arg = skipwhite(arg);
@@ -3212,7 +3212,7 @@ int get_viminfo_parameter(int type)
char_u *p;
p = find_viminfo_parameter(type);
- if (p != NULL && VIM_ISDIGIT(*p))
+ if (p != NULL && ascii_isdigit(*p))
return atoi((char *)p);
return -1;
}
@@ -3883,7 +3883,7 @@ did_set_string_option (
for (s = *varp; *s; ) {
while (*s && *s != ':') {
if (vim_strchr((char_u *)COM_ALL, *s) == NULL
- && !VIM_ISDIGIT(*s) && *s != '-') {
+ && !ascii_isdigit(*s) && *s != '-') {
errmsg = illegal_char(errbuf, *s);
break;
}
@@ -3936,15 +3936,15 @@ did_set_string_option (
;
} else if (*s == '%') {
/* optional number */
- while (vim_isdigit(*++s))
+ while (ascii_isdigit(*++s))
;
} else if (*s == '!' || *s == 'h' || *s == 'c')
++s; /* no extra chars */
else { /* must have a number */
- while (vim_isdigit(*++s))
+ while (ascii_isdigit(*++s))
;
- if (!VIM_ISDIGIT(*(s - 1))) {
+ if (!ascii_isdigit(*(s - 1))) {
if (errbuf != NULL) {
sprintf((char *)errbuf,
_("E526: Missing number after <%s>"),
@@ -4188,7 +4188,7 @@ did_set_string_option (
}
/* 'backspace' */
else if (varp == &p_bs) {
- if (VIM_ISDIGIT(*p_bs)) {
+ if (ascii_isdigit(*p_bs)) {
if (*p_bs >'2' || p_bs[1] != NUL)
errmsg = e_invarg;
} else if (check_opt_strings(p_bs, p_bs_values, TRUE) != OK)
@@ -4428,7 +4428,7 @@ char_u *check_colorcolumn(win_T *wp)
/* -N and +N: add to 'textwidth' */
col = (*s == '-') ? -1 : 1;
++s;
- if (!VIM_ISDIGIT(*s))
+ if (!ascii_isdigit(*s))
return e_invarg;
col = col * getdigits_int(&s);
if (wp->w_buffer->b_p_tw == 0)
@@ -4442,7 +4442,7 @@ char_u *check_colorcolumn(win_T *wp)
col += (int)wp->w_buffer->b_p_tw;
if (col < 0)
goto skip;
- } else if (VIM_ISDIGIT(*s))
+ } else if (ascii_isdigit(*s))
col = getdigits_int(&s);
else
return e_invarg;
@@ -4603,13 +4603,13 @@ char_u *check_stl_option(char_u *s)
}
if (*s == '-')
s++;
- while (VIM_ISDIGIT(*s))
+ while (ascii_isdigit(*s))
s++;
if (*s == STL_USER_HL)
continue;
if (*s == '.') {
s++;
- while (*s && VIM_ISDIGIT(*s))
+ while (*s && ascii_isdigit(*s))
s++;
}
if (*s == '(') {
@@ -7755,12 +7755,12 @@ static bool briopt_check(win_T *wp)
while (*p != NUL)
{
if (STRNCMP(p, "shift:", 6) == 0
- && ((p[6] == '-' && VIM_ISDIGIT(p[7])) || VIM_ISDIGIT(p[6])))
+ && ((p[6] == '-' && ascii_isdigit(p[7])) || ascii_isdigit(p[6])))
{
p += 6;
bri_shift = getdigits_int(&p);
}
- else if (STRNCMP(p, "min:", 4) == 0 && VIM_ISDIGIT(p[4]))
+ else if (STRNCMP(p, "min:", 4) == 0 && ascii_isdigit(p[4]))
{
p += 4;
bri_min = getdigits_int(&p);
diff --git a/src/nvim/os_unix.c b/src/nvim/os_unix.c
index e69b5ccc27..7f2efd8d68 100644
--- a/src/nvim/os_unix.c
+++ b/src/nvim/os_unix.c
@@ -340,7 +340,7 @@ int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file,
STRCAT(command, pat[0] + 1); /* exclude first backtick */
p = command + STRLEN(command) - 1;
*p-- = ')'; /* remove last backtick */
- while (p > command && vim_iswhite(*p))
+ while (p > command && ascii_iswhite(*p))
--p;
if (*p == '&') { /* remove trailing '&' */
ampersent = TRUE;
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index 7e83132a25..5cf2f4d5a7 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -1808,7 +1808,7 @@ static void qf_fmt_text(char_u *text, char_u *buf, int bufsize)
if (*p == '\n') {
buf[i] = ' ';
while (*++p != NUL)
- if (!vim_iswhite(*p) && *p != '\n')
+ if (!ascii_iswhite(*p) && *p != '\n')
break;
} else
buf[i] = *p++;
diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c
index a260860e17..d9031ab78a 100644
--- a/src/nvim/regexp.c
+++ b/src/nvim/regexp.c
@@ -2120,7 +2120,7 @@ static char_u *regatom(int *flagp)
}
default:
- if (VIM_ISDIGIT(c) || c == '<' || c == '>'
+ if (ascii_isdigit(c) || c == '<' || c == '>'
|| c == '\'') {
uint32_t n = 0;
int cmp;
@@ -2128,7 +2128,7 @@ static char_u *regatom(int *flagp)
cmp = c;
if (cmp == '<' || cmp == '>')
c = getchr();
- while (VIM_ISDIGIT(c)) {
+ while (ascii_isdigit(c)) {
n = n * 10 + (uint32_t)(c - '0');
c = getchr();
}
@@ -2324,7 +2324,7 @@ collection:
break;
case CLASS_DIGIT:
for (cu = 1; cu <= 255; cu++)
- if (VIM_ISDIGIT(cu))
+ if (ascii_isdigit(cu))
regc(cu);
break;
case CLASS_GRAPH:
@@ -2359,7 +2359,7 @@ collection:
break;
case CLASS_XDIGIT:
for (cu = 1; cu <= 255; cu++)
- if (vim_isxdigit(cu))
+ if (ascii_isxdigit(cu))
regc(cu);
break;
case CLASS_TAB:
@@ -2978,7 +2978,7 @@ static int gethexchrs(int maxinputlen)
for (i = 0; i < maxinputlen; ++i) {
c = regparse[0];
- if (!vim_isxdigit(c))
+ if (!ascii_isxdigit(c))
break;
nr <<= 4;
nr |= hex2nr(c);
@@ -3087,11 +3087,11 @@ static int read_limits(long *minval, long *maxval)
first_char = regparse;
*minval = getdigits_long(&regparse);
if (*regparse == ',') { /* There is a comma */
- if (vim_isdigit(*++regparse))
+ if (ascii_isdigit(*++regparse))
*maxval = getdigits_long(&regparse);
else
*maxval = MAX_LIMIT;
- } else if (VIM_ISDIGIT(*first_char))
+ } else if (ascii_isdigit(*first_char))
*maxval = *minval; /* It was \{n} or \{-n} */
else
*maxval = MAX_LIMIT; /* It was \{} or \{-} */
@@ -3944,7 +3944,7 @@ regmatch (
break;
case SIDENT:
- if (VIM_ISDIGIT(*reginput) || !vim_isIDc(c))
+ if (ascii_isdigit(*reginput) || !vim_isIDc(c))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
@@ -3958,7 +3958,7 @@ regmatch (
break;
case SKWORD:
- if (VIM_ISDIGIT(*reginput) || !vim_iswordp_buf(reginput, reg_buf))
+ if (ascii_isdigit(*reginput) || !vim_iswordp_buf(reginput, reg_buf))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
@@ -3972,7 +3972,7 @@ regmatch (
break;
case SFNAME:
- if (VIM_ISDIGIT(*reginput) || !vim_isfilec(c))
+ if (ascii_isdigit(*reginput) || !vim_isfilec(c))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
@@ -3986,21 +3986,21 @@ regmatch (
break;
case SPRINT:
- if (VIM_ISDIGIT(*reginput) || !vim_isprintc(PTR2CHAR(reginput)))
+ if (ascii_isdigit(*reginput) || !vim_isprintc(PTR2CHAR(reginput)))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
break;
case WHITE:
- if (!vim_iswhite(c))
+ if (!ascii_iswhite(c))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
break;
case NWHITE:
- if (c == NUL || vim_iswhite(c))
+ if (c == NUL || ascii_iswhite(c))
status = RA_NOMATCH;
else
ADVANCE_REGINPUT();
@@ -5112,7 +5112,7 @@ regrepeat (
case SIDENT:
case SIDENT + ADD_NL:
while (count < maxcount) {
- if (vim_isIDc(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan))) {
+ if (vim_isIDc(PTR2CHAR(scan)) && (testval || !ascii_isdigit(*scan))) {
mb_ptr_adv(scan);
} else if (*scan == NUL) {
if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
@@ -5138,7 +5138,7 @@ regrepeat (
case SKWORD + ADD_NL:
while (count < maxcount) {
if (vim_iswordp_buf(scan, reg_buf)
- && (testval || !VIM_ISDIGIT(*scan))) {
+ && (testval || !ascii_isdigit(*scan))) {
mb_ptr_adv(scan);
} else if (*scan == NUL) {
if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
@@ -5163,7 +5163,7 @@ regrepeat (
case SFNAME:
case SFNAME + ADD_NL:
while (count < maxcount) {
- if (vim_isfilec(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan))) {
+ if (vim_isfilec(PTR2CHAR(scan)) && (testval || !ascii_isdigit(*scan))) {
mb_ptr_adv(scan);
} else if (*scan == NUL) {
if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
@@ -5197,7 +5197,7 @@ regrepeat (
if (got_int)
break;
} else if (vim_isprintc(PTR2CHAR(scan)) == 1
- && (testval || !VIM_ISDIGIT(*scan))) {
+ && (testval || !ascii_isdigit(*scan))) {
mb_ptr_adv(scan);
} else if (reg_line_lbr && *scan == '\n' && WITH_NL(OP(p)))
++scan;
diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c
index 56e488fbd4..3daf6a8544 100644
--- a/src/nvim/regexp_nfa.c
+++ b/src/nvim/regexp_nfa.c
@@ -1401,7 +1401,7 @@ static int nfa_regatom(void)
if (c == '<' || c == '>')
c = getchr();
- while (VIM_ISDIGIT(c)) {
+ while (ascii_isdigit(c)) {
n = n * 10 + (c - '0');
c = getchr();
}
@@ -4235,7 +4235,7 @@ static int check_char_class(int class, int c)
return OK;
break;
case NFA_CLASS_DIGIT:
- if (VIM_ISDIGIT(c))
+ if (ascii_isdigit(c))
return OK;
break;
case NFA_CLASS_GRAPH:
@@ -4263,7 +4263,7 @@ static int check_char_class(int class, int c)
return OK;
break;
case NFA_CLASS_XDIGIT:
- if (vim_isxdigit(c))
+ if (ascii_isxdigit(c))
return OK;
break;
case NFA_CLASS_TAB:
@@ -5488,7 +5488,7 @@ static int nfa_regmatch(nfa_regprog_T *prog, nfa_state_T *start, regsubs_T *subm
break;
case NFA_SIDENT: /* \I */
- result = !VIM_ISDIGIT(curc) && vim_isIDc(curc);
+ result = !ascii_isdigit(curc) && vim_isIDc(curc);
ADD_STATE_IF_MATCH(t->state);
break;
@@ -5498,7 +5498,7 @@ static int nfa_regmatch(nfa_regprog_T *prog, nfa_state_T *start, regsubs_T *subm
break;
case NFA_SKWORD: /* \K */
- result = !VIM_ISDIGIT(curc)
+ result = !ascii_isdigit(curc)
&& vim_iswordp_buf(reginput, reg_buf);
ADD_STATE_IF_MATCH(t->state);
break;
@@ -5509,7 +5509,7 @@ static int nfa_regmatch(nfa_regprog_T *prog, nfa_state_T *start, regsubs_T *subm
break;
case NFA_SFNAME: /* \F */
- result = !VIM_ISDIGIT(curc) && vim_isfilec(curc);
+ result = !ascii_isdigit(curc) && vim_isfilec(curc);
ADD_STATE_IF_MATCH(t->state);
break;
@@ -5519,17 +5519,17 @@ static int nfa_regmatch(nfa_regprog_T *prog, nfa_state_T *start, regsubs_T *subm
break;
case NFA_SPRINT: /* \P */
- result = !VIM_ISDIGIT(curc) && vim_isprintc(PTR2CHAR(reginput));
+ result = !ascii_isdigit(curc) && vim_isprintc(PTR2CHAR(reginput));
ADD_STATE_IF_MATCH(t->state);
break;
case NFA_WHITE: /* \s */
- result = vim_iswhite(curc);
+ result = ascii_iswhite(curc);
ADD_STATE_IF_MATCH(t->state);
break;
case NFA_NWHITE: /* \S */
- result = curc != NUL && !vim_iswhite(curc);
+ result = curc != NUL && !ascii_iswhite(curc);
ADD_STATE_IF_MATCH(t->state);
break;
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index acd8e925e0..c9a2e147dc 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -2401,7 +2401,7 @@ win_line (
/* find start of trailing whitespace */
if (wp->w_p_list && lcs_trail) {
trailcol = (colnr_T)STRLEN(ptr);
- while (trailcol > (colnr_T)0 && vim_iswhite(ptr[trailcol - 1]))
+ while (trailcol > (colnr_T)0 && ascii_iswhite(ptr[trailcol - 1]))
--trailcol;
trailcol += (colnr_T) (ptr - line);
extra_check = TRUE;
@@ -3319,7 +3319,7 @@ win_line (
- vcol % (int)wp->w_buffer->b_p_ts - 1;
}
c_extra = ' ';
- if (vim_iswhite(c)) {
+ if (ascii_iswhite(c)) {
if (c == TAB)
/* See "Tab alignment" below. */
FIX_FOR_BOGUSCOLS;
@@ -4977,7 +4977,7 @@ win_redr_custom (
if (*++stl == '-')
stl++;
if (atoi((char *)stl))
- while (VIM_ISDIGIT(*stl))
+ while (ascii_isdigit(*stl))
stl++;
if (*stl++ != '(')
stl = p_ruf;
diff --git a/src/nvim/search.c b/src/nvim/search.c
index f015c233c8..d20bd77289 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -1006,7 +1006,7 @@ int do_search(
* offset, because it is meaningless and the 's' could be a
* substitute command.
*/
- if (*p == '+' || *p == '-' || VIM_ISDIGIT(*p))
+ if (*p == '+' || *p == '-' || ascii_isdigit(*p))
spats[0].off.line = TRUE;
else if ((options & SEARCH_OPT) &&
(*p == 'e' || *p == 's' || *p == 'b')) {
@@ -1014,16 +1014,16 @@ int do_search(
spats[0].off.end = SEARCH_END;
++p;
}
- if (VIM_ISDIGIT(*p) || *p == '+' || *p == '-') { /* got an offset */
+ if (ascii_isdigit(*p) || *p == '+' || *p == '-') { /* got an offset */
/* 'nr' or '+nr' or '-nr' */
- if (VIM_ISDIGIT(*p) || VIM_ISDIGIT(*(p + 1)))
+ if (ascii_isdigit(*p) || ascii_isdigit(*(p + 1)))
spats[0].off.off = atol((char *)p);
else if (*p == '-') /* single '-' */
spats[0].off.off = -1;
else /* single '+' */
spats[0].off.off = 1;
++p;
- while (VIM_ISDIGIT(*p)) /* skip number */
+ while (ascii_isdigit(*p)) /* skip number */
++p;
}
@@ -2616,7 +2616,7 @@ static void find_first_blank(pos_T *posp)
while (decl(posp) != -1) {
c = gchar_pos(posp);
- if (!vim_iswhite(c)) {
+ if (!ascii_iswhite(c)) {
incl(posp);
break;
}
@@ -2828,7 +2828,7 @@ extend:
decl(&pos);
while (lt(pos, curwin->w_cursor)) {
c = gchar_pos(&pos);
- if (!vim_iswhite(c)) {
+ if (!ascii_iswhite(c)) {
at_start_sent = FALSE;
break;
}
@@ -2848,7 +2848,7 @@ extend:
if (at_start_sent)
find_first_blank(&curwin->w_cursor);
c = gchar_cursor();
- if (!at_start_sent || (!include && !vim_iswhite(c)))
+ if (!at_start_sent || (!include && !ascii_iswhite(c)))
findsent(BACKWARD, 1L);
at_start_sent = !at_start_sent;
}
@@ -2866,7 +2866,7 @@ extend:
at_start_sent = FALSE;
while (lt(pos, curwin->w_cursor)) {
c = gchar_pos(&pos);
- if (!vim_iswhite(c)) {
+ if (!ascii_iswhite(c)) {
at_start_sent = TRUE;
break;
}
@@ -2891,7 +2891,7 @@ extend:
* If the cursor started on a blank, check if it is just before the start
* of the next sentence.
*/
- while (c = gchar_pos(&pos), vim_iswhite(c)) /* vim_iswhite() is a macro */
+ while (c = gchar_pos(&pos), ascii_iswhite(c))
incl(&pos);
if (equalpos(pos, curwin->w_cursor)) {
start_blank = TRUE;
@@ -2921,10 +2921,10 @@ extend:
*/
if (start_blank) {
find_first_blank(&curwin->w_cursor);
- c = gchar_pos(&curwin->w_cursor); /* vim_iswhite() is a macro */
- if (vim_iswhite(c))
+ c = gchar_pos(&curwin->w_cursor);
+ if (ascii_iswhite(c))
decl(&curwin->w_cursor);
- } else if (c = gchar_cursor(), !vim_iswhite(c))
+ } else if (c = gchar_cursor(), !ascii_iswhite(c))
find_first_blank(&start_pos);
}
@@ -3231,7 +3231,7 @@ again:
*/
inc_cursor();
p = get_cursor_pos_ptr();
- for (cp = p; *cp != NUL && *cp != '>' && !vim_iswhite(*cp); mb_ptr_adv(cp))
+ for (cp = p; *cp != NUL && *cp != '>' && !ascii_iswhite(*cp); mb_ptr_adv(cp))
;
len = (int)(cp - p);
if (len == 0) {
@@ -3679,11 +3679,11 @@ current_quote (
/* When "include" is TRUE, include spaces after closing quote or before
* the starting quote. */
if (include) {
- if (vim_iswhite(line[col_end + 1]))
- while (vim_iswhite(line[col_end + 1]))
+ if (ascii_iswhite(line[col_end + 1]))
+ while (ascii_iswhite(line[col_end + 1]))
++col_end;
else
- while (col_start > 0 && vim_iswhite(line[col_start - 1]))
+ while (col_start > 0 && ascii_iswhite(line[col_start - 1]))
--col_start;
}
diff --git a/src/nvim/spell.c b/src/nvim/spell.c
index 7b38b540cb..90a2d69703 100644
--- a/src/nvim/spell.c
+++ b/src/nvim/spell.c
@@ -5155,7 +5155,7 @@ static unsigned get_affitem(int flagtype, char_u **pp)
int res;
if (flagtype == AFT_NUM) {
- if (!VIM_ISDIGIT(**pp)) {
+ if (!ascii_isdigit(**pp)) {
++*pp; // always advance, avoid getting stuck
return 0;
}
@@ -5410,7 +5410,7 @@ static int spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
// Read and ignore the first line: word count.
(void)vim_fgets(line, MAXLINELEN, fd);
- if (!vim_isdigit(*skipwhite(line)))
+ if (!ascii_isdigit(*skipwhite(line)))
EMSG2(_("E760: No word count in %s"), fname);
// Read all the lines in the file one by one.
@@ -6019,7 +6019,7 @@ static int spell_read_wordfile(spellinfo_T *spin, char_u *fname)
flags |= WF_BANNED;
else if (*p == '?') // Rare word.
flags |= WF_RARE;
- else if (VIM_ISDIGIT(*p)) { // region number(s)
+ else if (ascii_isdigit(*p)) { // region number(s)
if ((flags & WF_REGION) == 0) // first one
regionmask = 0;
flags |= WF_REGION;
@@ -6351,20 +6351,20 @@ int spell_check_msm(void)
long incr = 0;
long added = 0;
- if (!VIM_ISDIGIT(*p))
+ if (!ascii_isdigit(*p))
return FAIL;
// block count = (value * 1024) / SBLOCKSIZE (but avoid overflow)
start = (getdigits_long(&p) * 10) / (SBLOCKSIZE / 102);
if (*p != ',')
return FAIL;
++p;
- if (!VIM_ISDIGIT(*p))
+ if (!ascii_isdigit(*p))
return FAIL;
incr = (getdigits_long(&p) * 102) / (SBLOCKSIZE / 10);
if (*p != ',')
return FAIL;
++p;
- if (!VIM_ISDIGIT(*p))
+ if (!ascii_isdigit(*p))
return FAIL;
added = getdigits_long(&p) * 1024;
if (*p != NUL)
@@ -8350,10 +8350,10 @@ int spell_check_sps(void)
copy_option_part(&p, buf, MAXPATHL, ",");
f = 0;
- if (VIM_ISDIGIT(*buf)) {
+ if (ascii_isdigit(*buf)) {
s = buf;
sps_limit = getdigits_int(&s);
- if (*s != NUL && !VIM_ISDIGIT(*s))
+ if (*s != NUL && !ascii_isdigit(*s))
f = -1;
} else if (STRCMP(buf, "best") == 0)
f = SPS_BEST;
@@ -9501,7 +9501,7 @@ static void suggest_trie_walk(suginfo_T *su, langp_T *lp, char_u *fword, bool so
fword_ends = (fword[sp->ts_fidx] == NUL
|| (soundfold
- ? vim_iswhite(fword[sp->ts_fidx])
+ ? ascii_iswhite(fword[sp->ts_fidx])
: !spell_iswordp(fword + sp->ts_fidx, curwin)));
tword[sp->ts_twordlen] = NUL;
@@ -10915,7 +10915,7 @@ stp_sal_score (
// sounds like "t h" while "the" sounds like "@". Avoid that by
// removing the space. Don't do it when the good word also contains a
// space.
- if (vim_iswhite(su->su_badptr[su->su_badlen])
+ if (ascii_iswhite(su->su_badptr[su->su_badlen])
&& *skiptowhite(stp->st_word) == NUL)
for (p = fword; *(p = skiptowhite(p)) != NUL; )
STRMOVE(p, p + 1);
@@ -11695,7 +11695,7 @@ static void spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
// 255, sl_sal the rest.
for (s = inword; *s != NUL; ) {
c = mb_cptr2char_adv(&s);
- if (enc_utf8 ? utf_class(c) == 0 : vim_iswhite(c))
+ if (enc_utf8 ? utf_class(c) == 0 : ascii_iswhite(c))
c = ' ';
else if (c < 256)
c = slang->sl_sal_first[c];
@@ -11727,7 +11727,7 @@ static void spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
} else {
// The sl_sal_first[] table contains the translation.
for (s = inword; (c = *s) != NUL; ++s) {
- if (vim_iswhite(c))
+ if (ascii_iswhite(c))
c = ' ';
else
c = slang->sl_sal_first[c];
@@ -11762,7 +11762,7 @@ static void spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
if (slang->sl_rem_accents) {
t = word;
while (*s != NUL) {
- if (vim_iswhite(*s)) {
+ if (ascii_iswhite(*s)) {
*t++ = ' ';
s = skipwhite(s);
} else {
@@ -11822,7 +11822,7 @@ static void spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
}
if (*s == '<')
s++;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
// determine priority
pri = *s - '0';
s++;
@@ -11883,7 +11883,7 @@ static void spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
}
if (*s == '<')
s++;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
p0 = *s - '0';
s++;
}
@@ -11955,7 +11955,7 @@ static void spell_soundfold_sal(slang_T *slang, char_u *inword, char_u *res)
break;
}
}
- } else if (vim_iswhite(c)) {
+ } else if (ascii_iswhite(c)) {
c = ' ';
k = 1;
}
@@ -12010,7 +12010,7 @@ static void spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
t = s;
c = mb_cptr2char_adv(&s);
if (slang->sl_rem_accents) {
- if (enc_utf8 ? utf_class(c) == 0 : vim_iswhite(c)) {
+ if (enc_utf8 ? utf_class(c) == 0 : ascii_iswhite(c)) {
if (did_white)
continue;
c = ' ';
@@ -12076,7 +12076,7 @@ static void spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
}
if (*s == '<')
s++;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
// determine priority
pri = *s - '0';
s++;
@@ -12141,7 +12141,7 @@ static void spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
}
if (*s == '<')
s++;
- if (VIM_ISDIGIT(*s)) {
+ if (ascii_isdigit(*s)) {
p0 = *s - '0';
s++;
}
@@ -12221,7 +12221,7 @@ static void spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
break;
}
}
- } else if (vim_iswhite(c)) {
+ } else if (ascii_iswhite(c)) {
c = ' ';
k = 1;
}
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index 4e70f48860..de70397c30 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -295,7 +295,7 @@ void del_trailing_spaces(char_u *ptr)
char_u *q;
q = ptr + STRLEN(ptr);
- while (--q > ptr && vim_iswhite(q[0]) && q[-1] != '\\' && q[-1] != Ctrl_V)
+ while (--q > ptr && ascii_iswhite(q[0]) && q[-1] != '\\' && q[-1] != Ctrl_V)
*q = NUL;
}
@@ -450,16 +450,6 @@ char_u *vim_strrchr(const char_u *string, int c)
}
/*
- * Vim has its own isspace() function, because on some machines isspace()
- * can't handle characters above 128.
- */
-bool vim_isspace(int x)
- FUNC_ATTR_CONST
-{
- return (x >= 9 && x <= 13) || x == ' ';
-}
-
-/*
* Sort an array of strings.
*/
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c
index 8c32e5f06a..2df0e72f8f 100644
--- a/src/nvim/syntax.c
+++ b/src/nvim/syntax.c
@@ -1973,7 +1973,7 @@ syn_current_attr (
if (!found_match) {
line = syn_getcurline();
if (((current_next_flags & HL_SKIPWHITE)
- && vim_iswhite(line[current_col]))
+ && ascii_iswhite(line[current_col]))
|| ((current_next_flags & HL_SKIPEMPTY)
&& *line == NUL))
break;
@@ -3941,7 +3941,7 @@ get_syn_options (
for (i = 0, len = 0; p[i] != NUL; i += 2, ++len)
if (arg[len] != p[i] && arg[len] != p[i + 1])
break;
- if (p[i] == NUL && (vim_iswhite(arg[len])
+ if (p[i] == NUL && (ascii_iswhite(arg[len])
|| (flagtab[fidx].argtype > 0
? arg[len] == '='
: ends_excmd(arg[len])))) {
@@ -4161,7 +4161,7 @@ static void syn_cmd_keyword(exarg_T *eap, int syncing)
if (rest == NULL || ends_excmd(*rest))
break;
/* Copy the keyword, removing backslashes, and add a NUL. */
- while (*rest != NUL && !vim_iswhite(*rest)) {
+ while (*rest != NUL && !ascii_iswhite(*rest)) {
if (*rest == '\\' && rest[1] != NUL)
++rest;
*p++ = *rest++;
@@ -4386,7 +4386,7 @@ syn_cmd_region (
/* must be a pattern or matchgroup then */
key_end = rest;
- while (*key_end && !vim_iswhite(*key_end) && *key_end != '=')
+ while (*key_end && !ascii_iswhite(*key_end) && *key_end != '=')
++key_end;
xfree(key);
key = vim_strnsave_up(rest, (int)(key_end - rest));
@@ -4791,15 +4791,15 @@ static void syn_cmd_cluster(exarg_T *eap, int syncing)
for (;; ) {
if (STRNICMP(rest, "add", 3) == 0
- && (vim_iswhite(rest[3]) || rest[3] == '=')) {
+ && (ascii_iswhite(rest[3]) || rest[3] == '=')) {
opt_len = 3;
list_op = CLUSTER_ADD;
} else if (STRNICMP(rest, "remove", 6) == 0
- && (vim_iswhite(rest[6]) || rest[6] == '=')) {
+ && (ascii_iswhite(rest[6]) || rest[6] == '=')) {
opt_len = 6;
list_op = CLUSTER_SUBTRACT;
} else if (STRNICMP(rest, "contains", 8) == 0
- && (vim_iswhite(rest[8]) || rest[8] == '=')) {
+ && (ascii_iswhite(rest[8]) || rest[8] == '=')) {
opt_len = 8;
list_op = CLUSTER_REPLACE;
} else
@@ -4916,7 +4916,7 @@ static char_u *get_syn_pattern(char_u *arg, synpat_T *ci)
}
} while (idx >= 0);
- if (!ends_excmd(*end) && !vim_iswhite(*end)) {
+ if (!ends_excmd(*end) && !ascii_iswhite(*end)) {
EMSG2(_("E402: Garbage after pattern: %s"), arg);
return NULL;
}
@@ -4968,7 +4968,7 @@ static void syn_cmd_sync(exarg_T *eap, int syncing)
arg_end = key + 11;
else
arg_end = key + 9;
- if (arg_end[-1] != '=' || !VIM_ISDIGIT(*arg_end)) {
+ if (arg_end[-1] != '=' || !ascii_isdigit(*arg_end)) {
illegal = TRUE;
break;
}
@@ -5098,7 +5098,7 @@ get_id_list (
*/
count = 0;
do {
- for (end = p; *end && !vim_iswhite(*end) && *end != ','; ++end)
+ for (end = p; *end && !ascii_iswhite(*end) && *end != ','; ++end)
;
name = xmalloc((int)(end - p + 3)); /* leave room for "^$" */
STRLCPY(name + 1, p, end - p + 1);
@@ -6143,7 +6143,7 @@ do_highlight (
* Isolate the key ("term", "ctermfg", "ctermbg", "font", "guifg" or
* "guibg").
*/
- while (*linep && !vim_iswhite(*linep) && *linep != '=')
+ while (*linep && !ascii_iswhite(*linep) && *linep != '=')
++linep;
xfree(key);
key = vim_strnsave_up(key_start, (int)(linep - key_start));
@@ -6251,7 +6251,7 @@ do_highlight (
HL_TABLE()[idx].sg_cterm_bold = FALSE;
}
- if (VIM_ISDIGIT(*arg))
+ if (ascii_isdigit(*arg))
color = atoi((char *)arg);
else if (STRICMP(arg, "fg") == 0) {
if (cterm_normal_fg_color)
@@ -7138,9 +7138,10 @@ int highlight_changed(void)
*/
attr = 0;
bool colon = false;
- for (; *p && *p != ','; ++p) { /* parse upto comma */
- if (vim_iswhite(*p)) /* ignore white space */
+ for (; *p && *p != ','; ++p) { // parse upto comma
+ if (ascii_iswhite(*p)) { // ignore white space
continue;
+ }
if (colon) /* Combination with ':' is not allowed. */
return FAIL;
diff --git a/src/nvim/tag.c b/src/nvim/tag.c
index b9abf3552c..df583c66ef 100644
--- a/src/nvim/tag.c
+++ b/src/nvim/tag.c
@@ -587,7 +587,7 @@ do_tag (
/* skip "file:" without a value (static tag) */
if (STRNCMP(p, "file:", 5) == 0
- && vim_isspace(p[5])) {
+ && ascii_isspace(p[5])) {
p += 5;
continue;
}
@@ -640,7 +640,7 @@ do_tag (
++p;
}
/* Remove leading whitespace from pattern */
- while (p != command_end && vim_isspace(*p))
+ while (p != command_end && ascii_isspace(*p))
++p;
while (p != command_end) {
@@ -2652,7 +2652,7 @@ static int find_extra(char_u **pp)
/* Repeat for addresses separated with ';' */
for (;; ) {
- if (VIM_ISDIGIT(*str))
+ if (ascii_isdigit(*str))
str = skipdigits(str);
else if (*str == '/' || *str == '?') {
str = skip_regexp(str + 1, *str, FALSE, NULL);
@@ -2663,7 +2663,7 @@ static int find_extra(char_u **pp)
} else
str = NULL;
if (str == NULL || *str != ';'
- || !(VIM_ISDIGIT(str[1]) || str[1] == '/' || str[1] == '?'))
+ || !(ascii_isdigit(str[1]) || str[1] == '/' || str[1] == '?'))
break;
++str; /* skip ';' */
}
@@ -2820,7 +2820,7 @@ int get_tags(list_T *list, char_u *pat)
else if (STRNCMP(p, "file:", 5) == 0)
/* skip "file:" (static tag) */
p += 4;
- else if (!vim_iswhite(*p)) {
+ else if (!ascii_iswhite(*p)) {
char_u *s, *n;
int len;
diff --git a/src/nvim/vim.h b/src/nvim/vim.h
index 12b73843f8..796267dd0d 100644
--- a/src/nvim/vim.h
+++ b/src/nvim/vim.h
@@ -328,12 +328,6 @@ enum {
#define hl_attr(n) highlight_attr[(int)(n)]
#define term_str(n) term_strings[(int)(n)]
-/*
- * vim_iswhite() is used for "^" and the like. It differs from isspace()
- * because it doesn't include <CR> and <LF> and the like.
- */
-#define vim_iswhite(x) ((x) == ' ' || (x) == '\t')
-
/* Maximum number of bytes in a multi-byte character. It can be one 32-bit
* character of up to 6 bytes, or one 16-bit character of up to three bytes
* plus six following composing characters of three bytes each. */