Subject: RE: bug#11680: flyspell should use mouse-3 instead of mouse-2

From: Drew Adams <[email-masked]>
Date: Mon, 17 Aug 2020 08:12:18 -0700 (PDT)

> > if `mouse-3' behavior that allows for context-specific
> > popup menus is what's sought, then `mouse3.el' fulfills
> > that need, and with a great deal of flexibility.  This has
> > been the case since 2010.
> >
> > Not only does it provide for context menus, but it does so
> > without sacrificing the other useful vanilla `mouse-3'
> > behaviors, which are also useful.  It adds to, instead of
> > replaces, existing `mouse-3' behavior.  It's compatible
> > with what Emacs users expect in general for `mouse-3'.
> > https://www.emacswiki.org/emacs/Mouse3
> > https://www.emacswiki.org/emacs/download/mouse3.el
> 
> Thanks, I didn't know about this library but will look into it in
> detail.  Is there anything stopping us from incuding this library in
> Emacs?  Would it be suitable for general use?

Yes, no problem.

As is generally the case with my libraries, there can
be code that accommodates backward compatibility, and
there can be code that does something extra/better if
some of my libraries (or some other libraries) have
been loaded.

For vanilla GNU Emacs such conditional code can be
removed or the conditional test can be removed.  E.g.,
(fboundp 'string-insert-rectangle) is for Emacs 24.4+.

Examples of code that makes use of other libraries:

* If library `isearch-prop.el' has been loaded then
  menu items `Isearch' and `Isearch Regexp' are there
  for searching the region.  (Submenu `Search/Replace'.)

* If library `highlight.el' has been loaded then menu
  items `Copy Text Properties' and `Yank Copied Text
  Properties' are available for acting on the region.
  (Submenus `Copy' and `Remove/Replace'.)

* If library `boxquote.el' has been loaded then menu
  items `Boxquote' and `Unboxquote' are there.
  (Submenu `Change Text'.)

* If `unaccent.el' is loaded then item `Remove Accents'.
  (Submenu `Change Text'.)

* If `highlight.el' is loaded then submenu `Highlight'
  is available.

* If `ebnf2ps.el' is loaded then `BNF PostScript Analyze',
  `BNF PostScript Print', and `BNF PostScript Save'.

* If `bookmark+.el' then `Highlight Bookmarks' and
  `Create Bookmarks Matching'.  (Submenu `Misc'.)

* If `help-fns+.el' then `Describe File' and `Describe
  Package'.  (Submenu `Thing at Pointer'.)

* If `highlight.el' then items `Highlight Symbol' and
  `Unhighlight Symbol'.  (Submenu `Thing at Pointer'.)