emacs-devel
[Top][All Lists]
Advanced

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

Re: Completion functions in message-mode


From: Eric Abrahamsen
Subject: Re: Completion functions in message-mode
Date: Wed, 25 Apr 2018 12:24:13 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> My next question is, how does one "extend" a completion table?
>
> Not sure what you mean, but you can combine completion tables for
> example by using completion-table-in-turn, or by doing something
> similar to what it does.

Yes, that's what I meant.

>> Specifically: if c-a-p expects to receive (START END COLLECTION), should
>                                                        ^^^^^^^^^^
> BTW, this is what I call "completion table".

Right, that much I understood. But otherwise I was very undereducated
about how completion works, and so have gone down some rabbit holes in
the course of writing the attached patch, which is underwhelming for how
long it took me.

I doubt this will be acceptable as-is, but I do hope it will get us (me)
a step closer. What I ended up with was an option,
`message-expand-name-tables', that contact-management/addressbook
packages can add completion tables to. This is very simple, but probably
too simple: it leaves no mechanism for these packages to add extra PROPS
data, like :predicate or :annotation, and also doesn't give them the
opportunity to alter START and END (though maybe it shouldn't?).

Anyway, for what it is, it works. It also add six spurious blank spaces
to the end of any completion, at least in my test setup, but who's
counting!?

Hopefully we can go somewhere from here.


Attachment: message-completion.diff
Description: Text Data


reply via email to

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