Commit graph

7543 commits

Author SHA1 Message Date
David Bremner
bf9b9fe046 emacs/tree: sanitize subjects when drawing tree
This fixes the bug reported in

     id:6F2EF901-8B4B-44FF-83C5-22F732BA95A6@gmail.com

Unfortunately it turns out our test data has several tabs in the
subject lines. The expected output was updated to reflect their
removal and the ripple effect of several more subjects matching the
previous ones.
2024-08-06 08:29:40 -03:00
David Bremner
df330eef9a test/emacs-tree: add known broken test for subject with CR/NL
The test is intentionally vague as it's hard to pin down the correct
output before the code is fixed.
2024-08-06 07:46:10 -03:00
David Bremner
be27c7be1e test/emacs-show: add regression test for subjects with CR/NL
This subject is known to be problematic for notmuch-tree.
2024-08-06 07:42:35 -03:00
David Bremner
a691d54280 CLI/show: warn if crypto options are used with mbox format
This limitation seems somewhat hard to fix, but at least try to warn
users when combining crypto operations with mbox output format.

Because the default is --decrypt=auto, the warning is omitted if
--decrypt=auto is specified. While this is not great, it seems more
wrong to always warn, or to change the default because of this.
2024-08-06 06:50:33 -03:00
Rudolf Adamkovič
bc98920917 emacs: Fix saved-search buffer titles
REPRODUCTION STEPS:

  (let ((notmuch-saved-searches
         (list (list :name "Emacs List"
                     :query "query:lists-emacs")
               (list :name "All Lists"
                     :query "query:lists"))))
    (notmuch-search-buffer-title "query:lists-emacs" ))

ACTUAL:

  "*notmuch-saved-search-[ All Lists ]-emacs*"

EXPECTED:

   "*notmuch-saved-search-Emacs List*"
2024-08-06 06:25:07 -03:00
David Bremner
a8ba7c59a4 devel: document emacs keybindings u and U
Thanks to changing the column widths to accomodate longer function
names, the diff is rather large, but the content is two new rows for
'u' and 'U'
2024-08-05 10:34:16 -03:00
David Bremner
28b003ac11 Merge branch 'release' 2024-08-05 10:31:24 -03:00
David Bremner
85c1dbded0 debian: migrate build dependency to pkgconf
pkgconf is apparently the annointed successor to pkg-config, at least
in Debian.
2024-08-05 10:14:40 -03:00
David Bremner
a7052376d3 debian: skip T810-tsan everywhere
Not sure whose fault the failure is, but for now skip the test.
2024-08-05 09:11:03 -03:00
David Bremner
d42e9bc3c9 debian: drop build conflicts on gdb-minimal
Recent gdb Provides gdb-minimal, so we can't conflict with it and
require gdb.

