[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

view-source で font-lock



安宅です。

Emacs-w3m で M-x w3m-view-source した時
HTML ソースに色がつきません。
自分好みの HTML 専用モードで色付けができれば嬉しい
と思い、とりあえず sgml-mode.el のコードを抜き取って
次のような関数をでっちあげてみました。

(defun w3m-view-source-font-lock-toggle ()
  (interactive)
  (if (not (string-match "\\`about://source/" w3m-current-url))
      (setq font-lock-defaults nil)
    (set (make-local-variable 'font-lock-defaults)
	 '((sgml-font-lock-keywords
	    sgml-font-lock-keywords-1
	    sgml-font-lock-keywords-2)
	   nil t nil nil
	   (font-lock-syntactic-keywords
	    . sgml-font-lock-syntactic-keywords)))
    ))

手で実行すると、view-source 時に色はつくのですが
その後、view-source してない *w3m* セッションで
font-lock-defaults が nil なのに色が付きます。
font-lock は font-lock-defaults で制御すると思っていたのですが
何か考え違いをしています?

最終的にやりたい事は、上のようなコードを
w3m-goto-url あたりに仕込んで、w3m-view-source した時
font-lock のキーワードを設定して、他のページを見る時は
その設定を OFF にするという事がしたいです。

如何でしょう?

P.S.
---
HTML の要素を折り畳んで表示する
html-fold.el なるツールを公開しました。
  http://at-aka.blogspot.com/2005/07/html-foldel-alpha1-htmlemacs.html
  http://at-aka.blogspot.com/2005/07/html-foldel-alpha3-emacs-w3m-html.html
Emacs-w3m の view-source バッファーでも動きます。

                                    ----Input with T-Code!
                         http://pop-club.hp.infoseek.co.jp
     Masayuki Ataka / 安宅 正之 (ataka@milk.freemail.ne.jp)