Commit graph

7511 commits

Author SHA1 Message Date
Mohsin Kaleem
cd89065dc3 emacs: Add new option notmuch-search-hide-excluded
The new notmuch-search-hide-excluded option allows users to configure whether
to show or hide excluded messages (as determined by search.exclude_tags
in the local notmuch config file). It defaults to true for now to maintain
backwards-compatibility with how notmuch-{search,tree} already worked.

New commands notmuch-search-toggle-hide-excluded and
notmuch-tree-toggle-exclude have also been added. They toggle the value
of notmuch-search-hide-excluded for the search in the current search or
tree buffer. It's bound to "i" in the respective keymaps for these
modes.

Lastly I've amended some calls to notmuch-tree and notmuch-unthreaded
which didn't pass through the buffer local value of
notmuch-search-oldest-first (and now notmuch-search-exclude).
Examples of where I've done this include:
  + notmuch-jump-search
  + notmuch-tree-from-search-current-query
  + notmuch-unthreaded-from-search-current-query
  + notmuch-tree-from-search-thread

A new test file for Emacs has been added which covers the usage of the
new `notmuch-search-hide-excluded' option and interactively hiding or
showing mail with excluded tags. These test cover the basic usage of
the `notmuch-search-toggle-hide-excluded' command in notmuch-search,
notmuch-tree and notmuch-unthreaded searches. These tests also cover
the persistence of the current value of the hide-excluded mail option
as a user switches from between these different search commands.

[1]: id:87ilxlxsng.fsf@kisara.moe

Amended-by: db, fix indentation in T461-emacs-search-exclude.sh
2024-04-06 15:03:45 -03:00
David Bremner
de23409704 perf-test/tag: add maildir sync tests
Today someone asked me the (reasonable) question of how much
performance impact there is from synching tags to maildir flags. It
turns out it is noticeable, about a 50% overhead compared to
non-synched tags (according to these tests).  In practice I don't know
if it's a big problem for users, since I don't know what fraction of
tagging operations involve "special" tags.
2024-04-05 07:33:41 -03:00
Jelle Licht
8d06dfce17 emacs: Autoload notmuch-user-agent related functions
With this change, users with mail-user-agent set to
'notmuch-user-agent can start composing emails without having to
require 'notmuch-mua first.
2024-04-04 08:20:51 -03:00
Dmitry Bogatov
d1ba5d6342 emacs: Mark "notmuch-tree" command for autoloading
Some people (e.g: me) prefer to read their email with threaded
representation by default.

Without this commit, I have to run "notmuch-search" (autoloaded)
first to get "notmuch-tree" loaded.
2024-04-04 08:16:36 -03:00
Tomi Ollila
baaad2a267 NEWS: aspell(1)d few words
Executed aspell -l en -c NEWS

and replaced few obvious cases.
2024-03-12 09:42:13 -03:00
David Bremner
0c7726dc19 notmuch release 0.38.3-1 for unstable (sid) [dgit]
[dgit distro=debian no-split --quilt=linear]
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmXtJngACgkQA0U5G1Wq
 FSGvmxAAuo67Qx5uJVX44xrLY3PFkor8MwDtguu+F94IYtqiLT3zCx6LTmp8jMFM
 SJp6P8DJkj9sJoHoru2mKdXRHDJPmcsJ0cNxUBSubO/KLoJeYS0KJi+5kOnQwKBs
 LkJxZA4IR0HUK4X6A77+9nWADnc2mKdkB+arfPH/hJPbf3mjEJd1r2E/DVtdyZi1
 CrTISv0vsepvSUxnPqrC/vlj6NmN9Pi9vnYVwze7FAWtPoo1sssLTqjn7eLVpole
 rTsGEV5SB45u2OHrmAlrnQNfCC/6k1d5Zt7c3FL3uStKkKlgqba37x3XRXnJ+swt
 XRCpV5Nga/sISRwTFRnQl80BYc14RXGDvoHgXBoOozRTZoD9UfsuMEQN7/DYdINC
 W5LM0+MapgV4uohCn5s+zf51USQRem+wExcgm36lz3d4Sla9dVkDlgVe69nL2mmm
 bySt4i1a8cb1UUQdQQQc68PY9Qj/anCJBmua6TqRmnBlKcy2Gh6MxAozJLJLlCCf
 JszAD5OWPAfB51KsfRvWnXloTqYrnADp1FsDGOOtz56NrjzoAqrOSnP56JXJVV5+
 89AiXxvrHzLPYxoiXmFGGAKPWbFVTb7xPViOX8YlfPeH+2h+thPFRaHwmSPvP8PO
 HvJkJ9fQquViA7p4h63U8x78X30eQ/HWjBgTCgAQi+52pShBSOs=
 =8eFE
 -----END PGP SIGNATURE-----

