최근 아크로에디트에 여러 가지 문법 강조(Syntax Highlight) 파일을 추가하였습니다. 그런데 일부 문법 강조에서 그 표시가 정확하지 않은 현상을 발견하였습니다.

벌레의 유형

  • 다른 놈에게 이름이 없다고 자기 이름을 강요하는 난폭한 벌레이다.

벌레의 발견

2009년 12월 16일경에 아크로에디트 최신 버전(0.9.20.92)을 실행하여 문법 강조 파일을 추가하다가 발견하였습니다.

문법 강조의 문법 이름에서 오류가 나타난 화면

문법 강조의 문법 이름에서 오류가 나타난 화면

위 그림을 보면 같은 문법 이름으로 나타나 있지만, 실제로는 전혀 다른 문법 강조 파일입니다. 이는 확장자만 확인해도 알 수 있습니다.

벌레의 원인

이 벌레가 나타난 부분을 살펴보다가 모두 세 부분임을 알게 되었습니다. 화면에 보이는 두 가지(C#, MS SQL2000), 그리고 나머지 하나는 VB.NET 입니다. 확장자로 볼 때 *.cs 는 C#, *.sql은 MS SQL2000, *.vbs는 VB.NET로 여겨졌습니다. 이것은 모두 아크로에디트 홈페이지 사용자 자료실에서 받은 파일에 포함되어 있었습니다. 직접 파일을 받아서 확인해 보고 싶은 사람은 C#, MSSQL2000, VB.NET문법강조파일 문서에서 첨부 파일을 받아서 Syntax 폴더에 복사해 넣고 확인해 보기 바랍니다.

아무튼 이 벌레가 나타나는 원인문법 이름을 지정해 주지 않았기 때문으로 여겨집니다. 그러므로 직접 문법 이름을 수정해 주면 됩니다. 다만 개발자가 이 벌레가 전혀 나타나지 않도록 고치는 일도 병행되어야 한다고 생각합니다.

이번 버그의 원인

이번 버그의 원인

벌레 잡기

아크로에디트 프로그램이 수정될 때까지는 사용자가 직접 이름을 지정하여 이 벌레를 없애야 합니다. 여기에서는 이미 아크로에디트를 설치하고, 문법 강조 파일을 다운로드 하였다고 가정하고 설명하겠습니다.

다운로드 한 문법 강조 파일

다운로드 한 문법 강조 파일

압축 파일을 풀면 세 파일이 나타난다. cs.stx, mssql2000.stx, vbnet.stx 파일이다. 참고로 위 화면은 다른 컴퓨터에서도 나타나는 현상인지를 알기 위해 PC방에 와서 잡은 화면입니다. 제 컴퓨터에는 알집이 없습니다. ^^a

AcroEdit 폴더에서 문법 강조 폴더(Syntax)를 찾아서 복사해 넣는다.

AcroEdit 폴더에서 문법 강조 폴더(Syntax)를 찾아서 복사해 넣는다.

문법 강조 파일을 <아크로에디트 폴더>\Syntax 폴더로 복사한다.

아크로에디트 옵션 >> 문법 강조

아크로에디트 옵션 >> 문법 강조

아크로에디트를 실행하여 환경 설정 대화상자를 불러와서 문법 강조 설정 화면을 봅니다. 위와 같은 화면에서 추가를 눌러 하나씩 추가하거나, 자동 검색을 눌러 새로운 문법 강조 파일을 자동으로 추가할 수 있습니다. 다만 작업이 끝나면 반드시 적용 또는 확인을 클릭하여야 합니다.

문법 강조 파일 목록이 잘못 나타난 예시 1

예시 1 - 문법 강조 파일 목록이 잘못 나타난 화면

예시 화면 1에서는 문법 강조가 세 부분에서 틀려 있다. 직접 찾아 보면 프로그램 오류를 찾는 눈이 밝아질 수도... (아니면 말고.)

문법 강조 파일 목록이 잘못 나타난 예시 2

예시 2 - 문법 강조 파일 목록이 잘못 나타난 화면

예시 화면 2에서는 틀린 문법 강조 표시가 마지막 부분에 몰려 있다.

위와 같이 두 가지 형태로 버그가 나타날 수 있으므로 다르다고 해서 이 기사 내용이 틀리다고 생각하지는 말아주기 바랍니다. 이때 예시 1은 문법 강조를 많이 추가했을 때 그 가운데 섞여서 나타납니다. 그때 파일명의 자모순으로 정렬해 주는데, 파일 사이에 정렬되면서 바로 앞의 문법 이름을 그대로 쓰게 됩니다. 예시 2에서는 이미 문법 강조를 적용한 상태에서 해당 문법 강조만을 추가하면, 앞서 적용한 문법 강조는 그 앞에까지 정렬되어 있고, 새로 추가한 파일만 따로 정렬해 줍니다. 그러면서 문법 이름은 바로 앞의 문법 이름을 가져오게 됩니다.
이 글에서는 예시 1을 기준으로 설명합니다.

엉뚱하게 나타난 문법 이름

엉뚱하게 나타난 문법 이름

편집할 문법 강조 부분에 커서를 두고 편집을 클릭합니다. 여기에서는 확장자가 *.cs인 부분을 클릭한 뒤, 편집 단추를 클릭합니다.

문법 이름이 비어 있다.

비어 있는 문법 이름

위와 같이 문법 이름 부분이 비어 있습니다. 이것이 바로 버그의 원인으로, 이것에 대한 처리 과정에서 엉뚱한 결과가 나타났습니다.
문법 이름 부분에 알맞은 값을 넣어 주면 됩니다. 이 경우에는 C#을 넣어 줍니다.

올바르게 나타난 문법 이름

올바르게 나타난 문법 이름

이제 C# 언어에 대한 문법 강조 이름이 올바르게 나타납니다. 이때 적용 단추를 클릭하면 방금 한 작업이 환경 설정적용됩니다.

다른 문법 이름을 편집하려면 원하는 부분을 클릭하여 선택한 뒤에 편집 단추를 클릭하고, 그냥 끝내려면 확인 단추를 클릭합니다. 이 과정에 대한 설명은 생략합니다.

참고 사항

팝업 메뉴

이때 환경 설정문법 강조 항목만 엉뚱하게 나타나느냐? 아닙니다. 팝업 메뉴도 엉뚱하게 나타납니다.

엉뚱하게 나타난 팝업 메뉴

엉뚱하게 나타난 팝업 메뉴

아마도 팝업 메뉴의 내용은 환경설정 > 문법 강조 항목의 내용을 읽어서 표시해 주기 때문으로 여겨집니다.

올바르게 나타나는 팝업 메뉴

올바르게 나타나는 팝업 메뉴

환경설정 > 문법 강조 항목에서 올바르게 고쳐주면 팝업 메뉴의 내용도 올바르게 나타납니다.

숫자와 URL/URI 표시

위의 올바르게 나타나는 팝업 메뉴 그림에서 숫자 1숫자 2로 표시한 부분에서 조금 엉뚱한 현상이 보입니다. 이는 버그인지 아닌지 확인할 수 없었습니다.

  • 숫자 1에서 보면, 문법 강조 Text File은 아무런 기능도 없이 빈 문법 강조입니다. 그런데 이처럼 숫자만 다른 색깔(밝은 자주색)로 문법강조가 되어 있습니다.
  • 숫자 2에서 보면, URL/URI를 파란 색으로 표현해 주고 있습니다. 이것은 아크로에디트의 기능으로 보입니다.

제작자/제공자의 답변

2009년 12월 22일 오류를 보고한 상태이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


Posted by koc/SALM 트랙백 0 : 댓글 0

티스토리 툴바