1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-22 07:06:48 +02:00
Commit Graph

443 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema
9b77a12db7 mu: cmd-index: make signal-handler thread-safe 2022-02-07 22:01:11 +02:00
Dirk-Jan C. Binnema
e818e94d0e build: fix some scan-build warnings 2022-02-07 17:36:34 +02:00
Dirk-Jan C. Binnema
b6d7d142f6 server: support flushing the output
So we can get some progress output
2022-02-03 23:04:18 +02:00
Dirk-Jan C. Binnema
12658a3dc6 cmd-server: improve signal handling
use a static signal handling function, which is easier to check than a lambda.
2022-01-30 14:52:41 +02:00
Dirk-Jan C. Binnema
ebc9b88f80 store/query: update for new store/query api
Update to the new API.
2022-01-30 14:52:41 +02:00
Dirk-Jan C. Binnema
be4fc67584 mu-cfind: don't show error when there are no matches
And some cosmetics
2022-01-15 12:48:53 +02:00
Dirk-Jan C. Binnema
cbb2734078 mu-cmd-index: cosmetic 2022-01-14 17:10:56 +02:00
Dirk-Jan C. Binnema
d389dbb5b3 config: minor cleanup 2021-12-19 23:15:42 +02:00
Dirk-Jan C. Binnema
3001c7832d tests: add unit test for cjk handling
This test exposes some problem finding longer CJK strings; see: issue #1428.
The test does not _pass_ yet, so skip it for now.
2021-11-22 22:23:18 +02:00
Dirk-Jan C. Binnema
f71c05805c build: Add some Xapian deps
Fixes: issue #2178.
2021-11-12 23:11:45 +02:00
Dirk-Jan C. Binnema
e672f952a8 index: ignore .update when store is empty
This somewhat emulates the 1.4 behavior.
2021-11-11 21:58:23 +02:00
Dirk-Jan C. Binnema
ce08ec3250 doc: remove 'rebuild' remnants
There's no --rebuild anymore (since a long time), so let's remove some remnants.
2021-11-11 21:27:05 +02:00
Dirk-Jan C. Binnema
503d7224e0 mu: update the index 'processed' -> 'checked'
The 'processed' statistic for indexing was more-or-less synonymous for
'updated'; let's change to something more useful, 'checked' which roughly means
the number of messages checked for updates (typically a cheap timestamp check).
2021-11-10 22:32:28 +02:00
Dirk-Jan C. Binnema
48d3f9cfab tests: move to subdir, move to meson
De-clutter the source directories a bit. Ensure tests build with meson, and
remove from autotools in a few places (no need to do things twice).
2021-11-08 23:58:05 +02:00
Dirk-Jan C. Binnema
6bea54805f build: fix compiler warning
guile: some clang warning

and ensure we get the right Xapian in all places, and fileno is defined.
2021-11-05 09:02:24 +02:00
Dirk-Jan C. Binnema
1c851315ca build: ensure correct xapian.h is found 2021-11-03 22:13:49 +02:00
Dirk-Jan C. Binnema
32849b243c gmime-test: ensure fileno is defined 2021-11-03 22:08:16 +02:00
Dirk-Jan C. Binnema
1c95d28cde config: fix --terminate help display
There is no parameter
2021-11-02 22:25:43 +02:00
Dirk-Jan C. Binnema
c087824126 gmime-test: move to mu/tests
and build it with meson, too.
2021-11-02 22:13:33 +02:00
Dirk-Jan C. Binnema
13c8879305 mu: move test sources to tests/ 2021-11-02 22:12:15 +02:00
Dirk-Jan C. Binnema
428dddd74e lib/mu: fix a few leaks
Thanks to valgrind
2021-10-20 23:06:28 +03:00
Dirk-Jan C. Binnema
3dd721d5a3 clang-format: update c/cc coding style
Update all cc code using .clang-format; please do so as well for future PRs
etc.; emacs has a handy 'clang-format' mode to make this automatic.

For comparing old changes with git blame, we can disregard this one using
--ignore-rev

