ko_KR.eucKR에서의 Vim 커서 문제 (2)

며칠 전에 FreeBSD 소스 커미터가 되신 김정욱님(jkim)과 메일을 주고 받다가 전에 최준호님과 찾아봤던 ko_KR.eucKR에서의 Vim 커서 이동 문제를 얘기했습니다. 그 당시에는 mblen(3)이 FreeBSD에서만 에러난 상황에서 stateful하게 구현되어 있는데,
POSIX에서는 그런 상황이 명시적으로 정의되어 있지 않아서, FreeBSD가 잘못한건지 vim이 잘못한건지 잘 모르겠다는 판단을 하였습니다. 그런데, 김종욱님께서 표준에 정의되지 않은 행동방식에 의존적인 사용을 하는 vim의 잘못이라고 말씀을 해 주시는군요. 아앗. 그럴수가. 그렇게 생각할 수도 있구나. 하며 순간 백년묵은 체증이 사라지는 듯한.. ;;

vim은 패치가 엄청나게 자주 나오고 포트에서도 다 그걸 넣는 편이라, 따로 vim 포트에서 로컬 패치를 넣을 필요는 없을 것 같고 그냥 메인스트림에 바로 넣기로 마음먹고 버그 보고 메일을 보냈습니다. 일본 사람들도 한참 두리번하다가 해결 못한 것인데 곧 고쳐지면 좋겠군요~ 🙂

8 thoughts on “ko_KR.eucKR에서의 Vim 커서 문제 (2)”

  1. “일본 사람들도 한참 두리번하다가 해결 못한..” 이 문구가 참 맘에 드네요;; – _ -;;

    근데,,
    jkim님의 성함이 ‘김종욱’ 인가요? ‘김정욱’ 인가요? @.@?

    • 안녕하세요??

      저 이번에 회사를 옮기면서 FreeBSD를 처음 접하게 되었습니다 ㅠ

      한국 자료는 턱없이 부족한 터라 고난중인데

      혹시 도움을 좀 받을 수 있을런지요?

  2. 아주 사소하지만

    – (void)mblen(NULL, 0);
    + (void)mblen((char *)NULL, (size_t)0);

    이게 더 정확한 것 같네요.

  3. 킁. 성함을 잘못 썼네요; 고쳤습니다. ^^;
    NULL같은 경우에는 void 포인터는 implicit casting이 허용되어 있으니 쓸 필요가 없을 것 같고, 0도 모든 scalar type에 대해서 implicit casting이 허용되어 있으니, 원래 코드가 더 간단할 것 같습니다. 🙂

  4. 두 곳 중 한 곳만 고치셨네요. 😉
    Casting 문제는 NULL이나 0인 경우 문제가 없습니다만 정확히 하는 게 좋을 것 같아서요. Implicit casting 자꾸하면 버릇 됩니다. 6^_^;

Comments are closed.