Commit Graph

6836 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema bd17c218fb mu-flags: get flag-info for shortcut, too 2023-08-21 18:29:21 +03:00
Dirk-Jan C. Binnema c1950ae0cb mu-utils: support UTC in parse_date_time
Parsing dates known to be in UTC.
2023-08-21 18:29:21 +03:00
Dirk-Jan C. Binnema f73aad2b41 better handle maildir cache
- get an updated maildir list after indexing
- add mu4e-added items to the list opportunistically

Remove mu4e-clear-caches / mu4e-cache-maildir-list to mu4e-obsolete.el

Fixes #2537.
2023-08-19 20:04:50 +03:00
Dirk-Jan C. Binnema 15f08488d3 remove Mu::format, use mu_format
Use the new fmt-based formatting.
2023-08-19 20:04:50 +03:00
Dirk-Jan C. Binnema ce397f3c25
Merge pull request #2538 from a3a3el/man-page-fixes/v1
Man page fixes
2023-08-19 18:07:19 +03:00
Jeremy Sowden f56530d96a man: fix rendering of form-feed in mu-view.1
ox-man exports the string:

  \\f (=form-feed=)

as:

  $\(\fIform\-feed\fP)

Troff then complains:

  troff:tmp/usr/share/man/man1/mu-view.1:28: warning: special character '\f' not defined

and renders it as:

  $Iform-feed)

Insert a zero-width space character (U+200B) between the \\ and the f.
This causes the string to be exported as:

   \\​f (\fIform\-feed\fP)

which troff renders correctly.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2023-08-19 12:31:43 +01:00
Jeremy Sowden 0763d5d92b man: correct spelling error in mu.1
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2023-08-19 12:00:22 +01:00
Jeremy Sowden 671a958085 man: fix formatting of some man-page references
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
2023-08-19 12:00:21 +01:00
Dirk-Jan C. Binnema 0b62640962 build: bump version to 1.11.15, update NEWS.org 2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema 5dcdb88806 mu4e-server: use updated handling for tempfile handling
Update for the server updates, to handle temp-file / normal args uniformly
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema 1a1eb1f906 server: refactor allow-for-temp-file handling
Add a helper OutputStream class so both "normal" and temp-file code can
be handled uniformly.
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema c554e5194a mu4e: get maildirs from server
We were determining the list of maildirs using, but his is rather *slow*.
So instead, get it from the server, through a "data" call.
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema a16d288c70 server: implement 'data' handler / maildirs
Add a new command 'data' for getting kinds of 'data'. There's one kind
for now: "maildirs". This retrieves the list as per Store::maildirs().
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema e52030c049 store: expose maildirs() method
This gets the current list of maildirs by asking the scanner to do a
file-system search.
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema f5beea2eb2 scanner: add maildir-scan mode; improve portability
Use d_ino (struct dirent) only when available.

Implement a mode for scanning just maildirs (ie. the dirs with cur / new
in them). Use d_type (if available) to optimize that.
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema 8caf504381 store: update "move" and some related APIs
Update test cases as well.
2023-08-17 22:42:25 +03:00
Dirk-Jan C. Binnema e64b343c9d
Merge pull request #2536 from Chris00/master
Don't use the original message `To` for a reply `To` field
2023-08-17 22:27:34 +03:00
Christophe Troestler 3d0120d024 Don't use the original message `To` for a reply `To` field
Fixes https://github.com/djcb/mu/issues/2535
2023-08-16 23:03:06 +02:00
Dirk-Jan C. Binnema 6168d776e1 server: fix contacts handler
Condition was b0rked; clean up code a bit.
2023-08-11 19:57:00 +03:00
Dirk-Jan C. Binnema 11df0bedce utils: add mu_print[ln] for ostreams 2023-08-11 19:57:00 +03:00
Dirk-Jan C. Binnema 677a6d3882 mu4e-search-query: include unread counts if available
In the completion annotation.
2023-08-10 17:11:24 +03:00
Dirk-Jan C. Binnema dd5d5e6bbf mu4e: fix byte-compiler warnings 2023-08-10 09:14:07 +03:00
Dirk-Jan C. Binnema e9ce45fde9 build: bump version to 1.11.14 2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema 7aa38d0b56 option/result: add "unwrap"
Sprinkle some more Rust on Option & Result
2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema 04219b55f7 message & friends: make formattable
So we can easily debug-print them.
2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema 4dcd457b7f mu4e-update: small doc improvement 2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema d5129052df mu4e: implement mu4e-search-query
Pick a query using completing-read with a new command mu4e-search-query.
Update docs.
2023-08-09 23:24:47 +03:00
Dirk-Jan C. Binnema 40a73c70f2
Merge pull request #2530 from danielfleischer/to-cc-pr
To/Cc Lists fix
2023-08-09 23:23:22 +03:00
Dirk-Jan C. Binnema 52e3a4766e guile: make guile-extension-dir configurable
We use
   guile_dep.get_variable(pkgconfig: 'extensiondir')
