aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-08ruby: fix "undefining the allocator of T_DATA" warningsJohannes Larsen
Ruby 3.2 introduced a warning when C-extensions use structs without redefining the allocation default allocation routine meant for objects. See https://bugs.ruby-lang.org/issues/18007 for details. In the Ruby bindings this happens at `Data_Wrap_Notmuch_Object` call sites, so the object types used there needed to update their allocation. This ruby code (given a database at the hardcoded path with messages matching `tag:tmp`) exercise all the ruby objects: require 'notmuch' Notmuch::Database.open File.expand_path("~/mail") do |db| db.get_directory("/tmp") db.query("tag:tmp").search_threads.each do |t| t.messages.each do |m| puts m.header("Subject") end end end Before these changes with ruby 3.2.5 and notmuch 0.38.3 it outputs: notmuch.rb:5: warning: undefining the allocator of T_DATA class Notmuch::Query notmuch.rb:5: warning: undefining the allocator of T_DATA class Notmuch::Threads notmuch.rb:5: warning: undefining the allocator of T_DATA class Notmuch::Thread notmuch.rb:6: warning: undefining the allocator of T_DATA class Notmuch::Messages notmuch.rb:6: warning: undefining the allocator of T_DATA class Notmuch::Message notmuch release 0.38.3 now available (the last line is the message I tagged with tmp), and after the changes: notmuch release 0.38.3 now available
2025-03-01ruby: trivial build cleanupFelipe Contreras
2025-03-01ruby: use proper talloc flagsFelipe Contreras
This way talloc doesn't need to be installed in /usr.
2025-03-01ruby: simplify buildFelipe Contreras
We can just always add EXTRA_INCFLAGS and EXTRA_LDFLAGS.
2025-03-01docs: avoid nmbug in notmuch-git.1Michael J Gruber
These days, `nmbug` is `notmuch-git` with special defaults, so avoid the term `nmbug` in the doc when we talk about `notmuch-git` in general. Also, spell git in lower case (as we do for notmuch) except for the one case where we name the beast.
2025-02-28changelog for 0.38.3-5debian/0.38.3-5archive/debian/0.38.3-5David Bremner
2025-02-28Commit Debian 3.0 (quilt) metadataDavid Bremner
[dgit (12.6) quilt-fixup]
2025-02-28Accept "key-missing" from a signature from a revoked keyDaniel Kahn Gillmor
We have traditionally expected a signature to show up as "revoked" when the signing key is revoked. However, GnuPG's recent fix to avoid a denial of service against legitimate signatures appears to have changed the status of signature verification from keys which happen to have been revoked. See https://bugs.debian.org/1098995 and https://dev.gnupg.org/T7547 This change makes the test suite a little bit less brittle while we look for a resolution from upstream. It should probably also be backported to debian unstable unless a notmuch release to unstable is imminent. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net> (cherry picked from commit d330971b8bdb159e58a806e7ee24f3e5551d3f89)
2025-02-28Accept "key-missing" from a signature from a revoked keyDaniel Kahn Gillmor
We have traditionally expected a signature to show up as "revoked" when the signing key is revoked. However, GnuPG's recent fix to avoid a denial of service against legitimate signatures appears to have changed the status of signature verification from keys which happen to have been revoked. See https://bugs.debian.org/1098995 and https://dev.gnupg.org/T7547 This change makes the test suite a little bit less brittle while we look for a resolution from upstream. It should probably also be backported to debian unstable unless a notmuch release to unstable is imminent. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2025-02-28python: Fix message ID docstringFloris Bruynooghe
The messageidb attribute does not exist. The returned BinString type already allows use as both strings and binary. Presumably this was written before that type was adopted.
2025-02-25Commit Debian 3.0 (quilt) metadatadebian/0.38.3-4archive/debian/0.38.3-4David Bremner
[dgit (12.6) quilt-fixup]
2025-02-25debian: changelog for 0.38.3-4David Bremner
2025-02-25test/emacs: add workaround for Emacs 30 pp changesDavid Bremner
This relies on the fact that setting pp-default-function has no effect for Emacs <30. (cherry picked from commit e3d4721b1ba4836c7646e057b50123fe994652eb)
2025-02-25debian: upload to experimental instead of unstabledebian/0.39_rc1-1archive/debian/0.39_rc1-1David Bremner
2025-02-25version: bump to 0.39~rc1David Bremner
2025-02-25debian: changelog stanza for 0.39~rc1-1David Bremner
2025-02-25test/emacs: add workaround for Emacs 30 pp changesDavid Bremner
This relies on the fact that setting pp-default-function has no effect for Emacs <30.
2025-02-22Consolidate duplicated dpkg-dev requirementsXiyue Deng
* Keep dpkg-dev (>= 1.22.5) which is added for t64 transition.
2025-02-22debian: changelog for 0.39~rc0-1debian/0.39_rc0-1archive/debian/0.39_rc0-10.39_rc0David Bremner
Close a few Debian bugs.
2025-02-22version: bump to 0.39~rc0David Bremner
Normally this would be done as part of the release process, rather than committed intially to master, but in this case I want to test the change to python bindings version handling in the previous commit.
2025-02-22bindings/python: strip ~ from python versionDavid Bremner
Inspired by a suggestion of Xiyue Deng, this change ensures that the python bindings have a version that recent setuptools is happy with. This will have the unfortunate side effect of the python view of the version number differing from the rest of notmuch for the pre-releases. The alternative would be to transform the version numbers for the Debian packages for the pre-releases, as there is now no version scheme that works for both, since setuptools started rejecting versions with "~" in them. If we decide to go the latter way in the future, this change is easy to revert.
2025-02-22build: remove handling for legacy python bindings versionDavid Bremner
The legacy python bindings are no longer built.
2025-02-22python: move legacy python bindings to contrib.David Bremner
This forces us to verify the build and test suite completes without the legacy python bindings. As of this commit the legacy python bindings are unsupported by notmuch. They are provided in contrib/ for now, but will most likely eventually be removed from there as well. We recommend that downstream/distro packagers phase out their packages for the legacy python bindings.
2025-02-22python: fix documentation typoDavid Bremner
The method is actually called 'getall'.
2025-02-22test/message-property: convert python tests from legacy bindingsDavid Bremner
One test is deleted since that method is not provided by the new bindings. Similar things can be done by accessing the PropertiesMap returned by properties. This change is a prelude to removing the legacy bindings from the build.
2025-02-22test/count: convert library test from python to CDavid Bremner
The new python bindings do not support modifying query objects, so convert to C. There is a bit more boilerplate to handle errors but otherwise it is essentially a line by line translation.
2025-02-22test: drop tests for legacy python bindingsDavid Bremner
This is a prelude to removing the legacy bindings from the build.
2025-02-22debian: stop packaging legacy python bindings.David Bremner
This is in preparation for moving them to contrib and dropping them from the test suite upstream.
2025-02-18notmuch-show-imenu-prev-index-position-function: Don't recenterDamien Cassou
The previous version of notmuch-show-imenu-prev-index-position-function was calling notmuch-show-previous-message which was recentering the window. This is a problem when which-func-mode is active because which-func-mode is called each time the user moves point around. Because this function is only meant to be executed by imenu, there is no reason to recenter the window. For the same reason, the new implementation doesn't have to follow strictly how notmuch-show-previous-message is implemented because imenu only places point at very specific locations before calling notmuch-show-imenu-prev-index-position-function.
2025-02-07fix segfaults in Python cFFI API and add testsLars Kotthoff
Several iterators in the Python cFFI API destroyed the objects they iterated over too early (when the iterator was exhausted), causing subsequent segfaults in common cases like creating a list from the iterator. This patch fixes the segfaults and add tests to ensure that they don't happen again.
2025-01-26Revert "bump versions to 0.39~rc0"David Bremner
This reverts commit deea909993513ec6fd800b7571649582d994dcbc.
2025-01-26docs: add 2025 to copyright yearsDavid Bremner
2025-01-26bump versions to 0.39~rc0David Bremner
Prepare to release a snapshot for testing
2025-01-26debian: update changelog for 0.39~rc0-1David Bremner
2024-12-08docs: Update intersphinx_mappingFredrik Lönnegren
Running `make dirhtml` in bindings/python/docs generates the following error: ``` sphinx-build -b dirhtml -d build/doctrees source build/dirhtml Running Sphinx v8.0.2 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. ERROR: Invalid value `None` in intersphinx_mapping['https://docs.python.org/']. Expected a two-element tuple or list. ``` This commit updates intersphinx_mapping to follow the latest docs [1] [1] https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html Signed-off-by: Fredrik Lönnegren <fredrik@frelon.se>
2024-08-17NEWS: deprecate Emacs older than 27.1David Bremner
The current requirement of 25.1 is more than 5 years old at this point.
2024-08-16emacs/mua: Correct autoload cookiesPengji Zhang
This is a follow-up to [1: 8d06dfce]. Per Info node '(elisp)Autoload', autoload cookies should start with ';;;###'. 1: 2024-04-04 8d06dfce175593aebae9a759c9167df4988a3444 emacs: Autoload notmuch-user-agent related functions
2024-08-09Revert "emacs: Fix saved-search buffer titles"David Bremner
This reverts commit bc989209171d406b3671024542e59b86b0ecb23d. This was applied unintentionally to master while still under discussion.
2024-08-06emacs/tree: sanitize subjects when drawing treeDavid Bremner
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-06test/emacs-tree: add known broken test for subject with CR/NLDavid Bremner
The test is intentionally vague as it's hard to pin down the correct output before the code is fixed.
2024-08-06test/emacs-show: add regression test for subjects with CR/NLDavid Bremner
This subject is known to be problematic for notmuch-tree.
2024-08-06CLI/show: warn if crypto options are used with mbox formatDavid Bremner
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-06emacs: Fix saved-search buffer titlesRudolf Adamkovič
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-05devel: document emacs keybindings u and UDavid Bremner
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-05Merge branch 'release'David Bremner
2024-08-05debian: migrate build dependency to pkgconfdebian/0.38.3-3archive/debian/0.38.3-3David Bremner
pkgconf is apparently the annointed successor to pkg-config, at least in Debian.
2024-08-05debian: skip T810-tsan everywhereDavid Bremner
Not sure whose fault the failure is, but for now skip the test.
2024-08-05debian: drop build conflicts on gdb-minimalDavid Bremner
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-05Add Astroid as an alternative Recommends; this one is a GUI clientNicholas D Steeves
that may be less intimidating for new users.
2024-08-05Allow neomutt to fulfill the "mutt" requirement of notmuch-mutt, andNicholas D Steeves
add related Enhances (Closes: #1029190).