Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: Tassilo Horn <tsdh@gnu.org>
To: info-gnus-english@gnu.org
Subject: Re: font-locked Gnus browse server
Date: Sat, 16 May 2015 09:33:11 +0200	[thread overview]
Message-ID: <87siaxht8o.fsf@gnu.org> (raw)
In-Reply-To: <878ucqgchs.fsf@debian.uxu>

Emanuel Berg <embe8573@student.uu.se> 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)

Yes, this could also work.  BTW, `font-lock-defaults' is automatically
buffer-local, no need to make it so.

>> 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.

Yes, but that doesn't make a difference, no?

Bye,
Tassilo



  reply	other threads:[~2015-05-16  7:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-10 23:03 Emanuel Berg
2015-05-13 13:17 ` Tassilo Horn
     [not found] ` <mailman.2946.1431523050.904.info-gnus-english@gnu.org>
2015-05-13 21:15   ` Emanuel Berg
2015-05-15  9:06     ` Tassilo Horn
     [not found]     ` <mailman.3058.1431680808.904.info-gnus-english@gnu.org>
2015-05-15 14:07       ` Emanuel Berg
2015-05-16  7:33         ` Tassilo Horn [this message]
     [not found]         ` <mailman.3122.1431761615.904.info-gnus-english@gnu.org>
2015-05-16 21:25           ` Emanuel Berg
2015-05-18 11:35             ` Tassilo Horn
2015-05-18 19:58               ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87siaxht8o.fsf@gnu.org \
    --to=tsdh@gnu.org \
    --cc=info-gnus-english@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).