Subject: bug#39390: 28.0.50; prettify-symbols-mode confuses display when start/end faces are different

From: Raphael 'kena' Poss <[email-masked]>
Date: Sun, 2 Feb 2020 21:26:32 +0100

All right, so I take from our conversation so far that I should add
font-lock rules that ensure that the symbols that I am substituting have
a common face as per font-lock before the substitution by
prettify-symbols-mode takes place.

I have tried this:

(font-lock-add-keywords
 'go-mode
 '(("func(" . font-lock-keyword-face)))

(add-hook
 'go-mode-hook
 (lambda ()
   (push '("func(" . "λ(") prettify-symbols-alist)))

I have checked manually (by first disabling my prettify-symbols-alist
customization) that the font-lock customization indeed applies the same
face to all occurences of "func(" in the source.

However once the prettify-symbols substitution is active, the display
becomes messed up again.

Is it possible that this occurs because go-mode already pre-defines a
rule to apply keyword-face to "func", before my additional rule kicks
in? Do you reckon there is a way to remove the native rule defined by
go-mode so that mine remains the only that parses "func"?

-- 
Raphael 'kena' Poss