全角スペース・タブを目立つように表示する
定番の.emacsとして全角スペース・タブを目立つようにするという設定があるのですが
(defface my-face-b-1 '((t (:background "medium aquamarine"))) nil)
(defface my-face-b-2 '((t (:background "gray26"))) nil)
(defface my-face-u-1 '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)
(defadvice font-lock-mode (before my-font-lock-mode ())
(font-lock-add-keywords
major-mode
'(
(" " 0 my-face-b-1 append)
("\t" 0 my-face-b-2 append)
("[ ]+$" 0 my-face-u-1 append)
)))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)
(add-hook 'find-file-hooks '(lambda ()
(if font-lock-mode
nil
(font-lock-mode t))) t)こんなやつ。
プログラマーなら全員設定していると思います。(うそです)
んで、これがないとソースコード中にタブやら全角スペースを混ぜたまま、他の人に渡してしまうことになり、恥ずかしい思いをすることでしょう。(一部誇張です)
この設定をXEmacsに持っていくと有効にならないので、何でかなぁと調べていたら、font-lock-add-keywordsという関数がXEmacsではなくたったらしい。
更に調べていくと、同様のことで困っている人は結構いて、id:tenyさんのd:id:teny:20051010#p2の記事で代替関数が見つかりました。
ただその代替関数は別の機能用の関数なのでうまく動かなかったです。(id:tenyさんが悪いわけではない)
さてどうしたものか。
追記:
悪役さんのコメントによりXEmacsがいけてないことがよく分かってきた。
GNU Emacsに移行しようかな。
追記:
大きな勘違いをしていた。XEmacsはX用の本家Emacsだと思ったら違うんですね。
GNU Emacsに移行決定。