This may cause problems for people building in dirty environments for
older gdb, but there is not much we can do.
2024-08-05 07:04:18 -03:00
Nicholas D Steeves
a39747c38a Add Astroid as an alternative Recommends; this one is a GUI client
that may be less intimidating for new users.
2024-08-05 06:59:43 -03:00
Nicholas D Steeves
fd539928c4 Allow neomutt to fulfill the "mutt" requirement of notmuch-mutt, and
add related Enhances (Closes: #1029190).
2024-08-05 06:59:43 -03:00
Nicholas D Steeves
551e1ed688 Add changelog entry for James McCoy's work 2024-08-05 06:59:43 -03:00
James McCoy
0aac2ae67e Convert notmuch-vim to Vim addon policy 2.0
The new Vim addon policy relies on Vim's native package functionality,
rather than the Debian-specific vim-addons tool.  This allows the addon
to be immediately available when the package is installed, rather than
requiring extra setup by the user.

* Install notmuch-vim to its own /usr/share/notmuch-vim directory, so
  the files are self-contained.
* Remove vim-addon-manager from notmuch-vim Depends
* Add ${vim-addon:Depends} to notmuch-vim Depends to ensure it has the
  required relationships on Vim/Neovim.
* Build-Depend on dh-sequence-vim-addon to automatically setup the
  required symlinks for Vim and Neovim to see the addon.

Signed-off-by: James McCoy <jamessan@debian.org>
2024-08-05 06:59:43 -03:00
Lars Kotthoff
d34720e7b3 config: allow custom separators in author lists
Allow distinguishing between commas separating authors and separating
first and last names.

Amended by db: reformat NEWS entry and commit message. Tweaked
whitespace in lib/thread.cc.
2024-07-26 15:59:11 +09:00
David Bremner
5a3e90d02f changelog for 0.38.3-2 2024-07-26 12:01:38 +09:00
Tony Zorman
199e2de224 test/emacs: test notmuch-mua-subject-check
Amended by db: rename test file to avoid collision.
2024-07-25 19:44:49 +09:00
Tony Zorman
fefc7a9474 emacs/mua: optionally check for erroneous subjects
This works much like notmuch-mua-attachment-regexp, but for the
subject instead. By default, check for empty subjects, as that seems a
reasonable thing to safeguard against.
2024-07-25 19:37:08 +09:00
David Bremner
14150416dd CLI: update commentary in config file to better match code
This comment has been out of date since notmuch 0.32. Although it
isn't really possible to explain all the options here, explain both
one new "split" way of doing things and the traditional one with
database inside $MAIL_ROOT/.notmuch.
2024-07-25 19:30:54 +09:00
Kevin Boulain
a1921a25b7 lib: thread-safe s-expression query parser
Follow-up of 6273966d, now that sfsexp 1.4.1 doesn't rely on globals
anymore by default (https://github.com/mjsottile/sfsexp/issues/21).

This simply defers the initial query generation to use the thread-safe
helper (xapian_query_match_all) instead of Xapian::Query::MatchAll.
2024-07-25 19:15:02 +09:00
David Bremner
b8fe20f339 emacs/hello: refresh hello directly
According to the now deleted commentary, the hack of using run-at-time
was needed for Emacs 24. It seems to be no longer needed for Emacs
28.2, and removing it makes further changes to the code simpler.
2024-07-25 17:43:43 +09:00
David Bremner
30740296e7 CLI/git: add reset command
Sometimes merging is not what we want with tags; in particular it
tends to keep tags in the local repo that have been removed elsewhere.
This commit provides a new reset command; the reset itself is trivial,
but the work is to provide a safety check that uses the existing
--force and git.safe_fraction machinery.
2024-07-25 17:39:50 +09:00
Michael J Gruber
6b9fccb2e2 Replace delete-line with its definition
37c022ae ("Use `without-restriction` in `with-temporary-notmuch-message-buffer`", 2024-03-14)
introduced `delete-line` in a test, but this is Emacs 29 and above only.
Replace it with its (almost) definition.
2024-06-19 07:38:34 -03:00
Michael J Gruber
b526c5ef0e Replace without-restriction with save-restriction
37c022ae ("Use `without-restriction` in `with-temporary-notmuch-message-buffer`", 2024-03-14)
introduced a fix for draft saving in a way which is supported on Emacs
29 and above only. Replace this with a construct which we have used
before, so that we keep the same compatibility level.
2024-06-19 07:38:23 -03:00
Marc Fargas
37c022aea0 Use without-restriction in with-temporary-notmuch-message-buffer
This ensures that the temporary copy of the current message-mode
buffer is whole and not limited by a current restriction.

An example of such restriction is the default one established by
message-mode when composing a reply, that hides the References,
In-Reply-To and similar headers.
2024-06-15 14:54:04 -03:00
David Bremner
0d2a964ea3 test/cli: Add known broken test for (missing) quoting in From
In [1], Jakub Wilk observes that the current behaviour is confusing
since it looks like there are two mailboxes in From, while in fact
there is only one.  It seems to me that notmuch should at least quote
the display-name part of a mailbox if it has "funny" characters in it,
and perhaps always quote it. Either way will require changing the
indexing code, since the structure is lost when writing the headers to
the database.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021614
2024-06-15 14:46:12 -03:00
David Bremner
b02a53a5cc emacs/show: fix for text/calendar display
In certain scenarios involving symlinks and setting
find-file-visit-truename, text/calendar parts were not displayed
properly.

Following a suggestion of Al Haji-Ali [1], replace the use of
get-file-buffer with find-buffer-visiting.

[1]: id:m2wmneguh8.fsf@gmail.com
2024-06-15 14:40:01 -03:00
David Bremner
cccee90095 test/emacs: add tests for rendering text/calendar parts
The first test is just a general regression test, while the second
duplicates the problem discussed in the thread starting at [1].

[1]: id:m2leo2u0uo.fsf@gmail.com
2024-06-15 14:40:01 -03:00
David Bremner
4b5be817a7 test/emacs: add regression test for display of calendar parts.
This will hopefully catch breakage due to either changes in
Emacs (especially Gnus) or changes to the notmuch-show code.
2024-06-15 14:40:01 -03:00
David Bremner
55d259a114 test/corpora: add example with text/calendar attachment
Initially for testing rendering in Emacs.
2024-06-15 14:40:00 -03:00
Mohsin Kaleem
e8e2d5247e emacs: Allow customizing :excluded in notmuch-saved-searches
Provide customize support for the new feature introduced in
cd89065d.

Commit message expanded by: db
2024-05-29 07:54:50 -03:00
David Bremner
c6bbb67070 test: re-enable duplicate UI tests in T460-emacs-tree
These were disabled (accidentally?) in f63d14a8c1.
2024-05-29 07:38:27 -03:00
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