From: Utkarsh Singh <utkarsh190601@gmail.com>
To: Tomi Ollila <tomi.ollila@iki.fi>,
Notmuch mailing list <notmuch@notmuchmail.org>
Subject: Re: [Utkarsh Singh] Re: [PATCH] emacs: Add more front ends for address completion
Date: Fri, 11 Feb 2022 09:13:15 +0530 [thread overview]
Message-ID: <874k569igc.fsf@gmail.com> (raw)
In-Reply-To: <m21r0ay661.fsf@guru.guru-group.fi>
On 2022-02-10, 19:37 +0200, Tomi Ollila <tomi.ollila@iki.fi> wrote:
> On Thu, Feb 10 2022, Utkarsh Singh wrote:
>
>> -------------------- Start of forwarded message --------------------
>> From: Utkarsh Singh <utkarsh190601@gmail.com>
>> To: Tomi Ollila <tomi.ollila@iki.fi>
>> Subject: Re: [PATCH] emacs: Add more front ends for address completion
>> Date: Thu, 10 Feb 2022 08:58:49 +0530
>>
>> Hello Tomi,
>>
>> On 2022-02-09, 23:59 +0200, Tomi Ollila <tomi.ollila@iki.fi> wrote:
>>
>>> On Tue, Feb 08 2022, Utkarsh Singh wrote:
>>>
>>>> Hello maintainers,
>>>>
>>>> Emacs Lisp Package Archive (ELPA) now includes a package called 'corfu',
>>>> according to its documentation:
>>>>
>>>> Corfu enhances the default completion in region function with a
>>>> completion overlay. The current candidates are shown in a popup
>>>> below or above the point. Corfu is the minimalistic
>>>> ~completion-in-region~ counterpart of the
>>>> [[https://github.com/minad/vertico][Vertico]] minibuffer UI.
>>>>
>>>> Hence, this patch tries to add support for `completion-in-region' in
>>>> `notmuch-address-expand-name'. By default, this behaviour is turned off
>>>> so that existing users can enjoy existing completion techniques.
>>>
>>> The current "default" (i.e. w/o any notmuch emacs mua configuration) is to
>>> use completing-read to do the completion. If "company" is available, then
>>> company is used by default (w/ all address harvesting and so on...).
>>>
>>> This is "messy" enough ;( (i.e the notmuch-address-selection-function
>>> is called if company mode is not available or notmuch-address-command
>>> is a string instead of 'internal or 'as-is (or whatnot, too tired to do
>>> deep investigation there ;/)
>>>
>>> This change, contributes even more "complexity" there. To keep the
>>> complexity to the same level would be adding more
>>> notmuch-address-selection-functions and have the defcustom there list
>>> the options (also probably the name of notmuch-address-selection-function
>>> would need to be changed to notmuch-fallback-address-selection-function
>>> ;/)
>>>
>>
>> I think, in general, you're right about the complexity and we should try
>> minimize it. But this patch was originally derived from a bug I was
>> experiencing with `(global-corfu-mode 1)' in `notmuch-message-mode'.
>
> Is global-corfu-mode changing how completing-read works ?
In theory, no!
>> Here are the steps to reproduce the bug:
>>
>> 1. [Install](https://notmuchmail.org/#index7h2) `notmuch`.
>> 2. In emacs -Q session, evaluate the following
>
> When doing in notmuch repo, one can execute ./devel/try-emacs-mua -Q
>
> ... which probably uses the same package database (under $HOME) as any
> other emacs invocation would do -- what is the way to change the location
> of that in order to have chance to have "empty" set of externally installed
> packages, and messing with it would not touch the "default" packages...
Okay, we can use `package-user-dir', try the following steps:
1. Press M-w (`kill-ring-save') to kill/cut the following expression:
--8<---------------cut here---------------start------------->8---
(progn
(setq package-user-dir "/tmp/elpa")
(package-initialize)
(package-install 'corfu)
(package-install 'vertico)
(require 'notmuch)
(require 'corfu)
(require 'vertico)
(vertico-mode 1)
(corfu-global-mode 1)
(notmuch-mua-new-mail))
--8<---------------cut here---------------end--------------->8---
2. Now in ./devel/try-emacs-mua -Q, press M-: (`eval-expression'), C-y
(`yank') and finally RET.
3. Press TAB to generate address completion, then press RET to select a
address, for eg. "Notmuch mailing list <notmuch@notmuchmail.org>".
After selection, you will notice that `notmuch-address-expand-name'
insert desired address with trailing whitespaces.
--8<---------------cut here---------------start------------->8---
To: Notmuch mailing list <notmuch@notmuchmail.org>
--8<---------------cut here---------------end--------------->8---
I apologize as results are not as reproducible as I thought, but you can
still notice that `notmuch-address-expand-name' is not producing the
desired result.
--
Utkarsh Singh
https://utkarshsingh.xyz/
next prev parent reply other threads:[~2022-02-11 3:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <878rujxuvi.fsf@gmail.com>
2022-02-10 3:30 ` [Utkarsh Singh] Re: [PATCH] emacs: Add more front ends for address completion Utkarsh Singh
2022-02-10 17:37 ` Tomi Ollila
2022-02-11 3:43 ` Utkarsh Singh [this message]
2022-02-12 21:34 ` Tomi Ollila
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://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874k569igc.fsf@gmail.com \
--to=utkarsh190601@gmail.com \
--cc=notmuch@notmuchmail.org \
--cc=tomi.ollila@iki.fi \
/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://yhetil.org/notmuch.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).