Subject: bug#59828: Fundamental Mode buffers fail to keep text properties

From: Yuan Fu <[email-masked]>
Date: Mon, 5 Dec 2022 12:07:52 -0800

> On Dec 5, 2022, at 11:23 AM, Heime <[email-masked]> wrote:
> 
> ------- Original Message -------
> On Monday, December 5th, 2022 at 3:40 PM, Eli Zaretskii <[email-masked]> wrote:
> 
> 
>>> Date: Mon, 05 Dec 2022 15:06:09 +0000
>>> From: Heime [email-masked]
>>> Cc: [email-masked], [email-masked]
>>> 
>>>>>> Conclusion: you need to turn on font-lock in that buffer.
>>>>> 
>>>>> When I use (text-mode) or (org-mode), I do not get the problem.
>>>>> 
>>>>> (with-current-buffer (get-buffer-create bufrn)
>>>>> (text-mode)
>>>>> (insert (propertize "G"
>>>>> 'font-lock-face '(:background "green"
>>>>> :foreground "black"))))
>>>> 
>>>> Because those turn on font-lock by default.
>>> 
>>> What do you think about having fundamental-mode also turn font-lock on ?
>> 
>> 
>> What it does now is the result of what we think. That's why it is called
>> Fundamental.
>> 
>> Anyway, there's no bug here, so I'm closing this.
> 
> Is fundamental mode not usually used when working on new buffers?
> 

Just to clarify:

1. If font-lock-mode is off, you should use (propertize … ‘face …)
2. If font-lock-mode is on, you should use (propertize … ‘font-lock-face …)

If you create a buffer interactively, font-lock-mode is on (at least in the latest version of Emacs, not sure which version of Emacs are you on). But if you create a buffer programmatically (as you did in the code snippet), font-lock-mode is off.

Yuan