key-combo v0.3をリリース

主な変更点は以下の通りです

  1. 同じキーが複数回続く定義がなければ、クリーンアップせずに連続して挿入します。
  2. tomykairaさんによるバグ修正
  3. リファクタリング
  4. el-expectationによるテストを追加

変更詳細

詳細を説明します。
1. わかりにくい日本語ですみません。
v0.2まではある単一のキーを定義した場合、連続してそのキーを入力しても同じ文字列の削除と挿入を繰り返すだけでした。
例えば

(key-combo-define-global (kbd ">") '(">"))

とした場合。一度「>」を入力すると「>」が挿入されバッファには「>」が表示されます。しかし、もう一度「>」を入力しても「>」が消去された後に「>」が挿入されるため、バッファの文字列は「>」のままになってしまいます。
組み合わせの為だけでも先頭のキーを定義する必要があるので、

(key-combo-define-global (kbd ">") '(">"))
(key-combo-define-global (kbd ">=") " >= ")

とした場合に不便でした。

そのため、同じキーが複数回続く定義がない場合には連続して挿入するように変更しました。
例えば、

(key-combo-define-global (kbd ">") '(">"))
(key-combo-define-global (kbd ">=") " >= ")

とする設定では一度「>」を入力すると「>」となりもう一度「>」を入力すると「>>」となります。

2. 年末12/27あたりにひどい変更を入れてしまったため、まともに動かなくなっていました。tomykairaさんにより修正してもらったので、12/27から1/8ぐらいに使ってだめだった人はすみませんがもう一度試してみてください。

3. 4. グローバルな変数を大量に使っていたりでわけがわからなくなっていたので、テストを書いてリファクタリングしました。少しは読みやすくなったと思います。

インストール方法

ソースがgithubにおいてあるので

(auto-install-from-url "https://raw.github.com/uk-ar/key-combo/bb4e004a78e1db36e2b81a4a7a6c460a4bebb4f4/key-combo.el")

を評価するか、
marmaladeから
M-x package-install key-combo
でインストール可能です。