Merging patches from upstream Vim - minsuk-jang/teamproject GitHub Wiki
_See ** ๋น ๋ฅธ ์์ ** ์ฆ์ ์์ํ์ญ์์ค. ๋ํ ** Not Applicable ** patches ๋ถ๋ถ์ ์ฐธ๊ณ ํ์ญ์์ค.
Neovim์ Vim 7.4.160์์ ์ ๋ํ์ต๋๋ค. ์ค๋ณต ๋ ์์
์ ํผํ๊ธฐ ์ํด ๊ด๋ จ Vim ํจ์น๋ฅผ ์ต์ ์ผ๋ก ์ ์งํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ # 438์ ์ฐธ์กฐํ์ญ์์ค.
Vim ํจ์น์ ์ํ๋ฅผ ๋ณด๋ ค๋ฉด ** vim patch report ** ๋๋ vim-patch.sh
๋ฅผ ์ฐธ์กฐํ์ญ์์ค :
./scripts/vim-patch.sh -l
๊ด๋ จ๋ ๋ชจ๋ Vim ํจ์น์ ๋ํด ๋๊ตฌ๋ pull request๋ฅผ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ํจ์น ์ ํ์ ** ์ ์ฉ ํ ์ ์์ต๋๋ค : **
- ** ์ปดํ์ผ๋ฌ ๊ฒฝ๊ณ ์์ ** : Neovim์ ์ ํ ๊ฒฝ๊ณ ํ์ง ์๊ธฐ ์ํด์ ๋
ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ Vim๊ณผ ๋งค์ฐ ๋ค๋ฅธ ๋น๋ ์์คํ
์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ** ์ฐธ๊ณ : ** Vim์ Coverity fixs๋ Neovim๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
- ** # ifdef ์กฐ์ ** : ์๋ฅผ ๋ค์ด Vim์ ๋ชจ๋ ํ๋ซํผ์์ 'FEAT_VISUAL'์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ผ๋ Neovim์ ์ด๋ฏธ ๊ทธ๋ ๊ฒ ํ์ต๋๋ค. ์๋ก์ด 'FEAT_' ๋ถ์์ ์ถ๊ฐํ๋ ๊ฒ์ ๋ํ Neovim๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
- ** ๋ ๊ฑฐ์ ์์คํ ์ง์ ** : Amiga, OS / 2 Xenix, Mac OS 9, XP SP2๋ณด๋ค ์ค๋๋ Windows ๋ฑ์ legacy ์์คํ ์ ๋ํ ์์ ์ฌํญ์ Neovim์์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ํ์ํ์ง ์์ต๋๋ค.
- **
if _ *. c
** ๋ณ๊ฒฝ :if_python.c
์ธ. al. ์ ๊ฑฐ๋์์ต๋๋ค. - ** term.c ** ๋ณ๊ฒฝ : Neovim TUI๋ ํฐ๋ฏธ๋ ํ๋ฉด์ ์ฝ๋ ๋ฐ libtermkey๋ฅผ ์ฌ์ฉํฉ๋๋ค. Vim์ `term.c '๊ฐ ์ญ์ ๋์์ต๋๋ค.
- ๋๋ถ๋ถ์ ** GUI์ ๊ด๋ จ๋ ** ๋ณ๊ฒฝ ์ฌํญ : Neovim GUI๋ ํต์ฌ C ์ฝ๋๋ฒ ์ด์ค ์ธ๋ถ์์ ๊ตฌํ๋ฉ๋๋ค.
- ๋ค๋ฅธ ๊ฒ์ ๊ด๋ จ์ด ์์ ์ ์์ต๋๋ค. ์ฃผ์์ ์ธก๋ฉด์์ ์ค๋ฅ๊ฐ ์์ผ๋ฉฐ ํ์คํ์ง ์์ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ์ญ์์ค.
ํจ์น๋ฅผ "Not Applicable"๋ก ํ์ํ๋ ค๋ฉด, ์ฃผ์ ์ฒ๋ฆฌ ๋ ํจ์น ๋ฒํธ ์์ NA
๋ฅผ version.c
์ ์ถ๊ฐํ์ญ์์ค.
- Neovim ์์ค๋ฅผ ๋ด๋ ค๋ฐ์ต๋๋ค. (
git clone https : // github.com / neovim / neovim.git
) -
./scripts/vim-patch.sh -l
์ ์คํํ์ฌ ๋๋ฝ๋ Vim ํจ์น ๋ชฉ๋ก์ ํ์ธํ์ญ์์ค. - ๋ชฉ๋ก์์ ํจ์น๋ฅผ ์ ํํ์ญ์์ค (์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ์ค๋๋ ํจ์น).
7.4.123
. -
./scripts/vim-patch.sh -p 7.4.123
์ ์คํํ์ญ์์ค.- ์คํฌ๋ฆฝํธ๊ฐ ์ง์นจ์ ์๋ดํฉ๋๋ค.
์ผ๋ถ ํจ์น๋ ๋ค๋ฅธ ํจ์น์ ์์กด ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ชฉ๋ก์์ oldest ํจ์น๋ก ์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. (๋๊ตฐ๊ฐ๊ฐ ์์ง ์์ ์ ์์ํ์ง ์์๋์ง ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค). ๊ด๊ณ์์ด ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ถฉ๋์ด ์ต์ํ ๋ฉ๋๋ค.
_ ์ฐธ๊ณ : _ ** vim-patch.sh **๋ ์ด๋ฌํ ๋จ๊ณ๋ฅผ ์๋์ผ๋ก ์ํํฉ๋๋ค.
- pull ์์ฒญ * title *์
vim-patch : 7.4.xxx
(๊ณต๋ฐฑ ์์)๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. -
* ์ปค๋ฐ ๋ฉ์์ง *์๋
๋ค์ ๋ด์ฉ์ด ํฌํจ๋์ด์ผํฉ๋๋ค.
- ๋ค์๊ณผ ๊ฐ์ด ํฌ๋งท ๋ Vim ํจ์น ๋ฒํธ๋ฅผ ๋ํ๋ด๋ ํ ํฐ.
vim-patch : 7.4.123
(๊ณต๋ฐฑ ์์)- ๋น ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ URL :
- https://github.com/vim/vim/commit/c8020ee825b9d9196b1329c0e097424576fc9b3a
- ์์ฑ์๋ฅผ ํฌํจํ ์๋ณธ Vim ์ปค๋ฐ ๋ฉ์์ง
- ๋ค์๊ณผ ๊ฐ์ด ํฌ๋งท ๋ Vim ํจ์น ๋ฒํธ๋ฅผ ๋ํ๋ด๋ ํ ํฐ.
** ๋ฆฌ๋ทฐ ์์ฑ์ : ** ๋ฐํ์ / ํจ์น๋ฅผ ๊ฒํ ํ๋ ํํธ
๋ง์ Vim ํจ์น๊ฐ Neovim์๋ ์ ์ฉ๋์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ๊ธฐ์ ์ผ๋ก version.c๋ฅผ ์ ๋ฐ์ดํธ ํ์ฌ ์ด๋ฅผ ๋จ์ผ pull ์์ฒญ๊ณผ ํจ๊ป ๋ฐ์ํฉ๋๋ค. NA ํจ์น๋ฅผ ์ฐพ์ผ๋ฉด,
- ๊ธฐ์กด์ "NA patches" pull ์์ฒญ์ ์ฐพ๊ณ ,
- ๋ช ์ฃผ ๋์ pull ์์ฒญ์ ์ ์งํ๋ ค๋ ์๋๋ก ์๋ก์ด ๊ฒ์ ๋ง๋ค ์ ์์ต๋๋ค.
pull ์์ฒญ์ ์ ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
version.c: mark NA ํจ์น
๊ทธ๋์ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด PR # 4634๋ฅผ ๋ณด์ญ์์ค.
๋ค์ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋๊ฑฐ๋ ๋ ์๋ก์ด ๋์์ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์์ธํ ์ ๋ณด๋ memory.c
Doxygen ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์ง์ ์ค๋จ๋๊ฑฐ๋ ์ ๊ฑฐ๋จ | ๋์ฒด |
---|---|
vim_free |
xfree |
malloc alloc lalloc
|
xmalloc |
calloc |
xcalloc |
realloc vim_realloc
|
xrealloc |
mch_memmove |
memmove |
vim_memset copy_chars copy_spaces
|
memset |
vim_strncpy strncpy
|
xstrlcpy |
vim_strcat strncat
|
xstrlcat |
vim_islower vim_isupper
|
mb_islower mb_isupper
|
vim_tolower vim_toupper
|
mb_tolower mb_toupper
|
Data type | Format (Vim source) | Portable format (Nvim source) |
---|---|---|
long long |
"%lld" |
"%" PRId64 |
size_t |
"%ld" |
"%zu" |
- ๋ํ ๋ณด์ญ์์ค : https://github.com/neovim/neovim/pull/1729#discussion_r22423779
- Vim์
ga_init2
๋ga_init
์ผ๋ก ์ด๋ฆ์ด ๋ฐ๋์๊ณ ์๋์ga_init
์ ์ฌ๋ผ์ก์ต๋๋ค. - "์ด์ ์คํ์ผ"์ Vim ํ
์คํธ (
src / testdir / *. in
)๋ ๋ฃจ์ ํ ์คํธ๋ก ๋ณํ๋์ด์ผ ํ๋ค (# 1286์ # 1328). Checklist for migrating legacy tests๋ฅผ ์ฐธ์กฐํ์ญ์์ค.- ๊ทธ๋ฌ๋ "์๋ก์ด ์คํ์ผ"์ Vim ํ
์คํธ (
src / testdir / *. vim
)๋ฅผ Lua๋ก ๋ณํํ์ง ๋ง์ญ์์ค. "์๋ก์ด ์คํ์ผ"์ Vim ํ ์คํธ๋ ์ด์ ํ ์คํธ๋ณด๋ค ๋น ๋ฅด๋ฉฐ, ๋ณํ์ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ํ์๋ก ํฉ๋๋ค. ๊ทธ๋ฅsrc / nvim / testdir / * .vim
์ ๋ณต์ฌํ๊ณsrc / nvim / testdir / Makefile
์ ๊ฐฑ์ ํ์ญ์์ค.
- ๊ทธ๋ฌ๋ "์๋ก์ด ์คํ์ผ"์ Vim ํ
์คํธ (
-
enc_utf8
๋ฅผ ๊ฒ์ฌํ๋ ์กฐ๊ฑด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค ("true"์ ๊ฒฝ์ฐ๋ง ํด๋น).
๋ค์์ ๊ฐ์ ธ์จ ๋ชจ๋ ๋ฌธ์์์ ์ ๊ฑฐ๋์ด์ผ ํ๋ฉฐ ์ ๋ฌธ์์์ ์ฌ์ฉ๋์ง ์์์ผ ํฉ๋๋ค.