Subject: bug#26672: 25.2; Flyspell overlay conflicts with table.el

From: Allen Li <[email-masked]>
Date: Wed, 26 Apr 2017 15:00:05 -0700

Flyspell's overlay for misspelled words conflicts with table.el

table.el adds its keymap as a text property to the text in table cells.
When Flyspell detects a misspelled word, it adds an overlay with a
keymap binding mouse2 to ‘flyspell-correct-word’.  Apparently, this
overlay keymap overrides table.el’s ‘keymap’ text property.

The effect of this is that pressing TAB to move between table cells will
instead insert a literal tab character if your cursor happens to be on a
misspelled word.  This is extremely annoying.

More generally, I’m not sure that an overlay keymap replacing the
‘keymap’ text property is desired behavior.  At the very least, there
should be an escape hatch option on the overlay keymap that defers to
the ‘keymap’ text property for cases like Flyspell where replacing the
‘keymap’ text property is not desired behavior.

I am aware that there’s an option ‘flyspell-highlight-properties’ to
prevent Flyspell adding its overlay if the text has properties, but
that’s not really useful since most modes other than perhaps fundamental or text
will add various properties to text.