2011年11月11日

Re: [質問] FolderモードでRET/SPC した際の hookは?

In [Wanderlust : No.14559] 山岡 wrote:
> defadvice による関数の書き換えが使えるのではないでしょうか。

書きかけのものを出してしまったのでやり直します。すみません。

> たとえばこんな感じ。

;; もし必要なら。

(require 'ssl)

(defadvice wl-folder-jump-to-current-entity (around modify-ssl-args activate)
"Modify `ssl-program-arguments' according to folder."
(let* (;; フォルダ名をゲット。値は文字列または nil。
(folder (wl-folder-get-entity-from-buffer))
;; `ssl-program-arguments' の値をフォルダに応じて変更。
(ssl-program-arguments
(cond ((null folder)
ssl-program-arguments)
((string-match "REGEXP_for_社内" folder)
'("ARG" "ARG" "ARG"...)) ;; 社内用 args
((string-match "REGEXP_for_社外" folder)
'("ARG" "ARG" "ARG"...)) ;; 社外用 args
(t
ssl-program-arguments))))
ad-do-it))

これは wl-folder-jump-to-current-entity を実行するときだけ
ssl-program-arguments を変更した値に束縛するのですが、あるフォル
ダに入るたびに値を変更したいのであれば (できるならバッファローカ
ル変数にしてから) setq することになるでしょうか。

あるいは、すでに hook 用の関数を用意しているのであれば、

(defadvice wl-folder-jump-to-current-entity (before run-hook activate)
"Run `my-wl-folder-jump-to-current-entity-hook'."
(run-hooks 'my-wl-folder-jump-to-current-entity-hook))

とか。


投稿者 xml-rpc : 2011年11月11日 08:14
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/107234
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。