~protesilaos/mct

Make motions account for completions-header-format (Emacs 29)
Make check for first candidate account for completions-header-format (Emacs 29)
Add sorting functions for Emacs 29 user option 'completions-sort'
Rename mct-minibuffer-mode to mct-mode

Thanks to Daniel Mendler for informing me about this in issue 4 on the
GitHub mirror: <https://github.com/protesilaos/mct/issues/4>.
Remove code that was meant for Emacs 27 (not supported anymore)
Reuse helper function to avoid repetition in pass/block predicates
Merge branch 'restart-development'

I am restarting the development of MCT with the sole intent to keep it
in good working condition for the handful of users who like it.  I do
not plan to expand the scope of the package.  Instead, I am removing
certain features of dubious value and am cleaning up the code (which
was in a good state, all things considered).

To recap:

- MCT is a layer of interactivity on top of the default Emacs
  minibuffer and the *Completions* buffer.  It treats the two as a
  unified space and provides commands to intuitively move between
  them.

- MCT provides a facility for "live completions" which automatically
  update the *Completions* buffer given certain conditions.  Users
  have access to options for a passlist and blocklist which further
  control what should be live updated.

- On 2022-04-14 I had announced the discontinuation of the project's
  development:
  <https://protesilaos.com/codelog/2022-04-14-emacs-discontinue-mct/>.
  The reason was that Emacs 29 was assuming certain features that MCT
  had.  I thought that Emacs 29 would provide an MCT-equivalent
  experience and was making way for that eventuality.  It turns out
  that I was mistaken: MCT is still more featureful and might show the
  direction for future developments on Emacs 30.

Now the other news:

- I still think 'vertico' by Daniel Mendler is the best User Interface
  for the minibuffer.  Where relevant in my Emacs coaching sessions, I
  always recommend Vertico: <https://protesilaos.com/coach>.  It is
  robust and highly configurable.  What MCT does, Vertico does better.
  My plan for my personal config is to have two modules, one for
  Vertico and another for MCT, so that I can use the former by default
  and the latter when needed.  (Again, I want to maintain MCT but will
  not add major new features.)

- I have removed support for Emacs 27.  This was a mistake from day
  one.  Emacs 27 cannot show the *Completions* buffer in one-column
  view and thus lacks the primary user-facing aspect of MCT.

- I have removed everything that has to do with in-buffer completion
  ('completion-in-region').  While it is nice to have a uniform
  interface for completions in the minibuffer and inside buffers, the
  latter was never good enough.  This is not an MCT problem, but how
  inherently limited the *Completions* are in the scenario where the
  minibuffer is not activated.  I will continue using 'corfu' by
  Daniel Mendler.

- For a brief period of time I experimented with various extensions to
  the core MCT functionality (e.g. integrating with 'avy.el'.  These
  are all removed.  There now is a single 'mct.el' file.  It works
  fine for what it was originally designed to do: enhance the
  minibuffer UI.
DELETE mct-region-mode; remove remaining extras
Make the blocklist take precedence over the passlist
Update package information
Remove reference to Emacs 27; 28 is the minimum
Add missing block about package sources
Simplify the front matter in the README.org
Add README.md to make it easier for all Git forges
Use line-{beginning,end}-position where relevant
Do not extend mct-highlight-candidate
Delete old deprecation code
DEPRECATE mct-completions-format
DEPRECATE mct-display-buffer-action
Fix mct-live-completion :type for one option
Next