mb_isupper
vim_tolower vim_toupper mb_tolower mb_toupper
mb_ptr2len utfc_ptr2len
mb_ptr2len_len utfc_ptr2len_len
mb_char2len utf_char2len
mb_char2bytes utf_char2bytes
mb_ptr2cells utf_ptr2cells
mb_ptr2cells_len utf_ptr2cells_len
mb_char2cells utf_char2cells
mb_off2cells utf_off2cells
mb_ptr2char utf_ptr2char
mb_head_off utf_head_off
mb_tail_off utf_cp_bounds
mb_strnicmp2 utf_strnicmp
MB_STRNICMP2 utf_strnicmp
mb_lefthalve grid_lefthalve
mb_fix_col grid_fix_col
utf_off2cells grid_off2cells
ml_get_curline get_cursor_line_ptr
ml_get_cursor get_cursor_pos_ptr
ml_get_curline_len get_cursor_line_len
ml_get_cursor_len get_cursor_pos_len
screen_char ui_line
screen_line grid_put_linebuf
screen_* (most functions) grid_*
update_prepare, update_finish #9484 removed; use update_screen only
ARRAY_LENGTH ARRAY_SIZE
vim_strsave_escape_csi vim_strsave_escape_ks
vim_unescape_csi vim_unescape_ks
gettail path_tail
mch_isFullName path_is_absolute
script_do_profile profile_init
-----------------------------------------------------------------------
<
Make sure to note the difference between `utf_` and `utfc_` when replacing
`mb_` functions. Also indirect call syntax `(*mb_ptr2len)(...)` should be
replaced with an ordinary function call `utfc_ptr2len(...)`.
>
-----------------------------------------------------------------------
Data type Format (Vim source) Portable format (Nvim source)
------------ ----------------------- ----------------------------------
long long "%lld" "%" PRId64
size_t "%ld" "%zu"
linenr_T "%ld" "%" PRIdLINENR
-----------------------------------------------------------------------
<
- See also: https://github.com/neovim/neovim/pull/1729#discussion_r22423779
- Vim's `ga_init2` was renamed to `ga_init` and the original `ga_init` is
gone.
- "Old style" Vim tests (`src/testdir/*.in`) should be converted to Lua tests
(see #1286 https://github.com/neovim/neovim/issues/1286 and #1328
https://github.com/neovim/neovim/pull/1328). See Checklist for migrating
legacy tests
https://github.com/neovim/neovim/blob/master/test/README.md#checklist-for-migrating-legacy-tests.
- However, please do not convert "new style" Vim tests
(`src/testdir/*.vim`) to Lua. The "new style" Vim tests are faster than
the old ones, and converting them takes time and effort better spent
elsewhere. Just copy them to `test/old/testdir/*.vim`.
- Conditions that check `enc_utf8` or `has_mbyte` are obsolete (only the
"true" case is applicable).
- `enc_utf8` and `has_mbyte` macros were removed in
https://github.com/neovim/neovim/pull/13293
- Check for `CSI` in typeahead buffer is only necessary in Vim with
`FEAT_GUI`. `CSI` does not have a special meaning