Subject: bug#51819: The Senselessness of Emacs Company Mode

From: irenezerafa <[email-masked]>
Date: Tue, 16 Nov 2021 21:44:19 +0000

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Tuesday, November 16th, 2021 at 9:30 PM, Carlos Pita <[email-masked]> wrote:

> > > I am installing Company Mode so I can use auto completion.
>
> One last thing that I believe should be obvious at this point, but
> just in case: you don't need to install company to use
> auto-completion, auto-completion works OOTB.

I did not know this.  Thought company is the OOTB one, than an external thing.
How does one use the auto-completion you are discussing?

> Company sports an overlay that many people find convenient and AFAIK
> also defines some extensions to the core protocol (whose usage is
> seemingly not encouraged these days anyway).
>
> Emacs auto-completions come mostly in two flavours:
>
> 1.  completing-read, for example the one for C-x C-f
> 2.  completion-at-point, namely the one you want to customize using company.
>
>     But if you only need some vertical fuzzy-matching experience for 1 and
>     a popup for 2, just install corfu and you're good with a configuration
>     as simple as the one I posted above. I know this is of little
>     consolation, because you have already been exposed to information that
>     you don't care about, but that's the best I have.

> > There is a time that the project needs to clean things up a bit.
> There has been a significant cleanup regarding completion, both in
> core emacs and in the community. Things are pretty mature right now
> and expectations converge around the two core protocols listed above
> (compare it to the situation a few years ago, with the emergence of
> helm, ivy, company, etc, as well as ido, pcomplete, etc in the core).

I use ivy, company and orderless.

> But you are complaining about the outcome of a historical development
> that there was no clear way (nor desire, I hope) to prevent. I don't
> want to be Pangloss here, but it's in the nature of things that
> extensions will be less conservative and change faster than the core.
>
> This has both positive and negative aspects: on the plus side, you may
> have been enjoying helm, ivy and company for years now, on the minus
> side there is this senselessness you perceive (and you have painted a
> rosy picture of it...). Some alternatives are a fossilised project or
> a project that is breaking things with every release; by all means,
> there is no such way as a project evolving at the perfect rate of
> change, there is always uncertainty about future directions, many of
> them yet unknown, and also a pile of constraints inherited from past
> decisions. IMO having a creative and active community is more of an
> asset than a liability, even if sometimes it's innovating too fast for
> the project to provide any sort of meaningful coordination. But you
> seem to see a slow-paced project instead of the fast-paced community
> around it. I may agree with you about some other emacs aspects, but
> regarding completion I believe sustained progress has actually been
> made over the years.

It is more from the new user point of view that emacs is becoming
more complicated to configure.  I am using company mode as is, but
decided to advise, for free.

> > wasting months or years trying to follow the haphazard evolution of the software.

> Sure, some other projects take more decisions upfront at the price of
> losing some flexibility, maybe you would be better served by vscode in
> that regard. Extreme flexibility is not necessarily a virtue, my empty
> all-in-one-editor.c is as flexible as it is useless. At any rate I don't
> think this is the case with emacs, but it's clearly biased towards
> more organic evolution that you seem to dislike.

Have used vscode.  Am not against organic evolution, but once something
becomes a fundamental functionality (e.g. completion), evolution should
move consciously after some time.  It is a different focus that also has
its place.

> Best regards,
> Carlos