Commit graph

7492 commits

Author SHA1 Message Date
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
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
David Bremner
d4e9b9072c Merge branch 'release' 2023-09-23 08:43:44 -03:00
David Bremner
1c10d91d8e Pass error message from GLib ini parser to CLI
The function _notmuch_config_load_from_file is only called in two
places in open.cc. Update internal API to match the idiom in open.cc.
Adding a newline is needed for consistency with other status strings.

Based in part on a patch [1] from Eric Blake.

[1]: id:20230906153402.101471-1-eblake@redhat.com
2023-09-23 08:34:48 -03:00
David Bremner
bc38580cef test: add known broken subtest for the bad config error message
This is a bit fragile w.r.t. glib changing their error message, but it
already helped me find one formatting bug, so for now I think it's
worth it, instead of just grepping for "UTF-8".
2023-09-23 08:29:32 -03:00
David Bremner
dbb5ff3385 CLI: exit with error when load_config returns an error.
For now print a generic error message and exit with error on any
non-success code. Previously the code exited, but with exit code zero,
leading users / scripts to think the command had succeeded.
2023-09-23 08:26:40 -03:00
David Bremner
112c53535a test: add known broken test for bad utf8 in config
We should ideally print an informative error message, but at the very
least we should not exit with success.
2023-09-23 08:22:51 -03:00
David Bremner
6ed3484749 debian: start changelog for 0.38.1~pre0-1 2023-09-23 08:16:20 -03:00
David Bremner
14bc0cc56b NEWS: add header for 0.38.1
Actual news items to be filled in after they are applied.
2023-09-23 08:14:21 -03:00
David Bremner
50aaab91b5 version: update to 0.38.1~pre0
Start preparations for point release
2023-09-23 08:12:06 -03:00
Eric Blake
e392daa729 .gitignore: ignore __pycache__
Python likes to leave behind cache files; noticeable when doing an
in-tree build.
2023-09-19 06:50:40 -03:00
David Bremner
d4e0aaa76b devel/nmweb: read mail files in binary mode.
"ju" reported on IRC that browsing

    https://nmbug.notmuchmail.org/nmweb/show/20160719094205.qmf5sjnja6crt5t3%40gotlib

crashed. The underlying issue is that python3 defaults to utf8
decoding files unless they are opened in binary mode. The file in
question (in the nmbug archive; it depends a bit on the routing the
message took) has

        Content-Type: text/plain; charset=iso-8859-1
        Content-Transfer-Encoding: 8bit

and some of it is not valid utf8.
2023-09-18 06:13:25 -03:00
David Bremner
28a0978ec0 Merge branch 'release' 2023-09-13 20:28:42 -03:00
David Bremner
40a44bfe61 debian: upload 0.38-2: disable most autopkgtests 2023-09-13 20:04:33 -03:00
David Bremner
cb309ae03a Merge branch 'release' 2023-09-12 08:56:22 -03:00
David Bremner
60b5ea319a bindings/python-cffi: clean up notmuch2.egg-info
This is created (at least) by the Debian build, but there seems no
harm in cleaning it for everyone.
2023-09-12 08:37:38 -03:00
David Bremner
c31f8c0b3b debian: note introduction of autopkgtests
Having autopkgtests changes Debian package migration (for better and
worse), so make a note when they were introduced to unstable.
2023-09-12 08:33:35 -03:00
David Bremner
a76c16b75e NEWS: quote function name
This avoids spurious underline/italics when exporting to markdown.
2023-09-12 08:31:49 -03:00
David Bremner
972283777a NEWS: set release date for 0.38 2023-09-12 08:28:57 -03:00
David Bremner
b21747e0c3 build: clean up __pycache__ directories
These are generated indirectly by certain uses of python in the build.
2023-09-12 08:07:37 -03:00
David Bremner
14e05a3eee debian: rely on main notmuch (dist)clean.
The python setuputils clean relys on including _notmuch_config.py,
which is cleaned up. Rather than relying on careful ordering, just do
all the cleaning from the GNU Make based build system.
2023-09-12 07:48:54 -03:00