unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Tomi Ollila <tomi.ollila@iki.fi>
To: Utkarsh Singh <utkarsh190601@gmail.com>,
	Notmuch mailing list <notmuch@notmuchmail.org>
Subject: Re: [Utkarsh Singh] Re: [PATCH] emacs: Add more front ends for address completion
Date: Thu, 10 Feb 2022 19:37:10 +0200	[thread overview]
Message-ID: <m21r0ay661.fsf@guru.guru-group.fi> (raw)
In-Reply-To: <875ypnxutj.fsf@gmail.com>

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 ?

> 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... 

(so that I can try the steps below)

Tomi

>
> ```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/
> _______________________________________________
> notmuch mailing list -- notmuch@notmuchmail.org
> To unsubscribe send an email to notmuch-leave@notmuchmail.org

  reply	other threads:[~2022-02-10 17:37 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 [this message]
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=m21r0ay661.fsf@guru.guru-group.fi \
    --to=tomi.ollila@iki.fi \
    --cc=notmuch@notmuchmail.org \
    --cc=utkarsh190601@gmail.com \
    /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).