Merge tag 'debian/0.38.3-1'

notmuch release 0.38.3-1 for unstable (sid) [dgit]

[dgit distro=debian no-split --quilt=linear]
2024-03-11 08:17:40 -03:00
David Bremner
78f9c6ebd1 debian: update changelog date
It is a bit weird to have debian changelog before upstream release date.
2024-03-09 23:13:32 -04:00
David Bremner
f825336320 Merge from sid [dgit] 2024-03-09 23:07:21 -04:00
David Bremner
801ca7fa86 Revert "debian: start changelog for 0.38.3-1"
This reverts commit 522b279e46.

Remove duplicate changelog stanza
2024-03-09 23:01:43 -04:00
David Bremner
d0469c5b4c version: bump to 0.38.3 2024-03-09 22:51:31 -04:00
David Bremner
522b279e46 debian: start changelog for 0.38.3-1 2024-03-09 22:49:50 -04:00
David Bremner
da6fa670e6 doc: update copyright years to include 2024 2024-03-09 22:47:37 -04:00
David Bremner
a49174b395 NEWS: update for 0.38.3 2024-03-09 22:47:14 -04:00
Benjamin Drung
63d1a100a6 Record notmuch (0.38.2-1.1) in archive suite sid 2024-02-28 23:56:48 +00:00
Benjamin Drung
2babd3eb76 notmuch (0.38.2-1.1) unstable; urgency=medium
* Non-maintainer upload.
  * Rename libraries for 64-bit time_t transition.  Closes: #1063205

