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 에 문제를 보고 했습니다.