id:syohexさんが、perlbrew.elの添削をしてくれていたので、perlbrew.elに取り込んでみました。
勝手に添削 perlbrew.el - syohex’s diary
perlbrew.elの使い方再び
perlbrew.elはhttps://github.com/kentaro/perlbrew.el/blob/master/perlbrew.el からダウンロードできます。
これまでの変更で、PATHやexec-pathをきちんと設定される様になったので、perlbrew.elを使っていれば、以下のように単純にperlコマンドを呼び出すだけで、自動的に指定したperlを使ってくれます。以下はflymakeの設定の例です。
(defun flymake-perl-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) (list "perl" ;; perlコマンド呼んでるだけ (list "-MProject::Libs" "-wc" (format "-I%s" (git-root-directory)) local-file))))
emacs上で使うperlを変えるにはperlbrew-useを使うだけ。
M-x perlbrew-use RET perl-5.14.2
今回学んだこと
勝手に添削 perlbrew.el - syohex’s diaryのエントリを見れば分かることですが、今回いろいろ学んだので、書いてみます。
defgroupの使い方
- defgroupの:groupには親グループをつける
- 他のelispで自分自身を指定していたやつがあったので間違えた
completing-readの第四引数
completing-readの第四引数を真にすると補完候補にマッチすることを強制できるので、強制させたい場合はそういうふうにする
(completing-read "Version: " (perlbrew-list) nil t)
executable-find
executable-findを使うと、コマンドの実行パスを取得出来る。
(executable-find "perl")