upstream Vim에서 패치 병합 - minsuk-jang/teamproject GitHub Wiki

_See ** [빠른 시작] (# 빠른 시작) ** 즉시 시작하십시오. 또한 [** Not Applicable ** patches] (# 적용 할 수없는 패치) 부분을 참고하십시오.

Neovim은 Vim 7.4.160에서 유래했습니다. 중복 된 작업을 피하기 위해 관련 Vim 패치를 최신으로 유지합니다. 자세한 내용은 [# 438] (https://github.com/neovim/neovim/issues/438)을 참조하십시오. Vim 패치의 상태를 보려면 [** vim patch report **] (http://neovim.io/doc/reports/vimpatch/) 또는 [vim-patch.sh] (https : //github.com/neovim/neovim/blob/master/scripts/vim-patch.sh)를 참조하십시오 :

./scripts/vim-patch.sh -l

관련된 모든 Vim 패치에 대해 누구나 [pull request] (# pull-requests)를 환영합니다. 그러나 일부 패치 유형은 ** 적용 할 수 없습니다 : **

  • ** 컴파일러 경고 수정 ** : 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"로 표시하려면, 주석 처리 된 패치 번호 옆에 NAversion.c에 추가하십시오.

빠른시작

  1. Neovim 소스를 내려받습니다. (git clone https : // github.com / neovim / neovim.git)
  2. ./scripts/vim-patch.sh -l을 실행하여 누락된 Vim 패치 목록을 확인하십시오.
  3. 목록에서 패치를 선택하십시오 (일반적으로 가장 오래된 패치). 7.4.123.
  4. ./scripts/vim-patch.sh -p 7.4.123을 실행하십시오.
    • 스크립트가 지침을 안내합니다.

일부 패치는 다른 패치에 의존 할 수 있기 때문에 목록에서 oldest 패치로 작업하는 것이 좋습니다. (누군가가 아직 작업을 시작하지 않았는지 확인하는 것이 좋습니다). 관계없이 병합 충돌이 발생할 가능성이 가장 높지만 이러한 방식으로 충돌이 최소화 됩니다.

Pull 요청

_ 참고 : _ ** [vim-patch.sh] (https://github.com/neovim/neovim/blob/master/scripts/vim-patch.sh) **는 이러한 단계를 자동으로 수행합니다.

** 리뷰 작성자 : ** [런타임 / 패치를 검토하는 힌트] (https://github.com/neovim/neovim/pull/1744#issuecomment-68202876) N/A ("Not Applicable") 패치

많은 Vim 패치가 Neovim에는 적용되지 않습니다. 우리는 정기적으로 version.c를 업데이트 하여 이를 단일 pull 요청과 함께 반영합니다. NA 패치를 찾으면,

  • 기존의 "NA patches" pull 요청을 찾고,
  • 몇 주 동안 pull 요청을 유지하려는 의도로 새로운 것을 만들 수 있습니다.

pull 요청의 제목은 다음과 같아야 합니다.

version.c: mark NA 패치

그래서 쉽게 찾을 수 있습니다. 예를 들어 [PR # 4634] (https://github.com/neovim/neovim/pull/4634)를 보십시오.

코드 차이

다음 기능이 제거되거나 더 새로운 대안을 위해 더 이상 사용되지 않습니다. 자세한 정보는 [memory.c Doxygen 페이지] (http://neovim.io/doc/dev/memory_8c.html)를 참조하십시오.

지원 중단되거나 제거됨 대체
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"

설명서 차이점

다음은 가져온 모든 문서에서 제거되어야 하며 새 문서에서 사용되지 않아야 합니다.

  • {in not Vi}: Vi와의 호환성에 대해서는 신경쓰지 않습니다 ([818f7ae] vi-annotations 참조).
  • {...와 함께 컴파일 될 때만}- 대다수의 기능은 선택 사항이 아닙니다. ([소개] (소개 # legacy-support-and-compile-time-features) 참조)
⚠️ **GitHub.com Fallback** ⚠️