Commit Graph

585 Commits

Author SHA1 Message Date
f90839b48b mu-cmd: load mu-scm.hh only with BUILD_SCM
We don't want/need it otherwise, and in fact it triggers build failures when
guile (but not scm) is enabled.

Fixes #2861.
2025-07-24 19:55:27 +03:00
812d78be49 mu-scm: add options, some tweaks
Add the (options) procedure + docs.

Some internal tweaks / clean-ups.
2025-06-30 21:57:29 +03:00
417c070e27 build: better handle non-guile build 2025-06-24 18:15:03 +03:00
527d9322e9 scm: new guile/scheme bindings
This implements the new scm/guile bindings for mu, to replace the deprecated
guile/ (at some point in the future).

For now, we allow for creating a guile shell with mu support.
2025-06-19 14:55:33 +03:00
f9c24c7166 mu: add 'scm' command
Add the "scm" command, the way to get a Guile/Scheme shell.

This is experimental but will replace the current guile support in guile/ at
some point.
2025-06-16 10:57:36 +03:00
1527976729 mu-cfind/contacts-cache: refactor matching in for_each
Move some of the code in from the command-line tool to contacts-cache, for
possible re-use. Clean up a bit while doing so.
2025-06-10 10:04:53 +03:00
c9b5755d68 mu-cmd: update docstrings 2025-05-31 08:42:51 +03:00
ec3b55f2ab message: retain non-file flags when moving
The content-flags won't change, and the unread-flag can be re-calculated.

Add a unit test, and some small doc improvements.

Fixes #2831.
2025-05-24 17:17:00 +03:00
f75e1203d4 mu: rename --my-address into --personal-address
This makes things a bit more uniform with all the places where we use
"personal".

--my-address remains as an alias for the command-line option.

Add unit test.

Resolves #2806.
2025-05-24 17:17:00 +03:00
44ba631a34 mu-find: implement format=json2
Implement a new experimental json2 format for mu-find, which gets rid of
the ":" prefixes for fields, i.e., "subject" instead of ":subject".
Document it as well.
2025-03-23 19:47:09 +02:00
5ab6d6c6c3 mu-find: use correct summary-len 2025-01-20 20:40:21 +02:00
d8d5e4cca5 options: do not canonicalize maildir-path
This doesn't play well with shells that don't expand options (such as
bash) in combination with "ExpandPath".

Fixes #2793.
2024-12-09 18:27:15 +02:00
1b2d9d3847 mu-find: insist on --linksdir for links
Fixes #2790.
2024-12-04 23:18:15 +02:00
8c7db59972 fields: make combi-fields introspectable
And add the display of combination-fields to 'mu info fields'.
2024-11-30 22:58:15 +02:00
c872efae34 search: make references searchable
Allow searching for message that have the given message-id in
References: or Reply-To:
2024-11-26 11:21:38 +02:00
262353996a mu-info: fix typo 2024-09-25 19:27:14 +03:00
2d7288effa Canonicalize init --maildir argument after expanding
Ensure that `maildir` is an absolute and _canonical_ path when user passes
a custom maildir path using `mu init --maildir PATH`
2024-08-06 16:01:39 +02:00
5bd439271d store-worker: temporarily revert
Of course, after merging some problems come up.
Let's fix those first.

This reverts commit f2f01595a5.
2024-06-05 12:21:24 +03:00
697d6b6b4f server: pass sexp-commmands through store worker
To ensure all Xapian rw commands happen in the same thread.
2024-06-03 21:01:17 +03:00
5a48664033 lib: centralize xapian include, enable move semantics
Only include xapian.h in one place, so we can have consistent options.
With that in place, we can enable C++ move semantics.

