aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-11-14 13:39:14 +0100
committerBjörn Linse <bjorn.linse@gmail.com>2021-11-14 17:08:50 +0100
commit1450a6f7534147e3d7252594cf06e2a1cc14b79b (patch)
tree1971f1f0f146e16cc8d0f52c97e6b9a0c21f27c6
parent54ff21a15303e1c7dbfde4895c3444daad6df16a (diff)
downloadrneovim-1450a6f7534147e3d7252594cf06e2a1cc14b79b.tar.gz
rneovim-1450a6f7534147e3d7252594cf06e2a1cc14b79b.tar.bz2
rneovim-1450a6f7534147e3d7252594cf06e2a1cc14b79b.zip
refactor(macroman): get rid of MB_COPY_CHAR macro
clean up docs for MB_PTR_ADV and MB_PTR_BACK
-rw-r--r--src/nvim/eval.c6
-rw-r--r--src/nvim/eval/funcs.c2
-rw-r--r--src/nvim/ex_docmd.c4
-rw-r--r--src/nvim/macros.h15
-rw-r--r--src/nvim/mbyte.c5
-rw-r--r--src/nvim/spellfile.c2
-rw-r--r--src/nvim/strings.c2
7 files changed, 15 insertions, 21 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index b27a11c248..0123c7265b 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -4969,11 +4969,11 @@ static int get_string_tv(char_u **arg, typval_T *rettv, int evaluate)
FALLTHROUGH;
default:
- MB_COPY_CHAR(p, name);
+ mb_copy_char((const char_u **)&p, &name);
break;
}
} else {
- MB_COPY_CHAR(p, name);
+ mb_copy_char((const char_u **)&p, &name);
}
}
*name = NUL;
@@ -5033,7 +5033,7 @@ static int get_lit_string_tv(char_u **arg, typval_T *rettv, int evaluate)
}
++p;
}
- MB_COPY_CHAR(p, str);
+ mb_copy_char((const char_u **)&p, &str);
}
*str = NUL;
*arg = p + 1;
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 38068f03a9..1d9ebdb596 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -10761,7 +10761,7 @@ static void f_strcharpart(typval_T *argvars, typval_T *rettv, FunPtr fptr)
if (off < 0) {
len += 1;
} else {
- len += (size_t)utf_ptr2len((const char_u *)p + off);
+ len += utf_ptr2len((const char_u *)p + off);
}
charlen--;
}
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index ecff9becdf..499c6ed4f9 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -2565,7 +2565,7 @@ static void append_command(char_u *cmd)
STRCPY(d, "<a0>");
d += 4;
} else {
- MB_COPY_CHAR(s, d);
+ mb_copy_char((const char_u **)&s, &d);
}
}
*d = NUL;
@@ -5806,7 +5806,7 @@ static char_u *uc_split_args(char_u *arg, size_t *lenp)
*q++ = ',';
*q++ = '"';
} else {
- MB_COPY_CHAR(p, q);
+ mb_copy_char((const char_u **)&p, &q);
}
}
*q++ = '"';
diff --git a/src/nvim/macros.h b/src/nvim/macros.h
index b315c06656..faef0f69b2 100644
--- a/src/nvim/macros.h
+++ b/src/nvim/macros.h
@@ -92,22 +92,19 @@
#define REPLACE_NORMAL(s) (((s) & REPLACE_FLAG) && !((s) & VREPLACE_FLAG))
-// MB_PTR_ADV(): advance a pointer to the next character, taking care of
-// multi-byte characters if needed.
-// MB_PTR_BACK(): backup a pointer to the previous character, taking care of
-// multi-byte characters if needed.
-// MB_COPY_CHAR(f, t): copy one char from "f" to "t" and advance the pointers.
-// Advance multi-byte pointer, skip over composing chars.
+// MB_PTR_ADV(): advance a pointer to the next character, taking care of
+// multi-byte characters if needed. Skip over composing chars.
#define MB_PTR_ADV(p) (p += utfc_ptr2len((char_u *)p))
+
// Advance multi-byte pointer, do not skip over composing chars.
#define MB_CPTR_ADV(p) (p += utf_ptr2len(p))
-// Backup multi-byte pointer. Only use with "p" > "s" !
+
+// MB_PTR_BACK(): backup a pointer to the previous character, taking care of
+// multi-byte characters if needed. Only use with "p" > "s" !
#define MB_PTR_BACK(s, p) \
(p -= utf_head_off((char_u *)s, (char_u *)p - 1) + 1)
-#define MB_COPY_CHAR(f, t) mb_copy_char((const char_u **)(&f), &t);
-
#define RESET_BINDING(wp) \
do { \
(wp)->w_p_scb = false; \
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index 3916117785..12460646ed 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -791,9 +791,6 @@ int utfc_ptr2char(const char_u *p, int *pcc)
*/
int utfc_ptr2char_len(const char_u *p, int *pcc, int maxlen)
{
-#define IS_COMPOSING(s1, s2, s3) \
- (i == 0 ? utf_composinglike((s1), (s2)) : utf_iscomposing((s3)))
-
assert(maxlen > 0);
int i = 0;
@@ -809,7 +806,7 @@ int utfc_ptr2char_len(const char_u *p, int *pcc, int maxlen)
int len_cc = utf_ptr2len_len(p + len, maxlen - len);
safe = len_cc > 1 && len_cc <= maxlen - len;
if (!safe || (pcc[i] = utf_ptr2char(p + len)) < 0x80
- || !IS_COMPOSING(p, p + len, pcc[i])) {
+ || !(i == 0 ? utf_composinglike(p, p+len) : utf_iscomposing(pcc[i]))) {
break;
}
len += len_cc;
diff --git a/src/nvim/spellfile.c b/src/nvim/spellfile.c
index 7e8c24b1bf..0fc9012f27 100644
--- a/src/nvim/spellfile.c
+++ b/src/nvim/spellfile.c
@@ -3501,7 +3501,7 @@ static int store_aff_word(spellinfo_T *spin, char_u *word, char_u *afflist, afff
if (ae->ae_chop != NULL) {
// Remove chop string.
p = newword + STRLEN(newword);
- i = (int)mb_charlen(ae->ae_chop);
+ i = mb_charlen(ae->ae_chop);
for (; i > 0; i--) {
MB_PTR_BACK(newword, p);
}
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index e08f73ef6c..47cbf01996 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -283,7 +283,7 @@ char_u *vim_strsave_shellescape(const char_u *string, bool do_special, bool do_n
continue;
}
- MB_COPY_CHAR(p, d);
+ mb_copy_char(&p, &d);
}
// add terminating quote and finish with a NUL