[dgit import unpatched notmuch 0.38.2-1.1]
2024-02-28 23:56:48 +00:00
Benjamin Drung
3dd88a8d73 Import notmuch_0.38.2-1.1.debian.tar.xz
[dgit import tarball notmuch 0.38.2-1.1 notmuch_0.38.2-1.1.debian.tar.xz]
2024-02-28 23:56:48 +00:00
David Bremner
3b8c0dee22 debian: recommend gpg-agent instead of gnupg agent 2024-02-17 09:04:32 -04:00
Jakub Wilk
2f0320c5f2 CLI/git: remove no-op format() call 2024-01-14 08:55:20 -04:00
Jakub Wilk
e310df7093 CLI/git: fix name error 2024-01-14 08:55:06 -04:00
Jakub Wilk
5f3e5dd411 CLI/git: remove unused import
shutil was used only for the tempfile.TemporaryDirectory backport,
which was removed in commit b7c31f6581 ("CLI/git: drop support for
python < 3.2").
2024-01-14 08:54:39 -04:00
David Bremner
52a5446150 Merge branch 'release' 2023-12-06 07:39:24 -04:00
David Bremner
b97cd90040 lib: clear error message on success in _choose_database_path
Previously we both found a database and returned a message saying that
the database could not be found (along with a success code). This
change should prevent spurious error output.
2023-12-06 07:33:05 -04:00
David Bremner
5a582e8ed9 test: add known broken test for incorrect error message
Duplicate bug reported in id:87wmtvcor5.fsf@alyssa.is

The error message is nonsense, because notmuch config list actually
includes the database in those two cases.
2023-12-06 07:33:05 -04:00
David Bremner
b49377e509 Merge branch 'release' 2023-12-01 08:11:39 -04:00
David Bremner
c769658360 debian: changelog for 0.38.2-1 2023-12-01 07:51:40 -04:00
David Bremner
126347b694 Import notmuch_0.38.2.orig.tar.xz
[dgit import orig notmuch_0.38.2.orig.tar.xz]
2023-12-01 07:51:09 -04:00
David Bremner
b413eb805e NEWS for 0.38.2 2023-12-01 07:50:27 -04:00
David Bremner
21daefc178 version: bump to 0.38.2 2023-12-01 07:38:55 -04:00
Jani Nikula
67990376b7 notmuch-emacs-mua: avoid extra separators at the end of the line
Currently the --to/--cc/--bcc options add "user@example.com, " to the
message headers, with the the unnecessary ", " separator after the
last address, regardless of how many addresses are being added.

This used to be fine, but with recent emacs mm, trying to send the
email with the trailing commas leads to prompt:

  Email address  looks invalid; send anyway? (y or n)

Fix this by only adding the commas between addresses, avoiding the
trailing commas.
2023-12-01 07:22:26 -04:00
David Bremner
22eebce431 Merge branch 'release' 2023-11-28 09:21:11 -04:00
David Bremner
4f82acce17 lib/string_map: simulate stable sorting
qsort(3) does not promise stability, and recent versions of glibc have
been showing more unstable behaviour [2]. Michael Gruber observed [1] test
breakage due to changing output order for message properties.

We provide a sorting order of (key,value) pairs that _looks_ stable by
breaking ties based on value if keys are equal. Internally there may
be some instability in the case of duplicate (key,value) pairs, but it
should not be observable via the iterator API.

[1]: id:CAA19uiSHjVFmwH0pMC7WwDYCOSzu3yqNbuYhu3ZMeNNRh313eA@mail.gmail.com
[2]: id:87msv3i44u.fsf@oldenburg.str.redhat.com
2023-11-28 09:19:21 -04:00
David Bremner
bddeb20110 notmuch 0.38.1 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmU69GwACgkQA0U5G1Wq
 FSEQUQ/8CikZvEARbd7XnOVtzIIPml4pqg7v1dWEVcBjKrzYNpm67aOcJnYxT7nw
 5NKA/t+nG5gYvu2dkZs4QrPJXBF5wU9ODUy78Z8kwsXkrzIit85LOZOGGxrH2O+/
 qnfl3mhXbd+jCcvhHwRJtPlQ6+hAJmzDNGezoA6fOh7M+TGehCPjQ7MZo7DvUXyR
 RfTHOFXepsv9t4R2Q5HvbtyN1a3cKxfwmEoIQFrUCuzIWyJsZfV1bi9BAaOVBj72
 lwLMbLOrznFq7fEmvaRygc0E6k/UvAHsvH8aMPzD42W4MhErsWrVCmqOD3TGEss9
 CQ17mr/KxtTAldMwucHCTfdUEgTaCCQqiUnyC5nurbwUuEhQEFREooVNR7hgy+d9
 gHf6k9i3YhMURmysHqcrDBb8rUruNyIqIiAS+b/lTIxTWFfZsR6BULiytWKeGUwG
 jpRBkpzaGJ3uA/dBppbNKuFVWCvyUhJIT0EjaKuwOu9Qldz5iaQujqEFbqAMu/gB
 DbbWjEJQBdQ6JpEvzZM0E5FSaoqP7tbykh8QHm15HXZLyGsaf3HJJ5NrcVG9xYFI
 pUFlDy/xj0N0a6vSgw29LWiEFRWS+xWyOn2TRvCLmTxczo9mPXdUeLea+KnFlN/A
 WGsJ25qRmPrDZSycHzw6a+N8K+1U7xBpCx2ltSXeTaOmj27oUac=
 =4aEL
 -----END PGP SIGNATURE-----

Merge tag '0.38.1'

notmuch 0.38.1 release
2023-10-26 20:34:31 -03:00
David Bremner
356ad39271 debian: update changelog for 0.38.1-1 2023-10-26 20:18:20 -03:00
David Bremner
e3bde388d8 NEWS: News for 0.38.1
Just note the 3 bug fixes.
2023-10-26 19:52:27 -03:00
David Bremner
551ec61118 version: bump to 0.38.1
No changes from 0.38.1~rc1
2023-10-26 19:45:04 -03:00
David Bremner
bc9a58d75b notmuch 0.38.1~rc1 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmUoeaYACgkQA0U5G1Wq
 FSGc6w/+IgUrtLWshX/TkRkQOJcMZzd8j1Qd+bHv+lCNdF5Nkm8Aim5UiiC/bdg6
 DWGmEPJwHkmo69hLQkJLdpV98BqGHFwtOqCcPCVhVXKQtoSl/8n2FK/QCvP/PYhn
 i3M9+0fcOKBoG5a868SvkLHRQga9NpqIOG05qR9/LwqFBABlNGHVzCapHjWF6uHc
 8Xqr96lHNGzuG3ThqKF+6Nv/aEKduOybyX2+I+cYkCMITtd2U/0tgNOQbb4U0OOH
 DkKFRbgyoF4Sz2tZzF3xzVlonMK7uY/hDrIql3Wze+A2kZwYArlO0uw1Fh4GxuDH
 H9VWc3TapIFytigB6bx6ecZPxTrPrfVNGnoxB4R8e8upP8l5pJs3WKL9ed3iVrhz
 /Yp4Q11yyp25Pey1HR4g64jwodCotx5I1Ctfri0dxJ9nZHEu76U5fYTuUIkWwDCy
 0pIcXclEP5hiKDXH9W7ayYdesHUjSpqEZ83JuxxfCzBxVqbpqSFusI7OvOjS1o0F
 4oL715Zd3G64OgJOhJGX5HUEgE7LKOB0DplS8UB/TltaCkmckRyR003CENEB9Kf/
 /ISBi4gjYUN4qrC2VgsoNPD167JKfVIAKXWHhLGMGXi3SSbRAZEyJbKyOYEssvCO
 CRufOcnCefLMNt3zlatceEmf8afi75PVX3yWnxc20Z8PTYAHyLo=
 =jlzU
 -----END PGP SIGNATURE-----

Merge tag '0.38.1_rc1'

notmuch 0.38.1~rc1 release
2023-10-12 19:58:05 -03:00
David Bremner
23ac959040 changelog for 0.38.1~rc1-1 2023-10-12 19:54:07 -03:00
David Bremner
4fc79eb196 version: update to 0.38.1~rc1 2023-10-12 19:52:42 -03:00
Paul Wise
72de64034d notmuch-mutt: fix Perl syntax of hash index lookups
Fixes: commit 239fdbbbf0
2023-10-12 19:50:43 -03:00
David Bremner
e4ead7656c emacs/mua: change name of ignored parameter
Suppress compiler warning.
2023-10-06 20:37:16 -03:00
David Bremner
5de7beec16 emacs/address: rewrite docstring for n-a-selection-function
The previous version essentially repeated the source code, and
generated a compiler warning.
2023-10-06 20:37:16 -03:00
David Bremner
c273266503 emacs: wrap docstrings
Suppress byte-compiler warnings about >80 character docstrings.
2023-10-06 20:37:11 -03:00
David Bremner
fc1c81c378 emacs: update quoting in docstrings
The complicated looking escapes are needed to avoid compile time
warnings.  (info "(elisp) Text Quoting Style") for details.
2023-10-06 20:36:56 -03:00
David Bremner
c0880ce750 notmuch release 0.38.1~pre0-1 for experimental (rc-buggy) [dgit]
[dgit distro=debian no-split --quilt=linear]
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmUZVrwACgkQA0U5G1Wq
 FSGUmw//dwzVVv+12UOx03O2YblUQEUfFVaQuSn3Sl5EvGVlBMGs0+jCNgcrc4DF
 IAzOHCEuEuL0o8EgehW5XV3Iabf7jd0G1V1aAv0x+Xu+wgVgc22Pn77m0KkXiyqI
 SetbaKCj9BhgJjUZc0ejt0kCuPEYYNThGr5G5+DLzmf5Cm/27XRJzJunWKANU+4z
 wpEzlJF9Rigq/On+D0dK5Vl6sdsDScDvaw3KZP083umL6PeHSJRKKVgdrH/FmVzy
 bpvSqPh4JuPK6zMu2oHtI58p+aLnA2IDsq/pN2Ax3EhbqJzsr6N068eI4Jpq3nOh
 jxt3xB2XcxFrMhCGnqsy0Eq2eFTXz/LhUP3zdyhx8HnNQsFcot7hQr9T/S5lsqEL
 igvgD0gcjGZoaq1kK1ITcfqlOod6PBG4rohF8/UovbAD+7anR5gBW4n3EA4rSnZe
 z2bBrbdxYY0+651odjavjfopFGoIf7iaQSSinb3EpPp2kmlIgV/sUN6lU8hh4Msl
 sRFtVusSwHIRzrUff5zrQrrf84HRoZMJxEIrhATOKa8xNtQ69TQKg1ZHg2lLZQ/7
 b1GHD/uNKgdfP2BZWXZYAxhbvYL8VVzeAZs/h4PYCFpohr4M+rGqtB6NN1BaX40I
 U+ndKj/DxEZxSr0ivmbHNmnp5w3OJnl1oRBMtKQUKfRGJTX2BU4=
 =+7FI
 -----END PGP SIGNATURE-----

Merge tag 'debian/0.38.1_pre0-1'

notmuch release 0.38.1~pre0-1 for experimental (rc-buggy) [dgit]

[dgit distro=debian no-split --quilt=linear]
2023-10-01 08:26:17 -03:00
David Bremner
6ea0b18d1e debian: finalize changelog for 0.38.1~pre0-1
Bonus typo fix.
2023-10-01 08:16:48 -03:00
David Bremner
bd318e7eba notmuch 0.38.1~pre0 release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmUZU6sACgkQA0U5G1Wq
 FSH2Ig/8C5/aQSdNlcquEsFnSCFlOOUY5+XosmBtN+lisbOB9nQwstUT1uZK6J9t
 Wnh20ypCnGhvaIGpdUN3polIfzulqJoKHe/qYYaOz9LjhlCZzXLrHrjgcZm9FItB
 jJ8TEYN+7Pve7XGkGZmwP+fvtFhWPa+jqqMDKkq6gIAc2pcQDcmuDUKwkOS5my//
 JVGWd0mrbHTWRuW6WvNMa4gjNeJhQ5fmju0i20vZjBExw10NEjRdmMRjbX3IEDqp
 2pFr797/nrLHPqLDccR5hxx/8xhwlxRSdTO1oBndnWiw8sfhpuKgnxRhggLjeQ2T
 QeXuZT/Ps8IpNUp3TNeio1GpkCLZlvKGdutSPN+L27bgH6cOaR+0nhRxnYaTIKHR
 2BeA8RuTj8YSBGuZEGwYw6SF/ZcC90TBXwUazPbDVjPO6TAU2T/pn9oarx/HQ0S7
 3Pqj/As86XdRsEu4s4StOkWNDoED5+knsAZtpRX/Fc50Hlys09n4CAeJYoH6E/39
 AbtUpb+2RR6TC5GkN9UbOhePv8lu3Ghu58xU2zLiNCXkHmRWj5YIniCPLRWK1srR
 rPLqzKMKqFt4P/daqFeVjAV2xXEzRtDmdwt7hoiFwPtZnDOjJ6LRw6Fy+ABjewxx
 XBoOf7oje3KcG9AXUiOq1ej67r+FwN8fRL7MpAnnxBvXRZ45pVA=
 =D47E
 -----END PGP SIGNATURE-----

Merge tag '0.38.1_pre0'

notmuch 0.38.1~pre0 release
2023-10-01 08:12:36 -03:00
David Bremner
a064a25427 emacs/show: special case toggling display of images
According to emacs upstream [1], we can't expect overlay invisibility
and images to get along. This commit uses the previously stashed
undisplayer functions to actually remove the images from the buffer.
When the image is toggled, it is essentially redisplayed from scratch,
using the previously stashed redisplay data.

[1]: https://lists.gnu.org/archive/html/emacs-devel/2023-08/msg00593.html
2023-10-01 07:47:16 -03:00
David Bremner
0646d4855b emacs: save image redisplay data during non-lazy display
This data will eventually be used to redisplay hidden images. A
certain amount of refactoring is done here to avoid code
duplication.
2023-10-01 07:47:16 -03:00
David Bremner
bfcfa947f8 emacs/show: save redisplay redisplay data when showing lazy part.
This data will be used to redisplay an image that is hidden by
deleting it from the buffer.  We cannot easily delay until the image
is hidden, as we won't have the original data at that point.
2023-10-01 07:47:16 -03:00
David Bremner
b1129d905a emacs: save undisplayer function for MIME parts
For some kinds of MIME parts (at least images), our trickery with
overlays will not work, so save the more drastic function created by
Gnus that actually deletes the part from the buffer. In an ideal world
we would return this function as (part of) a value, but here the call
stack is too complicated for anything that simple, so we stash it in
the part plist and rely on that being preserved (unlike the mm handle,
which is transient).
2023-10-01 07:47:16 -03:00