edebug のキー設定
emacs 24.5 で従来の edebug のキーが効かなくなってしまったので定義する。
従来の設定はどこにいってしまったのだろう。
全部というわけではなく「やさしい Emacs-Lisp 講座」に載っているものだけです。
(require 'cl-lib) (defun edebug-make-key-list (l) (cl-loop for e in l collect `(define-key edebug-mode-map (kbd ,(car e)) ',(cdr e)))) (defmacro edebug-define-keys (&rest defs) `(lambda () ,@(edebug-make-key-list defs))) (add-hook 'edebug-mode-hook (edebug-define-keys ("?" . edebug-help) ("q" . top-level) ("SPC" . edebug-step-mode) ("h" . edebug-goto-here) ("r" . edebug-previous-result) ("w" . edebug-where) ("f" . edebug-forward-sexp) ("o" . edebug-step-out) ("b" . edebug-set-breakpoint) ("B" . edebug-next-breakpoint) ("u" . edebug-unset-breakpoint) ("g" . edebug-go-mode) ("G" . edebug-Go-nonstop-mode) ("c" . edebug-continue-mode) ("C" . edebug-Continue-fast-mode) ("t" . edebug-trace-mode) ("T" . edebug-Trace-fast-mode) ("S" . edebug-stop) ("x" . edebug-set-conditional-breakpoint) ("p" . edebug-bounce-point) ("e" . edebug-eval-expression)))
追記 require そのものに修正前の機能があるので不要
x (unless (featurep 'cl-lib) (require 'cl-lib)) o (require 'cl-lib)
追記 emacs を長く立ち上げておくと設定したキーが効かなくなることがあるが
M-: (use-local-map edebug-mode-map)
とするととりあえず動くと思う。なぜ効かなくなるのかは不明。