emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 620ac67355: EUDC: Add completion-at-point support


From: Alexander Adolf
Subject: Re: master 620ac67355: EUDC: Add completion-at-point support
Date: Mon, 16 May 2022 15:12:18 +0200

Hello Stefan,

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> [...]
> Could you contrast the behavior of this new code with the one we get
> from `message--name-table` (i.e. when setting
> `message-expand-name-standard-ui`)?
>
> Looking at the code in message.el it seems it should provide a fairly
> similar behavior.  It seems to do similar caching, uses
> (eudc-query-with-words (split-string orig-string "[ \t]+")) like your
> code, tho your code passes an extra t arg to "try-all-servers".
> Maybe message.el should also use that?
> [...]

Thanks for your comments. I think there are (at least) two angles from
which we can look at this.

The first angle is the query semantics, and the "breadth and quality" of
search results, as you appear to be referring to. Under this angle, I
concur with your assessment that the improvements to the "breadth and
quality" of search results could probably have been retro-fitted onto
the existing code in message.el just as well. 

The second angle is how and where the functionality is embedded in the
wider structure of the code, and, as a consequence of this, what use
cases that enables. I think that it is under this second angle that my
patch provides the most advantages; at least that was my intention. As
you mention (message-expand-name-standard-ui), message.el sees itself as
being "in charge" of the completion UI, and I'll need to carefully
configure it to "stay away" from handling the completion UI to allow me
to use one of my liking. In fact I was when I started moving my setup to
use the corfu package [1] as my completion UI, when I cam eto the
conclusion that this patch would be needed to achieve my goal.

[1] https://github.com/minad/corfu

Looking beyond this (really sticking my head out the window even further
now), this patch gives us the option of moving "everything email
addresses" into EUDC. The next thing I'll spend some time on are EUDC
back-ends for ecomplete and mailabbrev. EUDC has a bbdb back-end
already. With that, all code that deals with the different sources for
email addresses could move from message.el to EUDC. In such a scenario,
message.el would need to do the marshalling between the different
completion contexts (email, newsgroup, subject, body, etc.) only. All
other special handling for email address completion that is there today,
would no longer be needed in message.el.


Hoping to have helped, and looking forward to your thoughts,

  --alexander



reply via email to

[Prev in Thread] Current Thread [Next in Thread]