Re: Please share recommendations of mail fetcher for notmuch on GNU

2021-02-01 Thread Mark Janes
Kian Kasad  writes:

> On 21/01/15 02:27PM, Jorge P. de Morais Neto wrote:
>> Hi.  I currently use OfflineIMAP on Python2.  However, I want to upgrade
>> Debian to bullseye, which has no security support for Python2, and
>> OfflineIMAP's Python3 port is very recent and I fear it is buggy.  Could
>> you then share your recommendation of mail fetcher for notmuch on a GNU
>> OS?
>
> I use and recommend the mbsync utility from the isync project:
> https://isync.sourceforge.io/

+1 for isync.  I chose it after speaking to several users that tried
other alternatives first.

> It will do bidirectional syncing and is very easy to set up. I've been
> using it for many months and have never had a problem with it. It only
> supports Maildir as the local storage medium, and the server must be
> IMAP4 compliant, however.
>
> --
> Kian Kasad
> PGP 0x1715EEAA14DAEC14
> ___
> notmuch mailing list -- notmuch@notmuchmail.org
> To unsubscribe send an email to notmuch-le...@notmuchmail.org
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org


Re: [PATCH] emacs: When completing tags, offer each tag once

2021-02-01 Thread David Edmondson
On Monday, 2021-02-01 at 11:49:36 -04, David Bremner wrote:

> David Edmondson  writes:
>>  
>> +(defun notmuch-search-uniq-tags (tags)
>> +  (let (result)
>> +(mapc (lambda (tag)
>> +(unless (member tag result)
>> +  (push tag result)))
>> +  tags)
>> +result))
>
> I leave elisp style to others...

Me too :-)

> Is there some bound on the length of tags? Otherwise this seems like
> it's potentially a bit slow?

No, there isn't any bound. I'd be surprised to see lists longer than low
tens of elements.

For similar functionality the dash library provides `-distinct', which
uses a lookup table if there are more than 32 elements in the list,
claiming that this is the break-point for the hash based approach to be
faster.

I'm a bit loath to just re-implement that. Am I allowed to depend on
dash? (I'd guess not, but figured that it's worth asking.)

dme.
-- 
Why stay in college? Why go to night school?
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org


Re: [PATCH] notmuch-show: use correct format specifier for ssize_t

2021-02-01 Thread David Bremner
Đoàn Trần Công Danh  writes:

> Signed-off-by: Đoàn Trần Công Danh 
> ---
>
>  I found this after inspecting one of my build today.
>  I'm not sure what is acceptable action.
>  I think using %zd is the right move.
>  But I'm not sure if you prefer to case ssize to long int.
>

If I understand correctly %zd is glibc specific? Is there a more portable way
to do this? Maybe that's what you meant by the cast.
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org


Re: [PATCH] emacs: When completing tags, offer each tag once

2021-02-01 Thread David Bremner
David Edmondson  writes:
>  
> +(defun notmuch-search-uniq-tags (tags)
> +  (let (result)
> +(mapc (lambda (tag)
> + (unless (member tag result)
> +   (push tag result)))
> +   tags)
> +result))

I leave elisp style to others...

Is there some bound on the length of tags? Otherwise this seems like
it's potentially a bit slow?

d
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org


[PATCH] emacs: When completing tags, offer each tag once

2021-02-01 Thread David Edmondson
When prompting for one or more tags to add or remove to/from one or
more threads, ensure that the set of tags offered for completion
contains no duplicates.

Some completion packages (e.g. selectrum) will include every member of
the offered list, resulting in the same tag being indicated as a
possibility several times.
---
 emacs/notmuch.el | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 26efcccd..ceec5b5d 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -572,12 +572,20 @@ thread."
 (defun notmuch-search-get-tags ( pos)
   (plist-get (notmuch-search-get-result pos) :tags))
 
+(defun notmuch-search-uniq-tags (tags)
+  (let (result)
+(mapc (lambda (tag)
+   (unless (member tag result)
+ (push tag result)))
+ tags)
+result))
+
 (defun notmuch-search-get-tags-region (beg end)
   (let (output)
 (notmuch-search-foreach-result beg end
   (lambda (pos)
(setq output (append output (notmuch-search-get-tags pos)
-output))
+(notmuch-search-uniq-tags output)))
 
 (defun notmuch-search-interactive-tag-changes ( initial-input)
   "Prompt for tag changes for the current thread or region.
-- 
2.29.2
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org