unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Utkarsh Singh <utkarsh190601@gmail.com>
To: Notmuch mailing list <notmuch@notmuchmail.org>
Subject: [Utkarsh Singh] Re: [PATCH] emacs: Add more front ends for address completion
Date: Thu, 10 Feb 2022 09:00:00 +0530	[thread overview]
Message-ID: <875ypnxutj.fsf@gmail.com> (raw)
In-Reply-To: 878rujxuvi.fsf@gmail.com


-------------------- 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'.
Here are the steps to reproduce the bug:

1. [Install](https://notmuchmail.org/#index7h2) `notmuch`.
2. In emacs -Q session, evaluate the following

```elisp
(progn
(add-to-list 'load-path "/usr/share/emacs/site-lisp") ; Notmuch Emacs interface
(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))
```

3. Press `TAB` to generate address completion, then press `RET` to
select address of your choice.  After selection, you will notice that
`notmuch-address-expand-name` fails to insert desired address, that is,
you will get the following:

```
To:    
```

Note: Check the trailing spaces.

> All this said, I think this is not simple to solve, as this otherwise fine
> change would indicate :/

No problem, I'm willing to help the maintainers on this matter.

-- 
Utkarsh Singh
https://utkarshsingh.xyz/
-------------------- End of forwarded message --------------------

-- 
Utkarsh Singh
https://utkarshsingh.xyz/

       reply	other threads:[~2022-02-10  3:28 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 [this message]
2022-02-10 17:37   ` [Utkarsh Singh] Re: [PATCH] emacs: Add more front ends for address completion Tomi Ollila
2022-02-11  3:43     ` Utkarsh Singh
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=875ypnxutj.fsf@gmail.com \
    --to=utkarsh190601@gmail.com \
    --cc=notmuch@notmuchmail.org \
    /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).