but that's not good for everyone.
2023-08-09 22:02:09 +03:00
Dirk-Jan C. Binnema 31bb84182b mu4e: add prefix arg to mu4e-quit
Remove mu4e-main-quit-or-bury and simply update mu4e-quit
to take a prefix which, if non-nil, make mu4e-quit
bury the buffer rather than quite mu4e.

Also make the mu4e check for an existing mu4e buffer, and if found,
switch to it rather start mu4e.
2023-08-07 23:15:48 +03:00
Dirk-Jan C. Binnema 843c086b2c indexer: fix build 2023-08-07 19:09:19 +03:00
Dirk-Jan C. Binnema fabeb4a89a index: fix lazy indexing
After the previous changes
2023-08-07 08:49:44 +03:00
Dirk-Jan C. Binnema ab96211799 mu4e-mime-parts: use mm-handle-filename
So we get filenames in some cases we were missing
2023-08-06 23:24:12 +03:00
Daniel Fleischer 8b2437fc69
mu4e-draft: changes in to/cc lists creation
- Bug fix.
- Reply-all consistency, related to #2524
2023-08-06 18:44:10 +03:00
Dirk-Jan C. Binnema 253b44043b indexer: disable lazy check for "full" scan
Lazy would actually do _more_ work a full scan.
2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema 4ecf386cda utils-file: don't use regexp in join_paths
It's slow.
2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema fa2ceec4ae man: add performance notes to find/index/server manpages 2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema 01a516f0d3 server: tweak sexp generation 2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema 4945e699c8 lib/mu: use fmt-based time/date formatting
For a small speedup
2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema 27c07280b1 utils: replace time_to_string with fmt-based formatting
It's faster; make "mu find" ~5-10% faster, and removes some code we no
longer need.
2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema bdbf47c80f Makefile: improve benchmark targets 2023-08-06 16:19:43 +03:00
Dirk-Jan C. Binnema 6dfb2aae7b server: don't use structured-bindings / lambda for contacts_handler
Older clang doesn't like that.
2023-08-04 22:00:51 +03:00
Dirk-Jan C. Binnema 75c37a506b server: don't use structured-bindings / lambda
Older clang doesn't like that.
2023-08-04 21:44:58 +03:00
Dirk-Jan C. Binnema d47c92c287 docs: update README/NEWS. 2023-08-04 21:39:01 +03:00
Dirk-Jan C. Binnema f89e4c26d7 server: attempt to appease clang (pair/tuple)
https://stackoverflow.com/questions/46114214/lambda-implicit-capture-fails-with-variable-declared-from-structured-binding
2023-08-04 21:21:49 +03:00
Dirk-Jan C. Binnema 589327afd7 build: bump version to 1.11.13, update NEWS.org 2023-08-04 00:09:02 +03:00
Dirk-Jan C. Binnema 051fdb4ccf lib/config: set default batch-size to 50000
The default was 250000 but that led to problems on some systems with
limited memory, esp. since mu's indexing does quite a bit more than in
the olden days (e.g. html mail).

Fixes #2529.
2023-08-04 00:09:02 +03:00
Dirk-Jan C. Binnema 25151aad00 mu-query: small optimization tweaks 2023-08-04 00:09:02 +03:00
Dirk-Jan C. Binnema aea95b5be0 mu-server: use strings, not sexps object (optimization)
When passing messages to mu, often we got a (parsed from string)
message-sexp from the message document; then appended some more
properties ("build_message_sexp").

Instead, we can do it in terms of the strings; this is _a little_
inelegant, but also much faster; compare:

(base)
[mu4e] Found 500 matching messages; 0 hidden; search: 1298.0 ms (2.60 ms/msg); render: 642.1 ms (1.28 ms/msg)

(with temp-file optimization (earlier commit)
[mu4e] Found 500 matching messages; 0 hidden; search: 1152.7 ms (2.31 ms/msg); render: 270.1 ms (0.54 ms/msg)

(with temp file optimize _and_ the string opt (this commit)
[mu4e] Found 500 matching messages; 0 hidden; search: 266.0 ms (0.53 ms/msg); render: 199.7 ms (0.40 ms/msg)
2023-08-04 00:09:02 +03:00
Dirk-Jan C. Binnema 1018f0f0a1 mu-document: Make sexp() lazy (optimization)
This makes queries where we don't need the sexp much faster; e.g.

before:
   mu find "a" --include-related  47,51s user 2,68s system 99% cpu 50,651 total
after:
  mu find "a" --include-related  7,12s user 1,97s system 87% cpu 10,363 total
2023-08-04 00:09:02 +03:00