Tassilo Horn <t...@gnu.org> writes:

> I think the reason why you need to trigger
> font-locking explicitly using
> `font-lock-fontify-buffer' (or `font-lock-ensure')
> is that `gnus-browse-mode' doesn't set
> `font-lock-defaults' which would be used to
> initialize `font-lock-keywords'.

You mean like this?

    (defvar gnus-browse-font-lock-keywords
      '(("^K"                       . font-lock-builtin-face)
        ("\\([[:digit:]].*\\):"    (1 font-lock-function-name-face))
        ("\\(gmane\\.\\)\\(.*\\)"  (1 font-lock-comment-face)
                                   (2 font-lock-variable-name-face) )
        ("\\(gwene\\.\\)\\(.*\\)"  (1 font-lock-constant-face)
                                   (2 font-lock-type-face)) ))

    (defun gnus-browse-mode-hook-f ()
      (set (make-local-variable 'font-lock-defaults)
           '(gnus-browse-font-lock-keywords t)) )
    (add-hook 'gnus-browse-mode-hook 'gnus-browse-mode-hook-f)

> So calling `font-lock-add-keywords' with MODE = nil
> will also trigger font-lock, and indeed ...
>
> th/gnus-browse-mode-init () (font-lock-add-keywords
> nil ... )
>
> (add-hook 'gnus-browse-mode-hook
> #'th/gnus-browse-mode-init)
>
> does work for me.

With MODE as nil the font lock is done one the basis
of the current buffer. It is not related to the mode
itself apart from the invocation being placed in the
mode entry hook. This means the keywords have to be
added every time the mode is entered.

-- 
underground experts united
http://user.it.uu.se/~embe8573
_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

Reply via email to