반응형

1. 발단

지금까지 Notepad2-mod에선 내장된 Scintilla 정규식 엔진 대신 별도의 DEELX 정규식 엔진을 사용해왔다.

처음에는 여러행 검색이 가능하도록 즉, \r, \n이 검색되도록 하는 게 목적이었다.

그러다가 한글에 대해 정규식이 정상적으로 동작되지 않는 문제를 해결하는 수정이 추가됐다.

 

이때까진 정규식 엔진을 내부적으로는 적극적으로 활용하지 않고, 단순한 검색용으로만 사용했었다.

그러다가 일부 실험적인 표현식이 추가되었다.

Add experimental RexExp syntax (\h, \H, \i and \i?):

 

그리고는 이 표현식을 자동완성 기능 등에서 활용하기 시작했다.

 

2. 이로 인한 영향

일부 기능이 정상적으로 동작하지 않는 문제가 터지기 시작했다.

대표적으로는 자동완성 기능에서 일치하는 내용을 찾지 못하는 오류.

물론, 찾기 기능의 설명이 어색해지기 시작했다는 문제도 생겼다.

 

직접적인 영향 같은 건 아니고, 아주 가끔 발생하는 것 같지만, 재현 불가능한 크래시가 발생할 때도 있었다.

 

3. 해결책 적용

고심 끝에 선택한 해결책은 해경을 해체정규식을 원복하는 것이다.

이로 인해서 여러행 검색 기능은 없어졌다.

 

하지만, 정규식이 한글을 제대로 처리하지 못하는 문제를 두고볼 수는 없어서 이 부분은 정상동작하도록 수정했다.

 

이렇게 수정된 Notepad-2는 이전 포스팅을 통해 공개했다.

 

정규식 엔진을 원복하고 나서야 볼 수 있게 된 자동완성…

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band