notepad2 4.1.24 업데이트! 그런데!!!

notepad2가 4.1.24로 업데이트 되었다.
이전 버전인 4.0.23으로 충분히 완벽해졌다고 생각했는데, Florian Balmer 님께선 아직 업뎃이 고픈가보다.

이번 버전에서도 (이전과 같이) 커다란 변화가 있었다.

4.1.24에서 바뀐 내용 열기..



1. 업데이트된 Scintilla의 기능을 충실히 활용하지 못하는 notepad2

이 변화 중에 가장 주목해야 될 부분이 바로 Scintilla2.03으로 업데이트 되었다는 것이다.
Scintilla는 1.x에서 2.x로 업데이트되면서 커다란 변화가 생겼는데, 바로 다중입력 기능이 추가되었다는 것이다.
즉, 컬럼블럭(alt+마우스 선택)을 잡은 상태에서 글을 입력하면 여러 줄에 같은 내용이 동시에 입력된다.

하지만, notepad2는 Scintilla 2.03을 기반으로 하면서도 이 기능을 지원하지 않는다.

아마도 notepad2의 undo-redo 구조와 맞지 않은 것이 원인인 듯 하다.


2. 새롭게 발생한 오류


notepad2 4.1.24에서 alt+마우스 선택을 이용해서 컬럼블럭을 설정한 뒤 한글을 입력하면 아래와 같이 깨져나온다.
새롭게 추가된 기능을 제대로 활용하지도 않으면서 오류만 발생하는 슬픈(?) 현상이 발생하는 것이다. OTL

'쿠헬헬'을 입력했을 뿐인데...


※ 이 화면은 IME2002에서 동작하는 화면이며, IME2003에서는 조금 달라보이긴 하지만, 발생하는 오류는 동일함.


3. 결국 HandleComposition()을 다시 패치


외형적으로는 notepad2 4.0.23와 4.1.24는 비슷하게 동작하지만, 한글 IME 패치는 완전히 다시 작성해야 한다.
내부적으로 변경된 기능을 충실하게 반영하도록 수정해야 하는 것이다. OTL

결국... 결국... 며칠 간의 삽질 끝에 HandleComposition()을 패치하고야 말았다!

이 모습 보기가 결코 쉽지 않았다



패치하는 법은 다음 포스트에서 설명하도록 하겠다.