Commit Graph

7504 Commits

Author SHA1 Message Date
7d03d5f32a Call file-readable-p only on non-remote files
Calling file-readable-p before reading a message file is fine
when the file is local, but when it's a remote file, doing so incurs
an extra network round trip.  It's not really necessary to do so
either: if the file is missing, we'll fail in the insert-file-contents
below anyway, so we're missing out only on a nicer warning message.
2025-02-22 15:12:06 -05:00
8145df4ab3 Use named function, not lambda, for refresh timer
This change turns the mu4e refresh timer into a named function, making
M-x list-timers output display a name having to do with mu4e instead
of an inscrutable "anonymous lambda" line.
2025-02-22 15:02:09 -05:00
9b741eb6f0 mu4e: use mu4e--started for per-mu4e-run setup
There's mu4e--initialized which needs to run once per emacs session,
but we also  have some setup to do for each "run" (mu4e --> mu4e-quit).
For the latter, we use mu4e--started.

Fixes #2818.
2025-02-22 11:18:36 +02:00
9b87dcbb1f mu4e-update.el: cosmetics 2025-02-22 10:59:32 +02:00
3dbd8b9763 mu4e: handle conversion from pcre regexps
mu server uses PCRE-compatible regular expressions, but mu4e needs
Emacs-style. In simple cases, the two are the same, but when it gets
slightly more complicated they do not.

E.g.,
  (foo|bar) => \(foo\|bar\)

Mu4e can do the conversion automatically, but for this the pcre2el
package (available in MELPA) is required, and is used if user installs
is. Anyway, this code implements the automatic conversion and adds some
documentation.

Fixes #2816.
2025-02-16 18:47:49 +02:00
7baf1bf5e5 mu: remove empty refs + unit-test
Some message can have an _empty_ message-id, e.g. with:
  In-Reply-To: <>
which we weren't filter out.

This would yield and _empty_ Thread-Id, in mu-message.cc

