* Font-lock seemingly interacting with insertion
@ 2018-03-21 5:28 Marcin Borkowski
2018-03-21 6:54 ` Eli Zaretskii
0 siblings, 1 reply; 14+ messages in thread
From: Marcin Borkowski @ 2018-03-21 5:28 UTC (permalink / raw)
To: Help Gnu Emacs mailing list
Hi all,
I want to insert a string with a part made bold (using
`add-face-text-property'). In certain buffers (e.g. in Fundamental
mode) this works, but in some other ones (e.g. in Org-mode or
message-mode) it does not. After turning font-lock off, it works back
again. This means that font-lock kicks in right after inserting and
disables my boldface.
Is there a way to make it not happen, without turning font lock off?
I understand that my description is slightly vague, but I suspect that
knowledgeable people might know the answer right away. If not, I can
provide code to show exactly what I am talking about.
TIA,
--
Marcin Borkowski
http://mbork.pl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 5:28 Font-lock seemingly interacting with insertion Marcin Borkowski
@ 2018-03-21 6:54 ` Eli Zaretskii
2018-03-21 7:24 ` Marcin Borkowski
2018-03-21 14:11 ` Michael Heerdegen
0 siblings, 2 replies; 14+ messages in thread
From: Eli Zaretskii @ 2018-03-21 6:54 UTC (permalink / raw)
To: help-gnu-emacs
> From: Marcin Borkowski <mbork@mbork.pl>
> Date: Wed, 21 Mar 2018 06:28:36 +0100
>
> I want to insert a string with a part made bold (using
> `add-face-text-property'). In certain buffers (e.g. in Fundamental
> mode) this works, but in some other ones (e.g. in Org-mode or
> message-mode) it does not. After turning font-lock off, it works back
> again. This means that font-lock kicks in right after inserting and
> disables my boldface.
Yes.
> Is there a way to make it not happen, without turning font lock off?
Not really. You can turn off JIT font-lock, but then you will have to
refontify manually, and I suspect that this would, for you, mean
"turning off font-lock".
Bottom line: in buffers with font-lock turned on, font-lock has
absolute control of the faces.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 6:54 ` Eli Zaretskii
@ 2018-03-21 7:24 ` Marcin Borkowski
2018-03-21 7:47 ` Eli Zaretskii
2018-03-21 14:11 ` Michael Heerdegen
1 sibling, 1 reply; 14+ messages in thread
From: Marcin Borkowski @ 2018-03-21 7:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
On 2018-03-21, at 07:54, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Marcin Borkowski <mbork@mbork.pl>
>> Date: Wed, 21 Mar 2018 06:28:36 +0100
>>
>> I want to insert a string with a part made bold (using
>> `add-face-text-property'). In certain buffers (e.g. in Fundamental
>> mode) this works, but in some other ones (e.g. in Org-mode or
>> message-mode) it does not. After turning font-lock off, it works back
>> again. This means that font-lock kicks in right after inserting and
>> disables my boldface.
>
> Yes.
>
>> Is there a way to make it not happen, without turning font lock off?
>
> Not really. You can turn off JIT font-lock, but then you will have to
> refontify manually, and I suspect that this would, for you, mean
> "turning off font-lock".
>
> Bottom line: in buffers with font-lock turned on, font-lock has
> absolute control of the faces.
Thanks. This means that instead of inserting stuff with added faces,
I need either to modify font lock keywords or use overlays.
Best,
--
Marcin Borkowski
http://mbork.pl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 7:24 ` Marcin Borkowski
@ 2018-03-21 7:47 ` Eli Zaretskii
2018-03-21 9:05 ` Marcin Borkowski
0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2018-03-21 7:47 UTC (permalink / raw)
To: help-gnu-emacs
> From: Marcin Borkowski <mbork@mbork.pl>
> Cc: help-gnu-emacs@gnu.org
> Date: Wed, 21 Mar 2018 08:24:31 +0100
>
> This means that instead of inserting stuff with added faces, I need
> either to modify font lock keywords or use overlays.
You could use hi-lock-mode instead. It plays well with font-lock.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 7:47 ` Eli Zaretskii
@ 2018-03-21 9:05 ` Marcin Borkowski
0 siblings, 0 replies; 14+ messages in thread
From: Marcin Borkowski @ 2018-03-21 9:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
On 2018-03-21, at 08:47, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Marcin Borkowski <mbork@mbork.pl>
>> Cc: help-gnu-emacs@gnu.org
>> Date: Wed, 21 Mar 2018 08:24:31 +0100
>>
>> This means that instead of inserting stuff with added faces, I need
>> either to modify font lock keywords or use overlays.
>
> You could use hi-lock-mode instead. It plays well with font-lock.
Thanks. It might be a good idea, but you know, when I have a problem,
and I decide to use regexen... But I'll think about it. Thanks again!
Best,
--
Marcin Borkowski
http://mbork.pl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 6:54 ` Eli Zaretskii
2018-03-21 7:24 ` Marcin Borkowski
@ 2018-03-21 14:11 ` Michael Heerdegen
2018-03-21 15:24 ` Eli Zaretskii
1 sibling, 1 reply; 14+ messages in thread
From: Michael Heerdegen @ 2018-03-21 14:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
Eli Zaretskii <eliz@gnu.org> writes:
> > I want to insert a string with a part made bold (using
> > `add-face-text-property'). In certain buffers (e.g. in Fundamental
> > mode) this works, but in some other ones (e.g. in Org-mode or
> > message-mode) it does not. After turning font-lock off, it works back
> > again. This means that font-lock kicks in right after inserting and
> > disables my boldface.
>
> Yes.
>
> > Is there a way to make it not happen, without turning font lock off?
>
> Not really. You can turn off JIT font-lock, but then you will have to
> refontify manually, and I suspect that this would, for you, mean
> "turning off font-lock".
I thought the text property "font-lock-face" was exactly for such
cases. Isn't it appropriate in this case?
Michael.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 14:11 ` Michael Heerdegen
@ 2018-03-21 15:24 ` Eli Zaretskii
2018-03-21 15:38 ` Michael Heerdegen
2018-03-25 16:55 ` Marcin Borkowski
0 siblings, 2 replies; 14+ messages in thread
From: Eli Zaretskii @ 2018-03-21 15:24 UTC (permalink / raw)
To: help-gnu-emacs
> From: Michael Heerdegen <michael_heerdegen@web.de>
> Cc: help-gnu-emacs@gnu.org
> Date: Wed, 21 Mar 2018 15:11:49 +0100
>
> I thought the text property "font-lock-face" was exactly for such
> cases. Isn't it appropriate in this case?
That's a possibility, but it will only work in modes/buffers that turn
on font-lock. AFAIU, that was not OP's intent.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 15:24 ` Eli Zaretskii
@ 2018-03-21 15:38 ` Michael Heerdegen
2018-03-21 16:22 ` Eli Zaretskii
2018-03-22 0:39 ` Drew Adams
2018-03-25 16:55 ` Marcin Borkowski
1 sibling, 2 replies; 14+ messages in thread
From: Michael Heerdegen @ 2018-03-21 15:38 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
Eli Zaretskii <eliz@gnu.org> writes:
> That's a possibility, but it will only work in modes/buffers that turn
> on font-lock. AFAIU, that was not OP's intent.
I wasn't sure about the actual use case.
If it should work for both font-lock on and off, would it make sense to
add both a face and a font-lock-face property to the string to be
inserted?
Michael.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 15:38 ` Michael Heerdegen
@ 2018-03-21 16:22 ` Eli Zaretskii
2018-03-22 0:39 ` Drew Adams
1 sibling, 0 replies; 14+ messages in thread
From: Eli Zaretskii @ 2018-03-21 16:22 UTC (permalink / raw)
To: help-gnu-emacs
> From: Michael Heerdegen <michael_heerdegen@web.de>
> Cc: help-gnu-emacs@gnu.org
> Date: Wed, 21 Mar 2018 16:38:28 +0100
>
> If it should work for both font-lock on and off, would it make sense to
> add both a face and a font-lock-face property to the string to be
> inserted?
Could be.
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: Font-lock seemingly interacting with insertion
2018-03-21 15:38 ` Michael Heerdegen
2018-03-21 16:22 ` Eli Zaretskii
@ 2018-03-22 0:39 ` Drew Adams
2018-03-22 6:53 ` Eli Zaretskii
` (2 more replies)
1 sibling, 3 replies; 14+ messages in thread
From: Drew Adams @ 2018-03-22 0:39 UTC (permalink / raw)
To: Michael Heerdegen, Eli Zaretskii; +Cc: help-gnu-emacs
> > That's a possibility, but it will only work in modes/buffers that turn
> > on font-lock. AFAIU, that was not OP's intent.
>
> I wasn't sure about the actual use case.
>
> If it should work for both font-lock on and off, would it make sense to
> add both a face and a font-lock-face property to the string to be
> inserted?
I haven't followed this, so the use case is not clear to me.
But if the OP wants highlighting that will be present whether
font-locking is on or off then font-lock is not the answer (!),
including its use of `font-lock-face'.
That text property just gives font-lock more control, not less.
And `hi-lock.el' just uses font-lock to do its job, so it too
is no escape from control by font-lock-mode.
If you want highlighting that is independent of font-lock then
you might give library `highlight.el' a try. It lets you
highlight using text properties or overlay properties, and the
highlighting can be independent of font-lock (or not - au choix).
If you want to be able to tell font-lock "hands off", i.e., to
ignore particular text, you can alternatively use text property
`font-lock-ignore'. For that, see library `font-lock+.el'.
See:
https://www.emacswiki.org/emacs/HighlightLibrary
See also this Emacs Dev discussion:
http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00540.html
http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00583.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-22 0:39 ` Drew Adams
@ 2018-03-22 6:53 ` Eli Zaretskii
2018-03-25 17:00 ` Marcin Borkowski
[not found] ` <mailman.11214.1521997256.27995.help-gnu-emacs@gnu.org>
2 siblings, 0 replies; 14+ messages in thread
From: Eli Zaretskii @ 2018-03-22 6:53 UTC (permalink / raw)
To: help-gnu-emacs
> Date: Wed, 21 Mar 2018 17:39:12 -0700 (PDT)
> From: Drew Adams <drew.adams@oracle.com>
> Cc: help-gnu-emacs@gnu.org
>
> And `hi-lock.el' just uses font-lock to do its job, so it too
> is no escape from control by font-lock-mode.
That's not true. From the doc string of hi-lock-mode:
In buffers where Font Lock mode is enabled, patterns are
highlighted using font lock. In buffers where Font Lock mode is
disabled, patterns are applied using overlays
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-21 15:24 ` Eli Zaretskii
2018-03-21 15:38 ` Michael Heerdegen
@ 2018-03-25 16:55 ` Marcin Borkowski
1 sibling, 0 replies; 14+ messages in thread
From: Marcin Borkowski @ 2018-03-25 16:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: help-gnu-emacs
On 2018-03-21, at 16:24, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Michael Heerdegen <michael_heerdegen@web.de>
>> Cc: help-gnu-emacs@gnu.org
>> Date: Wed, 21 Mar 2018 15:11:49 +0100
>>
>> I thought the text property "font-lock-face" was exactly for such
>> cases. Isn't it appropriate in this case?
>
> That's a possibility, but it will only work in modes/buffers that turn
> on font-lock. AFAIU, that was not OP's intent.
I was quite vague, but indeed that was my intent. However,
font-lock-face generated further problems. I'll report back when
I solve the problem (I know how to do it, I just need more time).
Thanks,
--
Marcin Borkowski
http://mbork.pl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
2018-03-22 0:39 ` Drew Adams
2018-03-22 6:53 ` Eli Zaretskii
@ 2018-03-25 17:00 ` Marcin Borkowski
[not found] ` <mailman.11214.1521997256.27995.help-gnu-emacs@gnu.org>
2 siblings, 0 replies; 14+ messages in thread
From: Marcin Borkowski @ 2018-03-25 17:00 UTC (permalink / raw)
To: Drew Adams; +Cc: Michael Heerdegen, help-gnu-emacs
On 2018-03-22, at 01:39, Drew Adams <drew.adams@oracle.com> wrote:
>> > That's a possibility, but it will only work in modes/buffers that turn
>> > on font-lock. AFAIU, that was not OP's intent.
>>
>> I wasn't sure about the actual use case.
>>
>> If it should work for both font-lock on and off, would it make sense to
>> add both a face and a font-lock-face property to the string to be
>> inserted?
>
> I haven't followed this, so the use case is not clear to me.
>
> But if the OP wants highlighting that will be present whether
> font-locking is on or off then font-lock is not the answer (!),
> including its use of `font-lock-face'.
font-lock-face won't work, but for different reasons. As I mentioned in
my previous message, I'll report back (in fact, I'll blog about it some
day) when the issue is solved. Most probably, I will have to use
overlays.
> If you want highlighting that is independent of font-lock then
> you might give library `highlight.el' a try. It lets you
> highlight using text properties or overlay properties, and the
> highlighting can be independent of font-lock (or not - au choix).
That is interesting - I even have that library because of
`hlt-highlight-region' - but in this case I don't want any
dependencies. But thanks anyway!
> If you want to be able to tell font-lock "hands off", i.e., to
> ignore particular text, you can alternatively use text property
> `font-lock-ignore'. For that, see library `font-lock+.el'.
Interesting, but again - external library.
Thanks,
--
Marcin Borkowski
http://mbork.pl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Font-lock seemingly interacting with insertion
[not found] ` <mailman.11214.1521997256.27995.help-gnu-emacs@gnu.org>
@ 2018-05-15 8:04 ` andlind
0 siblings, 0 replies; 14+ messages in thread
From: andlind @ 2018-05-15 8:04 UTC (permalink / raw)
To: help-gnu-emacs
Hi!
You could add your own custom property to `char-property-alias-alist'. This will work regardless if font-lock is active or not. This is how font-lock implements `font-lock-face', so you might find that it has the same drawbacks as `font-lock-face'.
One drawback that I can see is that some packages that convert buffers with syntax highlighting to other formats might not take this into account.
-- Anders
On Sunday, 25 March 2018 19:00:59 UTC+2, Marcin Borkowski wrote:
> On 2018-03-22, at 01:39, Drew Adams <drew.adams@oracle.com> wrote:
>
> >> > That's a possibility, but it will only work in modes/buffers that turn
> >> > on font-lock. AFAIU, that was not OP's intent.
> >>
> >> I wasn't sure about the actual use case.
> >>
> >> If it should work for both font-lock on and off, would it make sense to
> >> add both a face and a font-lock-face property to the string to be
> >> inserted?
> >
> > I haven't followed this, so the use case is not clear to me.
> >
> > But if the OP wants highlighting that will be present whether
> > font-locking is on or off then font-lock is not the answer (!),
> > including its use of `font-lock-face'.
>
> font-lock-face won't work, but for different reasons. As I mentioned in
> my previous message, I'll report back (in fact, I'll blog about it some
> day) when the issue is solved. Most probably, I will have to use
> overlays.
>
> > If you want highlighting that is independent of font-lock then
> > you might give library `highlight.el' a try. It lets you
> > highlight using text properties or overlay properties, and the
> > highlighting can be independent of font-lock (or not - au choix).
>
> That is interesting - I even have that library because of
> `hlt-highlight-region' - but in this case I don't want any
> dependencies. But thanks anyway!
>
> > If you want to be able to tell font-lock "hands off", i.e., to
> > ignore particular text, you can alternatively use text property
> > `font-lock-ignore'. For that, see library `font-lock+.el'.
>
> Interesting, but again - external library.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2018-05-15 8:04 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-21 5:28 Font-lock seemingly interacting with insertion Marcin Borkowski
2018-03-21 6:54 ` Eli Zaretskii
2018-03-21 7:24 ` Marcin Borkowski
2018-03-21 7:47 ` Eli Zaretskii
2018-03-21 9:05 ` Marcin Borkowski
2018-03-21 14:11 ` Michael Heerdegen
2018-03-21 15:24 ` Eli Zaretskii
2018-03-21 15:38 ` Michael Heerdegen
2018-03-21 16:22 ` Eli Zaretskii
2018-03-22 0:39 ` Drew Adams
2018-03-22 6:53 ` Eli Zaretskii
2018-03-25 17:00 ` Marcin Borkowski
[not found] ` <mailman.11214.1521997256.27995.help-gnu-emacs@gnu.org>
2018-05-15 8:04 ` andlind
2018-03-25 16:55 ` Marcin Borkowski
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).