Problem: Reading past end of completion with a long line and 'infercase'
set.
Solution: Allocate the string if needed.
caea66442d
Cherry-pick the deletion of a blank line from patch 9.0.0027.
N/A patches for version.c:
vim-patch:9.0.0054: compiler warning for size_t to int conversion
Problem: Compiler warning for size_t to int conversion.
Solution: Add type cast. (Mike Williams, closesvim/vim#10741)
c7bd2f08e5
Problem: Insert completion code is too complicated.
Solution: More refactoring. Move function arguments into a struct.
(Yegappan Lakshmanan, closesvim/vim#9437)
6ad84ab3e4
Skip most pum-related refactoring.
Cherry-pick rename to match_at_original_text() from patch 8.2.4001.
Problem: Insert mode completion functions are too long.
Solution: Split up into multiple functions. (Yegappan Lakshmanan,
closesvim/vim#9431)
5d2e007ccb
Cherry-pick can_cindent_get() -> get_can_cindent() from patch 8.1.2062.
Problem: Insert mode completion function is too long.
Solution: Refactor into multiple functions. (Yegappan Lakshmanan,
closesvim/vim#9423)
edc6f10390
Cherry-pick a typo fix from patch 8.2.3637.
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closesvim/vim#4943)
7528d1f6b5
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
vim-patch:8.1.2082: some files have a weird name to fit in 8.3 characters
Problem: Some files have a weird name to fit in 8.3 characters.
Solution: Use a nicer names.
30e8e73506
vim-patch:8.2.0559: clearing a struct is verbose
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
a80faa8930
Problem: The ins_complete() function is much too long.
Solution: Split it up into multiple functions. (Yegappan Lakshmanan,
closesvim/vim#9414)
bf7ff61af4
Problem: File for Insert mode is much too big.
Solution: Split off the code for Insert completion. (Yegappan Lakshmanan,
closesvim/vim#4044)
7591bb39d5
Cherry-pick ins_compl_len() -> get_compl_len() from patch 8.2.4001.
Revert a71c5e9eb9: ctrl_x_mode is no
longer a global variable, so l_ctrl_x_mode is no longer needed.