unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Clément Pit--Claudel" <clement.pit@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: What to do when font-lock-flush + font-lock-ensure do less than font-lock-fontify-buffer?
Date: Mon, 22 Feb 2016 12:28:13 -0500	[thread overview]
Message-ID: <56CB452D.8090302@gmail.com> (raw)
In-Reply-To: <83k2lwlmvf.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1297 bytes --]

On 02/22/2016 11:40 AM, Eli Zaretskii wrote:
>> Cc: emacs-devel@gnu.org
>> From: Clément Pit--Claudel <clement.pit@gmail.com>
>> Date: Mon, 22 Feb 2016 11:29:10 -0500
>>
>>> I think what you describe _is_ the proper way.  Can you show a test
>>> case which demonstrates how calling font-lock-flush followed by
>>> font-lock-ensure fails to do the job?
>>
>> In any case where font-lock-fontified is nil
>> font-lock-fontify-buffer will properly refontify the whole buffer,
>> but font-lock-flush and font-lock ensure will not do anything.
> 
> That's not what I see in the code, that's why I asked for a test
> case.  I'm probably missing something.

Here's a test case:

(with-current-buffer (get-buffer-create "temp")
  (erase-buffer)
  (setq-default prettify-symbols-unprettify-at-point 'right-edge)
  (emacs-lisp-mode)
  (prettify-symbols-mode)
  (insert "lambda\n\nlambda")
  (pop-to-buffer (current-buffer)))

Moving around in this buffer unprettifies and reprettifies ‘lambda’s into ‘λ’s as the point moves in and out of them. Setting ‘font-lock-fontified’ to nil breaks that mechanism (the ‘λ’s are unprettified but no reprettified), and no series of ‘font-lock-flush’ and ‘font-lock-ensure’ will reprettify them.

Does this help?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2016-02-22 17:28 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22  4:55 What to do when font-lock-flush + font-lock-ensure do less than font-lock-fontify-buffer? Clément Pit--Claudel
2016-02-22  8:56 ` Anders Lindgren
2016-02-22 13:49   ` Clément Pit--Claudel
2016-02-22 15:53     ` Anders Lindgren
2016-02-22 16:13 ` Eli Zaretskii
2016-02-22 16:29   ` Clément Pit--Claudel
2016-02-22 16:35     ` Kaushal Modi
2016-02-22 16:40     ` Eli Zaretskii
2016-02-22 17:28       ` Clément Pit--Claudel [this message]
2016-02-23 16:57         ` Eli Zaretskii
2016-02-23 18:08           ` Clément Pit--Claudel
2016-02-24  3:52 ` Stefan Monnier
2016-02-24 17:12   ` Eli Zaretskii
2016-02-24 18:55     ` Stefan Monnier
2016-02-24 19:17       ` Eli Zaretskii
2016-02-24 20:09         ` Stefan Monnier
2016-04-09 18:59           ` Clément Pit--Claudel
2016-04-09 19:37             ` Eli Zaretskii
2016-04-09 19:54               ` Clément Pit--Claudel
2016-04-10 20:10             ` Stefan Monnier
     [not found]     ` <<jwv1t829byc.fsf-monnier+emacs@gnu.org>
     [not found]       ` <<838u29hq9x.fsf@gnu.org>
2016-02-24 19:20         ` Drew Adams

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=56CB452D.8090302@gmail.com \
    --to=clement.pit@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).