Subject: bug#14157: 24.3.50; Improve facemenu.el: Better "integration" with other libraries

From: Jambunathan K <[email-masked]>
Date: Wed, 10 Apr 2013 09:20:45 +0530

Should facemenu.el use overlays for highlighting?

facemenu.el, "works" only for certain modes.  More specifically it works
only for those modes that defines a `facemenu-enable-faces-p'.  Start
exploring with the following snippet

,---- See facemenu-add-face
|
| (unless (facemenu-enable-faces-p)
|   (message "Font-lock mode will override any faces you set in this buffer"))
`----

One main disadvantage of not using overlays is that Orgmode cannot be
used in conjunction with enriched mode.  See the following threads

1. http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00990.html

   Here the user wants to hide a piece of text.  He is probably a
   student trying to recall a piece of memorized information.

   Is it possible to have an "invisible face".  A text having this face
   will not be displayed at all.

2. http://lists.gnu.org/archive/html/emacs-orgmode/2010-08/msg00179.html

   Lots of cross talk here.

3. http://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01277.html

        and

   http://lists.gnu.org/archive/html/emacs-orgmode/2013-03/msg01287.html

    ,----
    | I (actually me and several colleagues here at the school of public
    | health at Harvard) have been using for the past 4 years a note taking
    | app called notecase pro (http://www.notecasepro.com/) which is nice but
    | not FLOSS and lacking in other areas. I am a post doc who takes alot of
    | notes (30-40) daily which include images and color markings.
    | 
    | colors are especially important to us since we use them to mark
    | different commands, research areas, paths, comments and warning so that
    | we have a clear easy to remember color visual clue. We use 15-20 color
    | fg/bg commands. An example note could look like this:
    | 
    | http://i.imgur.com/Ncq6ozs.png
    `----

The notion of persistence of face properties (as in serializing/encoding
face properties in to the edited text - either tex mode, sgml mode or
more importantly enriched mode) is "in built" in to facemenu.el.  It is
not necessary that a highlighted text be encoded/persisted in to the
saved file.  I could be reviewing a piece of text and might want to do
"on the go" highlighting some phrases to take notes without saving it
anyway.

Color-coding of text is indeed an effective note-taking tool.

Side note: 

Since Org mode format is frozen for maximum portability, there is a lot
of resistance on the part of Org mode developers to re-define - C-h v
org-emphasis-alist - to mean more colourful things.  So emphasis is
limited to insipid things like bold, italic etc.

IMNSHO, coloring of text can co-exist with Org mode.  This without the
Orgmode format extended or enhanced.

With facemenu using overlays and very minor adjustments elsewhere, an
enriched/Org mode is possible.  Here the Orgmode parser could be
*oblivious* of the fact that enriched encoding is actually in use and
rely on the facemenu/enriched mode do encode or decode enriched markup.

The format used by "Enriched text" is not popular or well-known.
However, that shouldn't limit chaps who aren't interested in cross
editor or cross platform portability to extract last bit of juice out of
Emacs.