(see https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame )
2021-10-20 12:26:16 +03:00
Dirk-Jan C. Binnema
5dfd6afdf0 guile: fix user script path detection
Fixes: #2159.
2021-10-18 21:52:37 +03:00
Dirk-Jan C. Binnema
91cf2dcec7 mu-find: unbreak json output
Fixes: #2149

Needs backporting to 1.6.x
2021-09-30 15:41:38 +03:00
Dirk-Jan C. Binnema
9bcebb5cf8 build: avoid some compiler warnings 2021-09-02 23:36:43 +03:00
Dirk-Jan C. Binnema
321e747882 update (c) year
And some whitespace cleanup. The (c) year doesn't matter too much, but
let's close the ticket.

Fixes: #2075.
2021-08-03 12:47:20 +03:00
Dirk-Jan C. Binnema
8a3a125ca3 mu-cmd-server: report errors to mu4e
Even "existential errors" that cause mu-server not to start.
2021-07-31 01:48:24 +03:00
Dirk-Jan C. Binnema
c8a2151cb9 mu: use g_strerror instead of strerror
Some #includes were missing for the latter (but only noticeable on some
systems - e.g., build breaks on Cygwin).

So let's replace with something that works equally everywhere.

Fixes: #2060
2021-07-29 00:02:30 +03:00
Dirk-Jan C. Binnema
9020389a56 mu-cmd-find: Fix links ouput
Special case the footer/header for the links output. Small code
cleanups.

Fix error in docs.

Fixes: #2035.
2021-06-11 10:40:01 +03:00
Peter Hoeg
5f2e72776a fix wrong configuration key reference 2021-06-01 15:13:50 +08:00
Dirk-Jan C. Binnema
950883ad39 cmd-find: show thread-paths with --debug
For... debugging.
2021-02-15 18:41:28 +02:00
Dirk-Jan C. Binnema
af1734f60b mu-config: small cleanup
No need for (void) in c++ signatures
2021-02-15 18:40:54 +02:00
Dirk-Jan C. Binnema
5e359fb739 mu: support '-V' for --version
And describe it in the man-page, which erroneously had '-v' which is
used for --verbose.

Fixes: #1927
2021-02-13 13:33:12 +02:00
Dirk-Jan C. Binnema
7a70942e67 build: experimental support for the meson build system 2021-02-12 00:49:35 +02:00
Dirk-Jan C. Binnema
58e4046cbd test-mu-query: fix MacOS compilation 2021-01-30 13:10:46 +02:00
Dirk-Jan C. Binnema
7fe8b3fcbf test-mu-query: neuter test on non-linux for now
But warn.
2021-01-30 12:58:33 +02:00
Dirk-Jan C. Binnema
72fdfec3eb lib: clean up mu_msg_to_sexp API
move out the QueryMatch
2021-01-29 22:39:21 +02:00
Dirk-Jan C. Binnema
1b3fd722ef test-mu-query: avoid compiler warning 2021-01-27 20:17:20 +02:00
Dirk-Jan C. Binnema
c8ab816b37 mu-find: don't pre/post none-message
This gives a runtime-error. Since some tools (like mu4e-alert) merge
stderr & stdout, they get confused.

