org-drill을 사용하면 default-input-method 가 nil이 되는 현상 수정

input method

org-drill을 실행할 때마다 default-input-method가 korean-hangul390이 nil이 됩니다.

org-drill 코드를 살펴보면 다음과 같습니다.

(defun org-drill--read-key-sequence (prompt)
  "Just like `read-key-sequence' but with input method turned off."
  (let ((old-input-method current-input-method))
    (unwind-protect
        (progn
          (set-input-method nil)
          (read-key-sequence prompt))
      (set-input-method old-input-method))))

current-input-method가 nil인 경우 set-input-method를 실행하면 default-input-method도 nil이 됩니다.

org-drill의 문제인지, 근본적인 Emacs의 문제인지, 아니면 제가 Emacs에 대한 지식이 부족한 것인지는 모르겠지만 어떻게든 default-input-method을 유지하고 싶습니다.

그래서 일시적으로 다음과 같이 해킹하였습니다:

(defun org-drill--read-key-sequence (prompt)
  "Just like `read-key-sequence' but with input method turned off."
  (let ((old-input-method current-input-method))
    (unwind-protect
        (progn
          (if (not (eq old-input-method nil))
              (set-input-method nil)
              )
          (read-key-sequence prompt))
      (progn
        (if (not (eq old-input-method nil))
            (set-input-method old-input-method))))))

github의 org-drill에서 https://gitlab.com/phillord/org-drill/-/issues/58 에 문제를 보고 했습니다.

You May Also Like

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다