newline-and-indent on SKK

私はMeadowでの漢字変換にはskk-modeを使用している。だが、skk-modeではC-jが変換確定のために割当てられており、C-jにデフォルトで割当てられているnewline-and-indentが覆い隠されてしまう。日本語入力している最中にインデント付きの改行が必要なことは特にないのでそれほど不便と言うわけでもないが、つい癖でC-jを叩いてしまうので、変換中以外は本来のnewline-and-indentの挙動をして欲しいと思っていた。
その方法をにちゃんねるのSKKスレで見付けることができた。私と同じような願望を持つ人はいたらしい。ここにその方法をあらためてまとめておくことにする。
書き換えの必要があるのはskk-vars.elファイルの中にあるskk-rom-kana-base-rule-listの定義。その中でC-jを叩いたときの挙動を定義しているのは以下の箇所だ。

(skk-kakutei-key nil skk-kakutei)

これを以下のように書き換える。

(skk-kakutei-key nil
                 (lambda (arg)
                   (if skk-henkan-mode
                       (skk-kakutei)
                       (newline-and-indent))))

以前に自前で調べてみたこともあったんだが、その際にはよくわからずに結局諦めてしまってた。混沌としているのがにちゃんねるの特徴だが、技術系のスレは案外有用な情報を得られる。ところで、SKKスレは何故にLinux板にあるのだろう?
Document ID: ef87844e51454333d921590612edd53a