Fixes: #1914.
2021-01-27 18:58:00 +02:00
Dirk-Jan C. Binnema
7db2e527a8 mu: remove dead test-mu-runtime 2021-01-27 18:57:33 +02:00
Dirk-Jan C. Binnema
9260e4cbe2 mu: avoid some compiler warnings 2021-01-24 14:43:38 +02:00
Dirk-Jan C. Binnema
930adea3b2 test-mu-cmd: turn off unit-test
It breaks the CI test setup.
2021-01-23 00:50:23 +02:00
Dirk-Jan C. Binnema
035a10ab49 remove obsolete threading tests 2021-01-22 23:24:53 +02:00
Dirk-Jan C. Binnema
98744c66f7 remove some dead code 2021-01-22 23:24:53 +02:00
Dirk-Jan C. Binnema
9a1e749cc5 threads: update unit tests 2021-01-22 22:51:33 +02:00
Dirk-Jan C. Binnema
01ced9a356 mu: Update for new querying APIs 2021-01-22 22:51:33 +02:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
3ff8fd165f cmd-server: use std::fflush 2020-12-07 00:35:58 +02:00
Dirk-Jan C. Binnema
0ef88af34e cmd-server: fflush before reading next line
Seems this is necessary on Windows/MSYS2. HT to juanjosegarciaripoll.
2020-12-06 17:04:10 +02:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
f7452761cb index: improve error handling 2020-11-07 11:43:11 +02:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
2804087b3a mu: use updated Query API 2020-11-04 23:35:30 +02:00
Dirk-Jan C. Binnema
2135844e1b fix some compiler warnings 2020-11-01 14:25:25 +02:00
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
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
Dirk-Jan C. Binnema
38b5c25762 mu-index: make progress a bit smoother
Avoid the lock
2020-10-13 23:36:19 +03:00
Dirk-Jan C. Binnema
d1b0938187 mu-cmd-cfind: include <array> 2020-08-15 11:04:36 +03:00
Dirk-Jan C. Binnema
5402e00fc5 mu-cmd-find: don't mark rainbow constexpr
clang/libc++ don't allow constexpr:

```
mu-cmd-find.cc:498:40: error: constexpr variable cannot have non-literal type 'const std::array<Color, 6>' (aka 'const array<Mu::MaybeAnsi::Color, 6>')
        constexpr std::array<Color, 6> rainbow = {
```

So let's make it mere `const` instead.
2020-08-15 10:51:04 +03:00
David
857a4227a9
Fix mu help doesn't show the init command. Fix a sentence. 2020-08-14 00:00:54 +10:00
Dirk-Jan C. Binnema
148c906d8a fix compilation error / clang warnings 2020-07-25 11:26:08 +03:00
Dirk-Jan C. Binnema
092084b987 cmd: Update find, server for Sexp changes 2020-07-13 21:43:59 +03:00
Dirk-Jan C. Binnema
c8eff488ba cosmetics 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
ba13a62e90 cmd-server: Update to use the new Indexer 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
f9415caab7 cmd-index: Use the new Indexer 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
10dbddec79 mu-cmd: Use the new Store API 2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
4e6bd7dfdf lib/index: Implement new indexer
Implement a new message indexer consisting of a single-threaded scanner
and a multi-threaded indexer.

This allows for a number of optimizations as well as background
indexing, though this initial version should be behave similar to the
old indexer.
2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
0e50bfc02c mu: better output
Improve the output of various mu commands
2020-06-27 17:07:00 +03:00
Dirk-Jan C. Binnema
63a8c72b74 config: add message-size, batch-size option for init 2020-06-27 11:36:34 +03:00
Dirk-Jan C. Binnema
c8e8004f29 server: show complete help by default
And add :terse to get a one-line description.
2020-06-27 10:24:37 +03:00
Dirk-Jan C. Binnema
68533cee0d mu: use g_printerr for errors, instead of g_warning
With the new logging setup, we need g_printerr
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema
9b2746dce5 server: use symbolic names with ':'
After the command-parser changes
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema
3dc4b93989 mu4e/server: implement mark-as-read for (view ...)
Instead of a multi-step process to display an unread message (ie. get
the original, notice it's unread, then update it, replace the message
with update one etc.), we now handle that in the (view /./..) command on
the server side.

Simplifies things, and is faster (which could be noticeable, esp. if
e.g. signature verification is part of the process)
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema
0b427e5ee8 server: use Mu::Store in c++ mode
I.e. Mu::Store instead of mu_store_*
2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema
a9fab4abcc mu: convert command-line tools to c++ 2020-06-13 16:56:41 +03:00
Dirk-Jan C. Binnema
87eff66b7d test-mu-cmd: temporarily turn off test 2020-06-11 21:49:55 +03:00
Dirk-Jan C. Binnema
9fa09f2c16 server: use sexp builder for return parameters
Generate sexps programmatically rather than with string-formatting,
using the new mu-sexp capabilities.
2020-06-06 14:27:25 +03:00
Dirk-Jan C. Binnema
3afdc08d50 lib/utils: build s-expression programmatically building
Allow for programmatically buildings sexps, rather that using raw
strings.
2020-06-06 14:27:25 +03:00
Dirk-Jan C. Binnema
3e233cba9a rework logging system
reimplement the old mu-log.[ch] into mu-logging.{cc,hh}

