Notepad2 4.2.25 정식버전 패치 컬렉션

Notepad2 4.2.25 정식버전이 5월 6일에 공개되었다.
일단, 이번 버전에서 수정된 사항은 아래와 같다.

그동안 많은 수정이 있었기 때문에 적용가능한 패치들에도 약간의 변화가 있었다.


4.2.25에 적용할 수 있는 패치들은 아래와 같다.


1. 환경 구축 및 버그 수정

아래 글에 포스팅한 내용에 따라 수정한다.
단, 이 글의 내용 중 2. 버그수정 #1 Edit.c는 적용할 필요가 없다. 4.2.25에서는 이미 적용되었기 때문이다.

Notepad2 4.2.25를 컴파일하기 전 준비사항


2. 한글 IME 패치


간단하게 단 하나로 끝난다. (아싸!)
글의 내용 중 #3, #4만 적용하면 된다.

a. notepad2 컴파일 삽질기 8 : 한글 IME 패치


3. Kai Liu 님의 패치 적용

np2-4.0.22-allpatches.7z 에서 패치를 다운받을 수 있다.

하지만, 실제로 적용할 수 있는 건 lexer 6가지(Inno Setup, NSIS/AutoIt3/Shell/Tcl Script, LaTeX Files)와 DOS encoding 뿐이다.
lexer들은 적당히 눈치껏 적용해야 하고, DOS encoding은 np2-4.0.22-dos_encoding.patch를 적절하게 적용한다.

※ DOS encoding 수정시 다음 두 가지 사항만 유의하면 된다.
    - Extra Line Spacing: .patch 파일과 코드가 약간 다른데, 추가된 내용만 추가하면 됨
    - check associated extensions: 이 내용은 반영할 필요 없음


4. 언어 스킴 추가

원하는 언어의 스킴을 추가하려면 아래 글들을 참조하면 된다.

a. AutoIt3, Bash, LaTeX, TCL, Inno, NSIS: 앞의 2번 참조

b. AutoHotKey: AutoHotkey 스킴 추가

c. 포트란: 포트란 스킴 추가

※ 4.2.25에서 구조가 약간 변한 것 중 하나가 Scintilla의 LINK_LEXER()를 무시할 수 없다는 것임.
기존 버전을 기준으로 작성된 방법이므로, 여기서 설명한 수정에 덧붙여 scintilla\src\Catalogue.cxx 에서 LINK_LEXER()도 적절히 지정해야 함.


5. 기능 추가


다음 글들을 참조하면 된다.

a. 4.2.25 패치 준비 #1: 코드 폴딩 추가

b. 4.2.25 패치 준비 #2: 북마크 기능 추가 (1/2), (2/2)

c. Notepad2 4.2.25 패치 준비#3: CJK 문자의 좌우 정렬 문제 해결

d. Notepad2 4.2.25 패치 준비#4: Mark Occurrences 기능 추가

e. notepad2 컴파일 삽질기 부록#5.2: context-menu 기능 수정

f. notepad2 컴파일 삽질기 부록#6.1: 메모장 대신 사용 (수정)

g. notepad2 컴파일 삽질기 부록#7: Shift+마우스 휠에 Page Up/Down 기능 부여

h. notepad2 컴파일 삽질기 부록#10: 시간/날짜 삽입 순서 변경

i. notepad2 컴파일 삽질기 부록#12: NBSP 관련 수정



※ a-d는 4.2.25를 타겟으로 작성된 수정이기 때문에 그대로 적용하면 되고, 나머지는 이전 버전을 기준으로 작성된 것이다.
역시 눈치껏 최대한 비슷하게 수정하면 된다.

이 정도만 하면 간단히 패치가 끝난다. 참 쉽다.