Commit Graph

778 Commits

Author SHA1 Message Date
086999c2d1 query: in related/threaded mode, search all
In the related query, search _all_ messages, not just the amount asked;
this increases the chance of full threads.
2021-01-25 10:12:48 +02:00
cec25d3166 query: fix some typos 2021-01-25 10:11:46 +02:00
01db0a4269 Merge pull request #1910 from rhgg2/contact-less-than-antisymmetric
Make order relation on contacts antisymmetric
2021-01-23 10:57:33 +02:00
451fa65ffb build: fix compiler flags 2021-01-23 01:00:47 +02:00
f65bb4196c Make order relation on contacts antisymmetric 2021-01-23 09:07:35 +11:00
3db19ce92b mu-msg-sexp: Improve list-post regexp
This should catch some more addresses.

Fixes: #1909.
2021-01-22 23:24:53 +02:00
035a10ab49 remove obsolete threading tests 2021-01-22 23:24:53 +02:00
98744c66f7 remove some dead code 2021-01-22 23:24:53 +02:00
36684c9e97 mu: use sha-1 for fallback msgid
We were using a hash based on the path, but it's better to have
something that's constant even if the path chnages.
2021-01-22 22:53:35 +02:00
af386824f2 contacts: remove some dead code 2021-01-22 22:53:35 +02:00
fb34824232 contacts: only sort recent contacts by recency
Fixes: #1857
2021-01-22 22:51:33 +02:00
e282d80bc0 lib: Update for new querying machinery
Port to c++ and use new APIs.
2021-01-22 22:51:33 +02:00
95dffb98a6 query: Rework querying/threading machinery
Rewrite the query machinery in c++:
- use an MSet decorator instead of the mu-msg-iter stuff
- use mu-query-decider to mark duplicates/unreadable/related messages
- use mu-query-threader to replace the older container/thread code

Algorithm did not substantially change, but the implementation details
did.
2021-01-20 14:09:04 +02:00
a3865d6ba9 index: wait with cleanup until work-queue is empty 2021-01-15 21:07:38 +02:00
0ebf456612 lib: comment out some future unit test
Don't break the build!
2020-12-05 12:20:19 +02:00
ecafe54c99 parser: restore most unit tests 2020-12-05 11:42:54 +02:00
3010e614a3 parser: using correct field for regexp expansion
Fixes: #1848
2020-12-05 11:42:54 +02:00
d0e357c150 utils: Improve option/result types
And add the beginnings of unit tests.
2020-11-28 10:46:38 +02:00
4b6d9a0ce8 utils: add RAII stopwatch
For benchmarking
2020-11-28 10:46:38 +02:00
bd2fe50a74 use readdir(3) instead of deprecated readdir_r(3) in mu-maildir.c 2020-11-15 12:46:59 -08:00
7d6475758c scripts: using GUILE_BINARY from configure
I.e., do not hard-code guile-2.2, it may be guile-3.0 instead.
2020-11-15 17:20:52 +02:00
c8b507f826 mu: remove obsolete MU_FEATURE_CRYPTO 2020-11-15 17:20:52 +02:00
3f4e0cff62 mu-indexer: clean up state management 2020-11-15 17:20:52 +02:00
558add3843 mu-msg: cosmetic 2020-11-15 17:20:52 +02:00
702a1d8452 utils: add Result / Option types
Add some Rust-style Result/Option types, based on TartanLlama's
expected, optional classes.

There's std::optional of course, but we can't depend on C++17 yet.
2020-11-15 17:20:52 +02:00
a1d1619bda use c++ for some more sources
Do a (superficial) port to c++ of some of the c sources. Update
deps. Fix a few compiler warnings.
2020-11-07 14:11:59 +02:00
f7452761cb index: improve error handling 2020-11-07 11:43:11 +02:00
26c1b9b6ad lib: remove unused json conversion
We no longer use the glib-json based impl.
2020-11-07 11:43:11 +02:00
c7a874b8d6 lib: convert threader/container to c++
Did change the code much, but it's now compiled as c++
2020-11-07 11:43:11 +02:00
ed4a640c39 lib/query: refactor & rework
- Move the lib/query/ stuff up a level into lib/
- Associate directly with the Query object
- Rework the Query object to be C++ rather than mixed with C
- Update all dependencies, tests
2020-11-04 23:35:30 +02:00
2135844e1b fix some compiler warnings 2020-11-01 14:25:25 +02:00
6b8ccff572 guile: avoid need for muldef 2020-11-01 14:04:15 +02:00
72d9dba7cc lib/maildir: log when move-source still exists
Instead of raising an error... it *seems* this could happen with some mail
sync programs.
2020-11-01 14:04:15 +02:00
812b5c3e65 server: improve help output 2020-11-01 14:04:15 +02:00
69b157a346 lib: improve error handling, cleanups 2020-10-31 09:46:13 +02:00
aea64c4a08 mu/lib: refactor mu(-cmd)-server code
Split off the parsing/handling code from the mu command server into
mu-server, and only leave the external interface (the mu4e repl) in
mu-cmd-server.
2020-10-31 09:46:13 +02:00
d2aa1f91b0 mu: support json output directly
Allow for dumping json directly from the Sexp structures, so we don't
need any external libs (i.e. json-glib) anymore.
2020-10-26 18:39:56 +02:00
c223f858b7 mu4e: Add some extra logging to the mu-maildir 2020-10-22 20:16:41 +03:00
2eb8fc82ad lib: fix 'personal' handling in contacts 2020-10-18 11:58:32 +03:00
dbff5671dd lib: support 'personal' regexp, move to mu-contacts
Move the determination of "personal" to MuContacts; add support for
regexps (POSIX-basic, in //)
2020-10-17 10:36:25 +03:00
5cd6226ebd Merge pull request #1813 from juanjosegarciaripoll/fix-renaming-separator
mu_maildir_get_new_path() did not use the right flags separator
2020-10-16 21:35:35 +03:00
fbad4760a4 Emacs did not use tabs in indenting mu-maildir.c 2020-10-16 19:34:55 +02:00
dd14ba64dd Fixed indentation and name / type conventions to match original 2020-10-16 19:22:52 +02:00
9995d28927 mu: indexer: update dirstamp with statbuf st_mtime 2020-10-14 00:09:32 +03:00
e47c1f4f28 mu_maildir_get_new_path() did not use the right flags separator when creating new file names. 2020-10-10 18:20:16 +02:00
c885df06a1 Use g_stat() instead of stat() with GStatBuf 2020-10-02 09:51:33 +02:00
a4d6302dab mu-sexp: use std::vector instead of std::deque
Using deque gives compilation errors when compiling on
MacOS/clang (where it defaults to libc++ rather than gcc's libstdc++)

```
 #include <deque>
 struct Foo { std::deque<Foo> foos; };
 int  main() { Foo foo; }
```

So, let's use a vector instead; this is a drop-in replacement here, but
unfortunately in some future code...
2020-08-15 10:39:14 +03:00
3691e28316 build: attempt to avoid some libc++ problems
Seems there are problems compiling mu with XCode 11.6 (see build tests);
apparently because of libc++ being different from libstdc++.

clang++ builds works fine as long as we're using libstdc++.
2020-07-26 11:56:25 +03:00
b711ad9151 Fix typos 2020-07-25 16:46:47 +02:00
148c906d8a fix compilation error / clang warnings 2020-07-25 11:26:08 +03:00