paredit.elにキーボードを乗っ取られないようにする。
ctrl-j をprefix keyにしているのだけれど。pareditを有効にしたら乗っ取られた。 pareditのコマンドを起動する前にマクロを使ってparedit用のキーマップに変更している模様。 幸い、マクロの前後にもadviceは効くので以下のようにして逃げた。
(require 'paredit) (lexical-let ((enablep nil)) (defadvice paredit-do-commands (before live-c-j-in-paredit activate) (unless enablep (setq enablep t) (setq paredit-commands (loop for x in paredit-commands unless (and (listp x) (equal (car x) "C-j")) collect x)))))
paredit-commandsの構造が謎。