Subject: bug#33682: 27.0.50; enriched-mode cannot save anonymous faces

From: Eli Zaretskii <[email-masked]>
Date: Sun, 09 Dec 2018 19:00:26 +0200

> Date: Sun, 09 Dec 2018 17:35:28 +0100
> From: [email-masked] (Charles A. Roelli)
> CC: [email-masked]
> 
> >   M-: (insert (propertize "foo" 'face '((:background "red")))) RET
> 
> Thanks for pointing this out.  So enriched mode can save a face
> property which is a list of (possibly anonymous) faces, but it chokes
> on a single anonymous face.  Is that documented somewhere?

I think the limitation might actually be in format.el, but I didn't
dig deep enough.  Enriched mode is under-used (IMO), and format.el is
even less so, so I'm not surprised they don't support yanking text
with faces from other modes.

> Text created by other programs may not be aware of enriched mode's
> limitations.  For example, here is an (abbreviated) version of how I
> found this bug (from emacs-26):
> 
> C-x C-f test/manual/indent/css-mode.css
> M-x enriched-mode RET y
> C-x C-s
> 
> Evidently some text in CSS buffers is fontified with a single
> anonymous face, which enriched mode does not support.  For a real-life
> use case, if you copy some text from a CSS buffer and yank it in an
> enriched mode buffer, the buffer can (temporarily) no longer be saved.

You (and everyone else) are welcome to work on lifting these
limitations, of course.  Maybe that will make enriched.el more
popular, although I wouldn't hold my breath.

Thanks.