From: Chong Yidong <cyd@stupidchicken.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 635@emacsbugs.donarmstrong.com
Subject: bug#635: Adding font-lock keywords results in no font-lock at all
Date: Thu, 13 Aug 2009 19:41:46 -0400 [thread overview]
Message-ID: <87bpmjnux1.fsf@cyd.mit.edu> (raw)
> 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
> * font-lock.el (font-lock-add-keywords): In case font-lock was only
> half-activated, forcefully activate it completely.
>
> which added the following lines to `font-lock-add-keywords'
> (when (and font-lock-mode
> (not (or font-lock-keywords font-lock-defaults)))
> ;; The major mode has not set any keywords, so when we enabled
> ;; font-lock-mode it only enabled the font-core.el part, not the
> ;; font-lock-mode-internal. Try again.
> (font-lock-mode -1)
> (set (make-local-variable 'font-lock-defaults) '(nil t))
> (font-lock-mode 1))
>
> What happens appears to be that in any mode that does not specify
> `font-lock-keywords' (like `help-mode' or `view-mode' in your case),
> (font-lock-mode -1) unfontifies the entire buffer thus removing any
> faces assigned earlier by, for example, `list-faces-display'. Since
> these faces are not reassigned by font-lock you won't get them back
> either :-(
>
> AFAICT, this change also broke `hi-lock-mode' in such buffers.
Maybw we should do away with the optimization where font-lock-mode
avoids calling font-lock-internal when font-lock-defaults is empty. The
performance benefit is probably negligible.
Stefan, WDYT?
next reply other threads:[~2009-08-13 23:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-13 23:41 Chong Yidong [this message]
2009-08-19 0:14 ` bug#635: Adding font-lock keywords results in no font-lock at all Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2008-08-01 6:21 Klaus Zeitler
2008-08-05 13:12 ` martin rudalics
2008-08-12 6:43 ` Klaus Zeitler
2010-10-09 4:11 ` Chong Yidong
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=87bpmjnux1.fsf@cyd.mit.edu \
--to=cyd@stupidchicken.com \
--cc=635@emacsbugs.donarmstrong.com \
--cc=monnier@iro.umontreal.ca \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.