Emacsが用意しているmacOSのキーチェーンアクセス用の関数

EmacsにはmacOSのキーチェーンにアクセスするための関数が用意されている。 ただこれがなかなかの曲者でどうやって使ったらいいのか全くわからない。

例えば以下の関数などがそれに当たるものでauth-source.elに収録されている。

  • auth-source-macos-keychain-search

  • auth-source-macos-keychain-search-items

auth-sources変数に macos-keychain-internetmacos-keychain-generic を指定することでauth-source-searchから利用することができる(ようだ)。

(let ((auth-sources '(macos-keychain-internet)))
  (auth-source-search))
(let ((auth-sources '(macos-keychain-generic)))
  (auth-source-search :max 1))

ただし私は上手く使いこなせなかった。

Emacsが用意しているmacOSのキーチェーンアクセス用の関数

securityコマンドはある程度使い方を把握している。 上記の関数ををちゃんと使えなくても、securityコマンドを直接呼んでしまえば良い。

(call-process "/usr/bin/security" nil t nil "find-generic-password" "-a" "local" "-s" "TEST" "-w" "/Users/local/Library/Keychains/emacs.keychain-db")

自分の歩幅

最近のツールはまるで魔法のように便利な機能が次々と誕生する。おそらくそ ういう便利なツールを便利なものとして扱うのも悪くないと思う。ただなにか トラブルに見舞われるとどうしようもなくなることも多く逃げ道が無いように 感じる。自分が理解した範囲で期待した動作だけを行ってくれれば満足あるの で、こちらの歩幅にあわせて進化できるところがEmacsを気に入っている理由 の一つだ。