And this would make mu-query believe it had no matches in the first
query, in Query::Private::run_related, and effectively throw away the
results. (Xapian using empty string both for a "not found" result, and
"found an empty string doesn't help either).

So, avoid having an empty reference. Also add a unit-test.

Fixes #2812.
2025-02-13 22:48:03 +02:00
cd3cb64893 update docs 2025-02-07 23:43:37 +02:00
8372be17dd mu-server: more info for mu4e-analyze-last-query
Include the search parameters besides the query.
2025-02-07 23:43:37 +02:00
f20cfc69da mu4e-main: cosmetics 2025-02-07 23:43:37 +02:00
58374d5509 mu4e-transient: improvements
Still experimental of course; rework a bit and add support for mailing-lists.
2025-02-07 23:43:37 +02:00
207ed683d6 mu4e-view: create fake original-article-buffer
That allow for using more Gnus functionality, such as mailing-list support.
2025-02-07 23:43:37 +02:00
355ec62fea mu4e-message: cleanups, add mu4e-message-p 2025-02-07 23:43:37 +02:00
990cb768f2 mu4e-lists: cosmetics
Minor cleanups
2025-02-07 23:43:21 +02:00
aad5fc7df5 mu-server: minor cleanups 2025-02-05 21:07:14 +02:00
1858d80883 guile: update issue template 2025-02-05 21:18:48 +02:00
c0887603c5 guile: avoid body duplication
In message, don't re-fill when unneeded. Add tests.

Fixes #2802.
2025-02-05 21:16:15 +02:00
d33adc923c build: tweaks 2025-02-05 20:14:36 +02:00
055cb774e0 mu4e: show short counts next to maildir/bookmark entry
When you ask for bookmarks or maildirs through mu4e-ask-bookmark,
mu4e-ask-maildir, the counts are displayed in the (default) completions
next to the maildirs. This is a shorter version of the full display,
just showing either the delta or the number of unread messages, if any.
If you don't want to see these counts, there is mu4e-hide-short-counts.
2025-02-05 12:32:52 +02:00
4b691f97cc mu4e.texi: update FAQ 2025-02-04 21:40:00 +02:00
4808ff970d mu4e.texi: update build instructions 2025-02-04 21:31:19 +02:00
08732dab68 mu4e.texi: add example for sent-mail / org-wait 2025-02-04 21:06:17 +02:00
c6f9820d19 mu4e-window: fix typo 2025-02-02 12:09:03 +02:00
09965b2d09 test: add unit-tests for related/new/skip-dups
Test the interaction between related/new/skipped-duplicates. Seems to
work as expected.
2025-02-02 11:38:32 +02:00
e4e75fd2fe Merge pull request #2810 from josephmturner/fix/mu4e-compose-post-hook-docstring
mu4e-compose: fix docstring
2025-01-26 21:40:00 +02:00
7f76c69879 mu4e: auto start mu4e when sending command
Start mu4e if not already; with the transient menus it's easier possible
to try to do things with mu4e before it is started, so handle that
automatically.
2025-01-26 18:56:38 +02:00
a33530e917 mu.1.org: update COLOR information 2025-01-26 18:56:38 +02:00
9fdfd61a3c mu4e.el: cosmetics 2025-01-26 18:56:38 +02:00
1ceefa45e7 IDEAS.org: update 2025-01-24 10:10:31 +02:00
6e07c1f0c7 mu4e.texi: mention transient + update bug info 2025-01-24 10:10:31 +02:00
82fd77c3ed mu4e-transient: update
Still experimental, but a few improvements.
2025-01-24 10:10:31 +02:00
8e33657cc7 mu4e: remove autoload cookie for org-link-set-parameters
Seems it causes problems.
2025-01-23 14:01:53 +02:00
87b1e8e0bf mu4e-compose: fix docstring 2025-01-22 23:37:46 -08:00
62e4b079e4 Merge pull request #2795 from xuhdev/swap-fold
Fix a potentially misnamed function
2025-01-23 08:44:17 +02:00
b8bb92241b mu4e: add autoload cookie for mu4e-org-store-link 2025-01-23 08:39:47 +02:00
8cca957f49 Merge pull request #2798 from josephmturner/fix/autoload-mu4e-org
mu4e-org: autoload org-link-set-parameters
2025-01-23 08:38:04 +02:00
71101c3ee4 mu4e-org: autoload org-link-set-parameters
With this change, mu4e: links now load mu4e if it wasn't loaded already.
2025-01-22 22:15:40 -08:00
5ab6d6c6c3 mu-find: use correct summary-len 2025-01-20 20:40:21 +02:00
a93a41f8ee mu4e: implement experimental transient menu
Add a first version of a "transient" menu for mu4e. It's just a starting
point. It's not yet bound to any key, but you could e.g. add

(require 'mu4e-transient)
(global-set-key (kbd "C-c m") #'mu4e-transient-menu)
2025-01-15 23:02:47 +02:00
29816d5952 mu4e: improve mu4e--message-is-yours-p
Ensure we can use both from headers view and message view.

This helps with "supersede".
2025-01-15 22:02:05 +02:00
74108100d6 build: include IDEAS.org, mu4e command
Include the IDEAS.org with installed data; add a command mu4e-ideas.
2025-01-15 19:24:32 +02:00
e2cd37eaf5 mu-info: add example for ref:, thread: 2025-01-13 22:11:58 +02:00
21d9819eda NEWS.org: updated 2025-01-08 22:12:47 +02:00
0f49fa055c mu4e: add mu4e-analyze-last-query
Add some mu4e command to show the query as analyzed by the server.
2025-01-08 22:12:47 +02:00
5e2b7d52b2 mu-query.7: update documentation
In particular, regex searches.
2025-01-08 22:12:47 +02:00
f54e0c0476 mu-query-parser: cosmetic 2025-01-08 22:12:47 +02:00
5f8e0b71f0 server: make parsed queries available to mu4e
Basically, make the "mu find .... --analyze" information available in
mu4e, through a function mu4e-server-last-query.

This is shows the query as the server saw it, as well as the parse
s-expressions. This can be useful to see how some query is interpreted.
2025-01-08 22:12:47 +02:00
b389160066 mu4e-server: cosmetics 2025-01-08 22:12:47 +02:00
0bec3ed24a NEWS.org: update 2025-01-08 22:12:47 +02:00
f0a25df45e IDEAS.org: add multiple-reply-at-once-idea
Fixes #2799.
2025-01-08 22:12:47 +02:00
fc246f72a3 Merge pull request #2801 from bauermann/fix-msg-body
guile: Fix the mu:body message method
2025-01-08 22:12:19 +02:00