If available (and using an appropriately equipped glib), log to the
systemd journal

Only g_criticals have stderr output, all the other g_* go to the log
file / journal.
2020-05-30 13:29:44 +03:00
Dirk-Jan C. Binnema
b60cfc7df2 mu-server: restore readline-support
Restore readline support for `mu server' (but _only_ when readline is
found and when in tty mode)
2020-05-25 18:34:42 +03:00
Dirk-Jan C. Binnema
53b553124c
Merge pull request #1663 from czan/master
mu: always sort descending within threads
2020-05-17 14:45:39 +03:00
Jonas Bernoulli
564d892701 Fix typos 2020-05-12 23:56:55 +02:00
Dirk-Jan C. Binnema
55cac6f2e5 mu-server: disable readline support for now
Seems to be causing problem in non-interactive mode
2020-05-11 22:04:01 +03:00
Dirk-Jan C. Binnema
f3b70bf049 mu: support --eval for server testing
Add a hidden command-line argument, just for testing.
2020-05-05 21:24:37 +03:00
Carlo Zancanaro
928dc5e0fc mu: always sort descending within threads 2020-04-29 10:55:19 +10:00
Dirk-Jan C. Binnema
06d3deb4cc guile: path updates for 2.2 2020-04-20 00:01:07 +03:00
Dirk-Jan C. Binnema
2da1ddbd56 mu/config: properly close the config group 2020-04-19 22:24:44 +03:00
Dirk-Jan C. Binnema
46ae663937 mu4e: use faster count queries, document differences
Use faster queries for counting read/unread messages; document why the
results might differ from what you get doing a normal search.
2020-03-15 01:23:01 +02:00
Dirk-Jan C. Binnema
1d14b82595 mu index: remove duplicate cmdline parameter 2020-03-02 23:18:58 +02:00
Dirk-Jan C. Binnema
f0a0c3ad46 server: reinstate readline support (when available) 2020-03-01 02:08:23 +02:00
damon-kwok
56b434347e error fix for gcc 9.x 2020-02-29 20:40:22 +08:00
Dirk-Jan C. Binnema
36a5d291d9 server/mu4e: update decrypt/verify options
"extract-encrypted" -> "decrypt"

and a separate option for "verify"
2020-02-28 00:43:08 +02:00
Dirk-Jan C. Binnema
4226a6e47f server: better readline check
Avoid _partial_ setups.

Fixes #1594.
2020-02-27 18:55:08 +02:00
Dirk-Jan C. Binnema
0e75f84228 server/find: handle maxnum correctly
If it's nil, use '-1' so we get unlimited results.

Fixes #1592.
2020-02-26 19:32:53 +02:00
Dirk-Jan C. Binnema
06c9b17a4e mu: remove mfind command
Better document what find does instead.
2020-02-24 21:18:54 +02:00
Dirk-Jan C. Binnema
adbb57c098 server: enable repl history 2020-02-21 19:19:30 +02:00
Dirk-Jan C. Binnema
ed1fcda81a server: use MU_QUERY_FLAG_SKIP_UNREADABLE by default 2020-02-21 01:42:37 +02:00
Dirk-Jan C. Binnema
8d6d151090 server: support readline history / persistence
When using readline, remember the last 50 commands; persist.
2020-02-21 01:17:23 +02:00
Dirk-Jan C. Binnema
000c19e505 server: improve error message 2020-02-18 12:03:42 +02:00
Dirk-Jan C. Binnema
6b07819d9a mu4e/mu-server: use :descending, :no-view parameters
There was some confusion between mu4e and mu-server.
2020-02-18 12:03:42 +02:00