We don't do anything with that yet, but we check in the meson.build file
to see if we have the required xapian version.
2024-05-01 17:02:24 +03:00
a0d60d23b0 compat: include sys/wait.h where needed
netbsd needs this explicitly, other systems let us get away without it.
2024-04-21 22:08:10 +03:00
b37bfba223 mu-move: remove debug print 2024-04-19 16:24:26 +02:00
f813498f4d mu: add --reindex option for mu index
I.e. without having to reinit explicitly.
2024-04-05 19:03:42 +03:00
d13feb2d99 mu-contact: move email validation to contacts cache
So we can be sure the regexp is initialized. This _may_ help for
 https://bugzilla.opensuse.org/show_bug.cgi?id=1221861
though it is very hard to tell!
2024-04-02 07:40:20 +03:00
bb5c36c658 tests: add some very basic CLD2_TEST
just to check if it works at all; no need to check cld2 at all.
2024-03-01 23:05:33 +02:00
dcbcd697f4 mu-init: insist that --maildir is absolute 2024-02-26 01:08:44 +02:00
30b8238522 tests: move to tests/, make optional
While not recommended, sometimes it can be useful to disable building
the unit tests. This can be done now with
    meson -Dtests=disabled build
2024-01-06 18:35:22 +02:00
b4c768e6d0 mu-init: guess maildir when --maildir is missing
Re-instate the guessing that's in the manpage. Add unit tests.
Update documentation.

Fixes #2616.
2024-01-01 10:33:03 +02:00
0a5845fe8b mu-index: add unit tests 2023-12-29 22:28:10 +02:00
ae4f49cfc0 init: interpret batch-size 0 as 'default'
This makes writing tests easier.
2023-12-29 22:28:10 +02:00
4b199e8bed mu-server: modernize sig handling
Update some old code.
2023-12-22 21:24:41 +02:00
14c2b373eb mu-move: fix compiler warning 2023-11-03 21:17:43 +02:00
6e45609866 mu: catch logic error
Print something useful.
2023-10-09 23:50:08 +03:00
4a0eba8ddf improve unit tests 2023-09-24 20:21:57 +03:00
abb0fb4fd5 utils/add: improve unit test coverage 2023-09-24 17:29:56 +03:00
2d20074b99 mu-move: add new move sub command
Add sub-command to move messages; add tests and docs.

Fixes #157
2023-09-24 17:29:08 +03:00
11003000e8 mu: log warning when exiting with error 2023-09-23 09:26:37 +03:00
94c90bd0c5 fields: 'phrasable' instead of 'indexable'
'Phrasable' is probably a bit clearer description.
2023-09-17 18:11:10 +03:00
da49e77449 mu-info: add 'maildirs' topic
For showing all maildirs under the root.
2023-09-16 11:12:16 +03:00
c78dafd723 provide end-user hints and show them
Only a few for now.
2023-09-16 11:12:16 +03:00
3ee2ce9647 mu/mu: tweak logging / exception handling 2023-09-13 23:04:44 +03:00
2f5602b938 unit tests: improve
and add a new one for the indexer
2023-09-12 21:38:57 +03:00
65460c25b6 mu-info: add some more version info
glib & gmime
2023-09-12 21:35:47 +03:00
8287b9802e lib: replace mu-bookmarks with mu-query-macros
And add some unit tests.
2023-09-11 23:54:56 +03:00
af9eb36ca0 unit-tests: modernize
Use TempDir, join_paths etc.
2023-09-11 23:51:37 +03:00
53c7381929 lib: move index/ into main lib/
simplify things a bit
2023-09-10 08:55:25 +03:00
3e5cec0d05 tests: update for new query parser / ngrams 2023-09-09 17:57:42 +03:00
264bb092f0 support xapian ngrams
Xapian supports an "ngrams" option to help with languages/scripts
without explicit wordbreaks, such as Chinese / Japanese / Korean.

Add some plumbing for supporting this in mu as well. Experimental for
now.
2023-09-09 17:26:20 +03:00
f6122ecc9e mu-find: add --analyze option
For analyzing queries with the new query-parser.
2023-09-09 11:59:59 +03:00
d7f8a64b20 mu: modernize command-line unit tests 2023-08-27 11:07:55 +03:00