From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: 44016@debbugs.gnu.org
Subject: bug#44016: 28.0.50; Add new "gnus-search" search interface to Gnus
Date: Mon, 02 Nov 2020 09:24:23 -0500 [thread overview]
Message-ID: <jwv8sbjx2qw.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87k0v4bezb.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Sun, 01 Nov 2020 19:43:36 -0800")
> (the "(consp (cdr (completion-all-completions" bit above definitely
> felt like I was holding the tool upside down),
It's just another way (more efficient) way to write
(< 1 (length (completion-all-completions ...)))
so it looks fine from where I stand.
> but they're absolutely useful in a programmatic setting. I wonder if
> there could be some version of these functions that could be "blessed"
> for use in Elisp programs.
They're definitely allowed to be used for ELisp programs. They're not
100% pure functions, but not too far off. The main issue I can see for
use "internal use" is that their behavior is influenced by the
`completion-styles` user-config, which may or may not be what you want.
>> (defvar gnus-search-minibuffer-map
>> (let ((km (make-sparse-keymap)))
>> (set-keymap-parent km minibuffer-local-map)
>> (define-key km (kbd "SPC") #'self-insert-command) ;; Isn't this redundant?
>
> Somewhere I'd gotten the idea that SPC was bound to
> `minibuffer-complete-word', I don't know how.
I presume you earlier inherited from `minibuffer-local-completion-map`
or something like that.
> Ah, of course! And if `gnus-search--complete-key-data' is conservative
> about when it fires, it leaves the door open for other completion
> functions.
If by "fires" you mean "returns non-nil", then yes, indeed.
> This function could complete "cont" to "contact:", at which
> point (for example) an EBDB-specific capf function could take over and
> complete names or email addresses to search for.
Right. Or it could itself recognize "contact:" and return the bounds of
the contact info along with EBDB's completion table (since EBDB's
capf presumably doesn't know about the "contact:" syntax).
Stefan
next prev parent reply other threads:[~2020-11-02 14:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-15 16:47 bug#44016: 28.0.50; Add new "gnus-search" search interface to Gnus Eric Abrahamsen
2020-10-16 5:08 ` Lars Ingebrigtsen
2020-10-16 15:49 ` Eric Abrahamsen
2020-11-01 5:32 ` Eric Abrahamsen
2020-11-01 18:10 ` Basil L. Contovounesios
2020-11-01 18:22 ` Eli Zaretskii
2020-11-01 21:19 ` Eric Abrahamsen
2020-11-01 21:38 ` Eric Abrahamsen
2020-11-01 23:50 ` Stefan Monnier
2020-11-02 3:43 ` Eric Abrahamsen
2020-11-02 14:24 ` Stefan Monnier [this message]
2020-11-02 16:16 ` Eric Abrahamsen
2020-11-02 20:11 ` Eric Abrahamsen
2020-11-04 5:22 ` Eric Abrahamsen
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwv8sbjx2qw.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=44016@debbugs.gnu.org \
--cc=eric@ericabrahamsen.net \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.