mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Refactor: remove mb_ptr2len_len, mb_ptr2cells and mb_ptr2cells_len
Remove occurences of these macros.
This commit is contained in:
parent
e30ccd56d9
commit
1c03a06487
@ -5653,7 +5653,7 @@ void ex_sign(exarg_T *eap)
|
|||||||
if (!vim_isprintc(utf_ptr2char(s))) {
|
if (!vim_isprintc(utf_ptr2char(s))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cells += (*mb_ptr2cells)(s);
|
cells += utf_ptr2cells(s);
|
||||||
}
|
}
|
||||||
// Currently must be one or two display cells
|
// Currently must be one or two display cells
|
||||||
if (s != p || cells < 1 || cells > 2) {
|
if (s != p || cells < 1 || cells > 2) {
|
||||||
|
@ -2153,7 +2153,7 @@ static void set_cmdspos_cursor(void)
|
|||||||
static void correct_cmdspos(int idx, int cells)
|
static void correct_cmdspos(int idx, int cells)
|
||||||
{
|
{
|
||||||
if ((*mb_ptr2len)(ccline.cmdbuff + idx) > 1
|
if ((*mb_ptr2len)(ccline.cmdbuff + idx) > 1
|
||||||
&& (*mb_ptr2cells)(ccline.cmdbuff + idx) > 1
|
&& utf_ptr2cells(ccline.cmdbuff + idx) > 1
|
||||||
&& ccline.cmdspos % Columns + cells > Columns)
|
&& ccline.cmdspos % Columns + cells > Columns)
|
||||||
ccline.cmdspos++;
|
ccline.cmdspos++;
|
||||||
}
|
}
|
||||||
|
@ -893,7 +893,7 @@ static colnr_T hardcopy_line(prt_settings_T *psettings, int page_line, prt_pos_T
|
|||||||
} else {
|
} else {
|
||||||
need_break = mch_print_text_out(line + col, (size_t)outputlen);
|
need_break = mch_print_text_out(line + col, (size_t)outputlen);
|
||||||
if (has_mbyte)
|
if (has_mbyte)
|
||||||
print_pos += (*mb_ptr2cells)(line + col);
|
print_pos += utf_ptr2cells(line + col);
|
||||||
else
|
else
|
||||||
print_pos++;
|
print_pos++;
|
||||||
}
|
}
|
||||||
@ -2912,7 +2912,7 @@ int mch_print_text_out(char_u *const textp, size_t len)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (prt_out_mbyte) {
|
if (prt_out_mbyte) {
|
||||||
const bool half_width = ((*mb_ptr2cells)(p) == 1);
|
const bool half_width = (utf_ptr2cells(p) == 1);
|
||||||
if (half_width) {
|
if (half_width) {
|
||||||
char_width /= 2;
|
char_width /= 2;
|
||||||
}
|
}
|
||||||
|
@ -898,7 +898,7 @@ char_u *replace_termcodes(const char_u *from, const size_t from_len,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip multibyte char correctly
|
// skip multibyte char correctly
|
||||||
for (i = (*mb_ptr2len_len)(src, (int) (end - src) + 1); i > 0; i--) {
|
for (i = utfc_ptr2len_len(src, (int) (end - src) + 1); i > 0; i--) {
|
||||||
// If the character is K_SPECIAL, replace it with K_SPECIAL
|
// If the character is K_SPECIAL, replace it with K_SPECIAL
|
||||||
// KS_SPECIAL KE_FILLER.
|
// KS_SPECIAL KE_FILLER.
|
||||||
// If compiled with the GUI replace CSI with K_CSI.
|
// If compiled with the GUI replace CSI with K_CSI.
|
||||||
|
@ -550,7 +550,7 @@ size_t mb_string2cells(const char_u *str)
|
|||||||
size_t clen = 0;
|
size_t clen = 0;
|
||||||
|
|
||||||
for (const char_u *p = str; *p != NUL; p += (*mb_ptr2len)(p)) {
|
for (const char_u *p = str; *p != NUL; p += (*mb_ptr2len)(p)) {
|
||||||
clen += (*mb_ptr2cells)(p);
|
clen += utf_ptr2cells(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
return clen;
|
return clen;
|
||||||
@ -2124,7 +2124,7 @@ static char_u *iconv_string(const vimconv_T *const vcp, char_u *str,
|
|||||||
* conversion from 'encoding' to something else. In other
|
* conversion from 'encoding' to something else. In other
|
||||||
* situations we don't know what to skip anyway. */
|
* situations we don't know what to skip anyway. */
|
||||||
*to++ = '?';
|
*to++ = '?';
|
||||||
if ((*mb_ptr2cells)((char_u *)from) > 1)
|
if (utf_ptr2cells((char_u *)from) > 1)
|
||||||
*to++ = '?';
|
*to++ = '?';
|
||||||
l = utfc_ptr2len_len((const char_u *)from, (int)fromlen);
|
l = utfc_ptr2len_len((const char_u *)from, (int)fromlen);
|
||||||
from += l;
|
from += l;
|
||||||
|
@ -47,11 +47,8 @@ enum { MAX_MCO = 6 };
|
|||||||
|
|
||||||
// TODO(bfredl): eventually we should keep only one of the namings
|
// TODO(bfredl): eventually we should keep only one of the namings
|
||||||
#define mb_ptr2len utfc_ptr2len
|
#define mb_ptr2len utfc_ptr2len
|
||||||
#define mb_ptr2len_len utfc_ptr2len_len
|
|
||||||
#define mb_char2len utf_char2len
|
#define mb_char2len utf_char2len
|
||||||
#define mb_char2bytes utf_char2bytes
|
#define mb_char2bytes utf_char2bytes
|
||||||
#define mb_ptr2cells utf_ptr2cells
|
|
||||||
#define mb_ptr2cells_len utf_ptr2cells_len
|
|
||||||
#define mb_char2cells utf_char2cells
|
#define mb_char2cells utf_char2cells
|
||||||
|
|
||||||
/// Flags for vimconv_T
|
/// Flags for vimconv_T
|
||||||
|
@ -699,7 +699,7 @@ char_u *msg_may_trunc(int force, char_u *s)
|
|||||||
return s;
|
return s;
|
||||||
|
|
||||||
for (n = 0; size >= room; ) {
|
for (n = 0; size >= room; ) {
|
||||||
size -= (*mb_ptr2cells)(s + n);
|
size -= utf_ptr2cells(s + n);
|
||||||
n += (*mb_ptr2len)(s + n);
|
n += (*mb_ptr2len)(s + n);
|
||||||
}
|
}
|
||||||
--n;
|
--n;
|
||||||
@ -1222,7 +1222,7 @@ int msg_outtrans_len_attr(char_u *msgstr, int len, int attr)
|
|||||||
c = utf_ptr2char((char_u *)str);
|
c = utf_ptr2char((char_u *)str);
|
||||||
if (vim_isprintc(c)) {
|
if (vim_isprintc(c)) {
|
||||||
// Printable multi-byte char: count the cells.
|
// Printable multi-byte char: count the cells.
|
||||||
retval += (*mb_ptr2cells)((char_u *)str);
|
retval += utf_ptr2cells((char_u *)str);
|
||||||
} else {
|
} else {
|
||||||
// Unprintable multi-byte char: print the printable chars so
|
// Unprintable multi-byte char: print the printable chars so
|
||||||
// far and the translation of the unprintable char.
|
// far and the translation of the unprintable char.
|
||||||
@ -1477,7 +1477,7 @@ void msg_prt_line(char_u *s, int list)
|
|||||||
else
|
else
|
||||||
c = *p_extra++;
|
c = *p_extra++;
|
||||||
} else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1) {
|
} else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1) {
|
||||||
col += (*mb_ptr2cells)(s);
|
col += utf_ptr2cells(s);
|
||||||
char buf[MB_MAXBYTES + 1];
|
char buf[MB_MAXBYTES + 1];
|
||||||
if (lcs_nbsp != NUL && list
|
if (lcs_nbsp != NUL && list
|
||||||
&& (utf_ptr2char(s) == 160 || utf_ptr2char(s) == 0x202f)) {
|
&& (utf_ptr2char(s) == 160 || utf_ptr2char(s) == 0x202f)) {
|
||||||
@ -1549,7 +1549,7 @@ static char_u *screen_puts_mbyte(char_u *s, int l, int attr)
|
|||||||
int cw;
|
int cw;
|
||||||
|
|
||||||
msg_didout = true; // remember that line is not empty
|
msg_didout = true; // remember that line is not empty
|
||||||
cw = (*mb_ptr2cells)(s);
|
cw = utf_ptr2cells(s);
|
||||||
if (cw > 1
|
if (cw > 1
|
||||||
&& (cmdmsg_rl ? msg_col <= 1 : msg_col == Columns - 1)) {
|
&& (cmdmsg_rl ? msg_col <= 1 : msg_col == Columns - 1)) {
|
||||||
// Doesn't fit, print a highlighted '>' to fill it up.
|
// Doesn't fit, print a highlighted '>' to fill it up.
|
||||||
@ -1712,13 +1712,13 @@ static void msg_puts_display(const char_u *str, int maxlen, int attr,
|
|||||||
? (msg_col <= 1
|
? (msg_col <= 1
|
||||||
|| (*s == TAB && msg_col <= 7)
|
|| (*s == TAB && msg_col <= 7)
|
||||||
|| (has_mbyte
|
|| (has_mbyte
|
||||||
&& (*mb_ptr2cells)(s) > 1
|
&& utf_ptr2cells(s) > 1
|
||||||
&& msg_col <= 2))
|
&& msg_col <= 2))
|
||||||
: (msg_col + t_col >= Columns - 1
|
: (msg_col + t_col >= Columns - 1
|
||||||
|| (*s == TAB
|
|| (*s == TAB
|
||||||
&& msg_col + t_col >= ((Columns - 1) & ~7))
|
&& msg_col + t_col >= ((Columns - 1) & ~7))
|
||||||
|| (has_mbyte
|
|| (has_mbyte
|
||||||
&& (*mb_ptr2cells)(s) > 1
|
&& utf_ptr2cells(s) > 1
|
||||||
&& msg_col + t_col >= Columns - 2))))) {
|
&& msg_col + t_col >= Columns - 2))))) {
|
||||||
// The screen is scrolled up when at the last row (some terminals
|
// The screen is scrolled up when at the last row (some terminals
|
||||||
// scroll automatically, some don't. To avoid problems we scroll
|
// scroll automatically, some don't. To avoid problems we scroll
|
||||||
@ -1787,7 +1787,7 @@ static void msg_puts_display(const char_u *str, int maxlen, int attr,
|
|||||||
|
|
||||||
wrap = *s == '\n'
|
wrap = *s == '\n'
|
||||||
|| msg_col + t_col >= Columns
|
|| msg_col + t_col >= Columns
|
||||||
|| (has_mbyte && (*mb_ptr2cells)(s) > 1
|
|| (has_mbyte && utf_ptr2cells(s) > 1
|
||||||
&& msg_col + t_col >= Columns - 1)
|
&& msg_col + t_col >= Columns - 1)
|
||||||
;
|
;
|
||||||
if (t_col > 0 && (wrap || *s == '\r' || *s == '\b'
|
if (t_col > 0 && (wrap || *s == '\r' || *s == '\b'
|
||||||
@ -1821,7 +1821,7 @@ static void msg_puts_display(const char_u *str, int maxlen, int attr,
|
|||||||
} else if (*s == BELL) { // beep (from ":sh")
|
} else if (*s == BELL) { // beep (from ":sh")
|
||||||
vim_beep(BO_SH);
|
vim_beep(BO_SH);
|
||||||
} else if (*s >= 0x20) { // printable char
|
} else if (*s >= 0x20) { // printable char
|
||||||
cw = mb_ptr2cells(s);
|
cw = utf_ptr2cells(s);
|
||||||
if (maxlen >= 0) {
|
if (maxlen >= 0) {
|
||||||
// avoid including composing chars after the end
|
// avoid including composing chars after the end
|
||||||
l = utfc_ptr2len_len(s, (int)((str + maxlen) - s));
|
l = utfc_ptr2len_len(s, (int)((str + maxlen) - s));
|
||||||
|
@ -466,7 +466,7 @@ static void out_data_append_to_screen(char *output, size_t *count, bool eof)
|
|||||||
// incomplete UTF-8 sequence that could be composing with the last
|
// incomplete UTF-8 sequence that could be composing with the last
|
||||||
// complete sequence.
|
// complete sequence.
|
||||||
// This will be corrected when we switch to vterm based implementation
|
// This will be corrected when we switch to vterm based implementation
|
||||||
int i = *p ? mb_ptr2len_len((char_u *)p, (int)(end-p)) : 1;
|
int i = *p ? utfc_ptr2len_len((char_u *)p, (int)(end-p)) : 1;
|
||||||
if (!eof && i == 1 && utf8len_tab_zero[*(uint8_t *)p] > (end-p)) {
|
if (!eof && i == 1 && utf8len_tab_zero[*(uint8_t *)p] > (end-p)) {
|
||||||
*count = (size_t)(p - output);
|
*count = (size_t)(p - output);
|
||||||
goto end;
|
goto end;
|
||||||
|
@ -399,7 +399,7 @@ void pum_redraw(void)
|
|||||||
|
|
||||||
if (size > pum_width) {
|
if (size > pum_width) {
|
||||||
do {
|
do {
|
||||||
size -= has_mbyte ? (*mb_ptr2cells)(rt) : 1;
|
size -= has_mbyte ? utf_ptr2cells(rt) : 1;
|
||||||
MB_PTR_ADV(rt);
|
MB_PTR_ADV(rt);
|
||||||
} while (size > pum_width);
|
} while (size > pum_width);
|
||||||
|
|
||||||
|
@ -1874,7 +1874,7 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T
|
|||||||
|
|
||||||
// Store multibyte characters in ScreenLines[] et al. correctly.
|
// Store multibyte characters in ScreenLines[] et al. correctly.
|
||||||
for (p = text; *p != NUL; ) {
|
for (p = text; *p != NUL; ) {
|
||||||
cells = (*mb_ptr2cells)(p);
|
cells = utf_ptr2cells(p);
|
||||||
c_len = (*mb_ptr2len)(p);
|
c_len = (*mb_ptr2len)(p);
|
||||||
if (col + cells > wp->w_width - (wp->w_p_rl ? col : 0)) {
|
if (col + cells > wp->w_width - (wp->w_p_rl ? col : 0)) {
|
||||||
break;
|
break;
|
||||||
@ -2915,7 +2915,7 @@ win_line (
|
|||||||
/* handle Visual or match highlighting in this line */
|
/* handle Visual or match highlighting in this line */
|
||||||
if (vcol == fromcol
|
if (vcol == fromcol
|
||||||
|| (has_mbyte && vcol + 1 == fromcol && n_extra == 0
|
|| (has_mbyte && vcol + 1 == fromcol && n_extra == 0
|
||||||
&& (*mb_ptr2cells)(ptr) > 1)
|
&& utf_ptr2cells(ptr) > 1)
|
||||||
|| ((int)vcol_prev == fromcol_prev
|
|| ((int)vcol_prev == fromcol_prev
|
||||||
&& vcol_prev < vcol /* not at margin */
|
&& vcol_prev < vcol /* not at margin */
|
||||||
&& vcol < tocol))
|
&& vcol < tocol))
|
||||||
@ -4880,7 +4880,7 @@ static void win_redr_status(win_T *wp, int ignore_pum)
|
|||||||
// Going from start to end is much faster for DBCS.
|
// Going from start to end is much faster for DBCS.
|
||||||
for (i = 0; p[i] != NUL && clen >= this_ru_col - 1;
|
for (i = 0; p[i] != NUL && clen >= this_ru_col - 1;
|
||||||
i += (*mb_ptr2len)(p + i)) {
|
i += (*mb_ptr2len)(p + i)) {
|
||||||
clen -= (*mb_ptr2cells)(p + i);
|
clen -= utf_ptr2cells(p + i);
|
||||||
}
|
}
|
||||||
len = clen;
|
len = clen;
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
@ -6134,7 +6134,7 @@ void setcursor(void)
|
|||||||
* character, position it on the leftmost column. */
|
* character, position it on the leftmost column. */
|
||||||
curwin->w_p_rl ? (curwin->w_width - curwin->w_wcol - (
|
curwin->w_p_rl ? (curwin->w_width - curwin->w_wcol - (
|
||||||
(has_mbyte
|
(has_mbyte
|
||||||
&& (*mb_ptr2cells)(get_cursor_pos_ptr()) == 2
|
&& utf_ptr2cells(get_cursor_pos_ptr()) == 2
|
||||||
&& vim_isprintc(gchar_cursor())) ? 2 :
|
&& vim_isprintc(gchar_cursor())) ? 2 :
|
||||||
1)) :
|
1)) :
|
||||||
curwin->w_wcol));
|
curwin->w_wcol));
|
||||||
@ -6972,7 +6972,7 @@ static void win_redr_ruler(win_T *wp, int always)
|
|||||||
if (has_mbyte) {
|
if (has_mbyte) {
|
||||||
o = 0;
|
o = 0;
|
||||||
for (i = 0; buffer[i] != NUL; i += (*mb_ptr2len)(buffer + i)) {
|
for (i = 0; buffer[i] != NUL; i += (*mb_ptr2len)(buffer + i)) {
|
||||||
o += (*mb_ptr2cells)(buffer + i);
|
o += utf_ptr2cells(buffer + i);
|
||||||
if (this_ru_col + o > width) {
|
if (this_ru_col + o > width) {
|
||||||
buffer[i] = NUL;
|
buffer[i] = NUL;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user