From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "João Távora" <joaotavora@gmail.com>
Cc: Dmitry Gutov <dgutov@yandex.ru>,
Daniel Mendler <mail@daniel-mendler.de>,
"emacs-devel@gnu.org" <emacs-devel@gnu.org>,
Juri Linkov <juri@linkov.net>
Subject: complexity in minibuffer (was: (icomplete-vertical-mode): Add support for affixations and, annotations)
Date: Wed, 02 Jun 2021 10:19:01 -0400 [thread overview]
Message-ID: <jwvczt4e4wv.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <CALDnm53nQDSHcMra4uBcPXz--cqbq-dSfW_9eO-2hNJL3BZy5w@mail.gmail.com> ("João Távora"'s message of "Wed, 2 Jun 2021 01:02:02 +0100")
> Another pain point in minibuffer is the representation of candidates.
> Sometimes they are strings, sometimes they are lists of strings with
> prefixes and suffixes, lots of silly "if consp".
I must say I'm not sure what you're referring to here.
So I went searching for `consp` in minibuffer.el, and IIUC you're
talking about the code which takes a set of completions and displays it
in *Completions*. E.g. the code in `completion--insert-*`.
Is that right?
[ If so, it explains why I wasn't sure what you referred to, since it's
not part of the code with which I'm familiar ;-) ]
Indeed, I wonder why we have that.
I know `display-completion-list` is documented to work with lists of
various things (strings, symbols, and lists of strings, IIRC), but
that's an old "feature" of `display-completion-list` that's not used by
the current completion code, AFAIK (and potentially not used by any code
at all).
So we could have a quick loop through the completion candidates at the
entry of `display-completion-list` which converts each candidate to
a plain string and then calls a streamlined `completion--insert-strings`
where we don't need those `consp` any more.
[ And in most cases we could call `completion--insert-strings` directly
rather than go through the old `display-completion-list`. ]
WDYT? Am I missing something?
Stefan
next prev parent reply other threads:[~2021-06-02 14:19 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-22 21:00 [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations Daniel Mendler
2021-05-23 9:37 ` João Távora
[not found] ` <adbebf98-eb86-9b8b-f191-e2e9f00cf80b@daniel-mendler.de>
2021-05-23 19:55 ` João Távora
2021-05-23 20:14 ` Daniel Mendler
2021-05-23 21:04 ` João Távora
2021-05-23 21:31 ` Daniel Mendler
2021-05-23 21:54 ` João Távora
2021-05-23 22:38 ` Daniel Mendler
2021-05-24 22:46 ` João Távora
2021-05-25 3:06 ` Daniel Mendler
2021-05-25 9:21 ` João Távora
2021-05-26 18:12 ` João Távora
2021-05-26 19:32 ` Daniel Semyonov via Emacs development discussions.
2021-05-23 23:04 ` Daniel Mendler
2021-05-23 23:39 ` Stefan Monnier
2021-05-24 22:54 ` João Távora
2021-05-25 1:38 ` Stefan Monnier
2021-05-25 8:39 ` João Távora
2021-05-25 11:00 ` Gregory Heytings
2021-05-26 0:03 ` João Távora
2021-05-25 3:12 ` Daniel Mendler
2021-05-25 9:25 ` João Távora
2021-05-24 19:05 ` João Távora
2021-05-24 19:13 ` João Távora
2021-05-24 19:53 ` Daniel Mendler
2021-05-24 23:04 ` João Távora
2021-05-25 3:14 ` Daniel Mendler
2021-05-25 9:31 ` João Távora
2021-05-25 9:40 ` Daniel Mendler
2021-05-24 22:05 ` Dmitry Gutov
2021-05-23 23:37 ` Juri Linkov
2021-05-23 23:39 ` Juri Linkov
2021-05-24 10:26 ` Daniel Mendler
2021-05-24 22:07 ` Juri Linkov
2021-05-25 2:53 ` Daniel Mendler
2021-05-25 8:30 ` João Távora
2021-05-25 16:59 ` Juri Linkov
2021-05-25 17:46 ` João Távora
2021-05-25 20:37 ` Juri Linkov
2021-05-26 21:45 ` Juri Linkov
2021-05-26 22:20 ` Dmitry Gutov
2021-05-26 23:17 ` João Távora
2021-05-27 1:06 ` Dmitry Gutov
2021-05-27 7:29 ` João Távora
2021-05-27 13:15 ` Dmitry Gutov
2021-05-27 14:19 ` João Távora
2021-05-27 18:52 ` Dmitry Gutov
2021-05-27 20:58 ` João Távora
2021-05-28 8:08 ` Daniel Mendler
2021-05-28 8:34 ` João Távora
2021-05-28 9:06 ` Daniel Mendler
2021-05-28 10:09 ` João Távora
2021-05-28 11:16 ` Daniel Mendler
2021-05-28 11:41 ` João Távora
2021-05-28 11:55 ` Daniel Mendler
2021-05-28 12:15 ` João Távora
2021-05-28 12:32 ` Daniel Mendler
2021-05-28 13:17 ` João Távora
2021-05-28 13:55 ` Daniel Mendler
2021-05-28 18:46 ` Juri Linkov
2021-05-29 8:11 ` Daniel Mendler
2021-05-28 12:44 ` Dmitry Gutov
2021-05-28 13:14 ` Daniel Mendler
2021-05-28 13:57 ` Dmitry Gutov
2021-05-28 14:10 ` Daniel Mendler
2021-05-28 14:57 ` Dmitry Gutov
2021-05-28 16:01 ` Daniel Mendler
2021-06-01 9:56 ` João Távora
2021-06-01 11:27 ` Daniel Mendler
2021-06-01 12:00 ` João Távora
2021-06-01 12:37 ` Daniel Mendler
2021-06-01 14:30 ` João Távora
2021-06-01 14:40 ` Daniel Mendler
2021-06-01 15:49 ` João Távora
2021-06-01 16:00 ` Daniel Mendler
2021-06-01 18:47 ` João Távora
2021-06-01 19:03 ` Daniel Mendler
2021-06-01 22:32 ` João Távora
2021-06-01 20:22 ` Stefan Monnier
2021-06-01 22:39 ` João Távora
2021-06-02 2:40 ` Stefan Monnier
2021-06-02 7:53 ` João Távora
2021-06-02 13:48 ` Stefan Monnier
2021-06-01 23:04 ` Dmitry Gutov
2021-06-01 23:22 ` João Távora
2021-06-01 23:29 ` João Távora
2021-06-01 23:46 ` Dmitry Gutov
2021-06-02 0:02 ` João Távora
2021-06-02 11:48 ` Dmitry Gutov
2021-06-02 12:59 ` João Távora
2021-06-02 18:29 ` Dmitry Gutov
2021-06-02 18:52 ` João Távora
2021-06-02 14:19 ` Stefan Monnier [this message]
2021-06-02 14:33 ` complexity in minibuffer (was: (icomplete-vertical-mode): Add support for affixations and, annotations) João Távora
2021-06-02 15:06 ` complexity in minibuffer Stefan Monnier
2021-06-02 15:20 ` João Távora
2021-06-02 15:29 ` Dmitry Gutov
2021-06-02 15:37 ` João Távora
2021-06-02 18:11 ` Dmitry Gutov
2021-06-02 18:30 ` João Távora
2021-06-02 15:38 ` Stefan Monnier
2021-06-02 15:45 ` João Távora
2021-06-02 15:59 ` Daniel Mendler
2021-06-02 16:29 ` João Távora
2021-06-02 15:53 ` Daniel Mendler
2021-06-02 18:31 ` Dmitry Gutov
2021-06-02 19:03 ` João Távora
2021-06-02 20:15 ` Dmitry Gutov
2021-06-02 22:11 ` Juri Linkov
2021-06-03 9:04 ` João Távora
2021-06-03 20:28 ` Juri Linkov
2021-06-01 15:58 ` [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations Stefan Monnier
2021-06-01 16:04 ` Daniel Mendler
2021-06-02 5:17 ` tumashu
2021-06-02 7:48 ` João Távora
2021-06-02 10:40 ` Dmitry Gutov
2021-06-02 11:04 ` João Távora
2021-06-02 11:28 ` Dmitry Gutov
2021-06-02 11:33 ` João Távora
2021-06-02 12:31 ` Dmitry Gutov
2021-06-02 13:16 ` João Távora
2021-06-05 1:48 ` Dmitry Gutov
2021-06-05 9:21 ` João Távora
2021-06-05 23:06 ` Dmitry Gutov
2021-06-05 23:25 ` João Távora
2021-06-05 4:23 ` Stefan Monnier
2021-06-05 9:26 ` João Távora
2021-06-05 13:02 ` Ergus
2021-06-05 23:47 ` Dmitry Gutov
2021-06-06 2:30 ` Stefan Monnier
2021-06-02 13:38 ` Stefan Monnier
2021-06-02 14:11 ` Dmitry Gutov
2021-06-02 14:54 ` Stefan Monnier
2021-06-02 15:07 ` João Távora
2021-06-05 1:08 ` Dmitry Gutov
2021-06-05 9:16 ` João Távora
2021-06-01 14:47 ` Gregory Heytings
2021-06-01 14:53 ` Daniel Mendler
2021-06-01 14:58 ` Gregory Heytings
2021-06-01 15:06 ` Daniel Mendler
2021-06-01 15:33 ` Gregory Heytings
2021-06-01 15:41 ` Daniel Mendler
2021-06-01 15:09 ` João Távora
2021-06-01 15:12 ` Daniel Mendler
2021-06-01 15:06 ` João Távora
[not found] ` <b49749e34d620592d83a@heytings.org>
[not found] ` <CALDnm53Wdnp0yAu6uQd8A=6-uLArCBEdj4F+aVzUdFOT00XMWw@mail.gmail.com>
[not found] ` <b49749e34dc4e4287593@heytings.org>
[not found] ` <87lf7t8wfz.fsf@gmail.com>
2021-06-01 15:24 ` Gregory Heytings
2021-06-01 23:05 ` João Távora
2021-05-24 23:02 ` Dmitry Gutov
2021-05-24 23:04 ` Dmitry Gutov
2021-05-23 21:35 ` Daniel Mendler
2021-05-23 22:42 ` Dmitry Gutov
2021-05-23 23:33 ` Stefan Monnier
2021-05-23 23:42 ` Juri Linkov
2021-05-24 23:24 ` Dmitry Gutov
2021-05-23 23:35 ` Juri Linkov
2021-05-24 3:23 ` Stefan Monnier
2021-05-24 10:34 ` Daniel Mendler
2021-05-24 16:22 ` Caching where-is-internal (was: (icomplete-vertical-mode): Add support for affixations and, annotations) Stefan Monnier
2021-05-24 16:31 ` Daniel Mendler
2021-05-24 19:53 ` Caching where-is-internal Stefan Monnier
2021-05-24 20:07 ` Daniel Mendler
2021-05-24 20:33 ` Stefan Monnier
2021-05-24 20:45 ` Daniel Mendler
2021-05-24 21:44 ` Stefan Monnier
2021-05-24 21:52 ` [PATCH] (icomplete-vertical-mode): Add support for affixations and, annotations Juri Linkov
2021-05-24 22:41 ` João Távora
2021-05-25 1:27 ` Stefan Monnier
2021-05-24 22:37 ` João Távora
2021-05-25 16:53 ` Juri Linkov
2021-05-25 17:24 ` Stefan Monnier
2021-05-25 17:40 ` João Távora
2021-05-25 20:01 ` Stefan Monnier
2021-05-25 20:27 ` Dmitry Gutov
2021-05-25 20:46 ` João Távora
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvczt4e4wv.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=joaotavora@gmail.com \
--cc=juri@linkov.net \
--cc=mail@daniel-mendler.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).