0

必要なときに呼び出すメニューが必要です。マイナーモードだと思います -- 行くべき道です。そこで、キーマップとイージーメニューのみを定義するマイナーモードを書きました:

;; keymap:
(defvar bk-mdanalysis-mode-map
  (let ((map (make-sparse-keymap)))
    map)
  "Keymap for bk-mdanalysis minor mode")

;; menu:
(easy-menu-define mda bk-mdanalysis-mode-map "bk-mdanalysis-mode menu"
  '("BK-MDA"
    ["Test" (lambda () (interactive) (insert "test!")) t]
    ))

(define-minor-mode bk-mdanalysis-mode 
  nil nil nil 
  bk-mdanalysis-mode-map)

(provide 'bk-mdanalysis-mode)

何らかの理由で機能しません。なにが問題ですか?

編集

ちょっと待ってください - うまくいきます!

今すぐ削除する必要がありますか?

4

1 に答える 1

1

bk-mdanalysis-mode-map を define-minor-mode の 5 番目の引数として配置しましたが、これは 4 番目の引数である必要があります。幸いなことに、define-minor-mode はデフォルトでそれを使用するため、引き続き機能し、この 5 番目の引数は単に無視されます。

于 2012-10-12T15:07:01.800 に答える