emacs-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and,


From: João Távora
Subject: Re: [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations
Date: Mon, 24 May 2021 20:05:45 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Daniel Mendler <mail@daniel-mendler.de> writes:

> On 5/23/21 11:54 PM, João Távora wrote:

> But regarding merging or not merging the patch, I don't agree with your
> argument of taking this as leverage which makes the discussion more or
> less difficult.

I'm not taking this as "leverage", I just don't think icomplete.el
should embark into what I consider (and apparently others) a misdesigned
API.  We should strive to come up with maintainable and reliable
systems, not just merge something because it happens to work and look
nice (which is plain to see that it does).

In the branch

   scratch/icomplete-vertical-mode-related-work

which I've just pushed to the repo, I have two commits:

- One commit, titled "Overhaul annotation-function to match
affixation-function" makes annotation-function match its cousin in
capability and switches the two producers of affixation-function to use
annotation-function instead.  It uses the logic we discussed before,
returning a propertized string.  It should be backward and forward
compatible.  Modulo bugs, it's not very well tested.  After this commit,
the only consumer of annotation-function in Emacs is the *Completions*
buffer, as before.

- The other commit, titled "Make icomplete-vertical-mode behave a little
more like a dropdown", is still a work in progress.  It reworks
icomplete.el to make the vertical mode behave more like a typical
dropdown.  Alas, it's not very easy to do, especially since a looping
dropdown is hard to define in the first place.  I think, before
icomplete-vertical-mode can really be usable and behave like the fancy
extra-Emacs packages, it needs to be iterated some more.

This commit also makes use of annotation-function.  In the process it
shows how layout decisions are delegated to icomplete.el, not to the
backend, a criticism of affixation function that Dmitry and Stefan seem
to share.

Personally, given the evidence here, I'd install the first commit (after
testing) and not encourage people to use affixation function for now.
We'll see if we keep or remove it (I haven't touched it).

I'd also keep working on icomplete.el so we can clean up
icomplete-vertical-mode.

João




reply via email to

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