키 바인딩을 제공하기 위해 부 모드를 코딩하기 시작했습니다. 처음 시도 할 때 오타가있었습니다.
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
나는 b
키 를 사용하려고 했고 즉시 "b"
대신 대신 사용해야한다는 것을 깨달았습니다 [b]
. 그래서 부 모드를 다시 정의했습니다.
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
그러나 이것은 작동하지 않았습니다. 이렇게하면 키를 바인딩하는 다양한 방법 (예 : (kbd ...), [...] 등)을 통해 거위 추적이 시작되었습니다. 마지막으로 단순히 (define-minor-mode ...)
양식을 다시 평가 해도 아무런 변화가 없음을 깨달았 으며 원래의 깨진 키 맵에 붙어있었습니다. 그런 다음 키맵을 직접 통해 변경하려고 시도했지만 (define-key borked-mode-map ...)
여전히 올바른 키맵을로드 할 수 없었습니다. 마지막으로 Emacs를 다시 시작했고 마이너 모드가 올바르게로드되었습니다.
내 질문은 : 마이너 모드 정의를 개발할 때 어떻게 업데이트합니까? 깨진 정의를 지우는 방법이 있습니까, 아니면 깨진 비트를 지우려면 emacs를 다시 시작해야합니까?
defvar
다음에 다시 값을 평가하지 않습니다.C-M-x
:) 필요defparameter
하거나 별도setf
입니다.