mvc.elバージョンアップ
mvc.elがバージョンアップしていた。
mvc.el.20080928_0.bz2 wac's webpage./mvc.el
「同一ディレクトリで複数のバージョンコントロールプログラムに対応した」が良い!
mvc-default-program-search-order-list をなめて、ヒットしたscm全てのstatusバッファが生成される。
各バッファは、M-C-i/M-C-S-i で切り替えられる。
この機能のおかげで、オレオレ拡張が下記のようにすっきりと纏まった。
本来は、mvc-change-to-xxx, mvc-clear-scm なんてのは必要ないのだが、ウチのcifsが不安定なのでディスクアクセスを極力減らそうと言う苦肉の策。。
追記
最近cifsがちょっと安定しているので、mv-change-to-xxx を使わずに、素の状態で使ってみた。
ものすごく便利!!
ありがとう wac さん。
ログコメントバッファを共有とか、コピーできると便利そうなので、後で拡張する予定。
(defun mvc-change-to-mercurial () (interactive) (setq mvc-default-program-search-order-list '(mercurial))) (defun mvc-change-to-svn () (interactive) (setq mvc-default-program-search-order-list '(subversion))) (defun mvc-clear-scm () (interactive) (setq mvc-default-program-search-order-list '(mercurial git bazaar subversion cvs))) ;; scm毎に footerの色を変更 (defface mvc-face-status-footer-for-svn '((((type x w32 mac) (class color)) (:foreground "black" :background "#FA6CC847FFFF"))) "status footer for svn" :group 'mvc-faces) ;; over ride (defun mvc-insert-with-face (string face) (if mvc-default-use-color (let ((start (point))) (insert string) (if (and (equal face 'mvc-face-status-footer) (equal mvc-local-program 'subversion)) (setq face 'mvc-face-status-footer-for-svn)) (set-text-properties start (+ start (length string)) (list 'face face))) (insert string)))