Commit Graph

7510 Commits

Author SHA1 Message Date
54ec919e8f mu4e: allow mu4e-get-mail-command to be a function
For making it easier to influence the behavior.
2025-07-05 11:04:37 +03:00
652c7dc6b5 mu-mime-object.hh: fix some typos 2025-07-05 11:04:37 +03:00
3f53e4b439 mu-scm-message: don't require c++ >= 17 2025-06-30 22:52:13 +03:00
9360a641a9 mu-scm: add string->time and time->string
Replace the iso-date->time-t and v.v. functions with something more
customizable. Add more tests.

Use some (internal for now) %preferences variable for the defaults. TBD... maybe
should become a fluid?
2025-06-30 22:11:46 +03:00
f2699a4b95 mu-scm: add support for thread-id
Code + doc + test
2025-06-30 21:57:29 +03:00
cc39c9cae6 mu-scm: add support for mailing-list
method + doc + test
2025-06-30 21:57:29 +03:00
f66172db3b mu-scm: add support for references
Message method + test + docs.
2025-06-30 21:57:29 +03:00
123c0c1bc8 mu-scm: defer scm exceptions with c++ throw/catch
SCM exception are "non-local exits", which mean that c++ objects don't get their
DTOR called when leaving the scope.... this break RAII, leaks mem etc.

So instead, we avoid SCM exceptions (where we can), and throw C++ exceptions,
and only use SCM-expections in the catch block.
2025-06-30 21:57:29 +03:00
ca46c09ccb mu-scm: add full-message support (body/header)
Implement support for "header" and "body" procedures, with require loading the
message file from disk, and create a foreign object for the message.

We keep those alive in a vector, and hook up a finalizer.

Update docs & tests as well.
2025-06-30 21:57:29 +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
e647ca924d server: make index log back-off a bit more concise 2025-06-30 21:50:16 +03:00
2c3ee5bd7b Merge branch 'index-sleep-exp-backoff' 2025-06-30 21:49:48 +03:00
0d7ddba9fd fix typo 2025-07-01 00:48:40 +08:00
507925ca4b indexer sleep exp backoff 2025-07-01 00:34:36 +08:00
9763ca0830 mu4e-folder: don't offer "other" if there are none
When mu4e is not started yet, we don't have "other" maildirs; document and don't
add the 'other' option.

Fixes #2855.
2025-06-30 19:24:06 +03:00
97fbaf1771 mu4e-headers: use string-width, not length for alignment
For e.g., for CJK languages
2025-06-28 18:07:03 +03:00
417c070e27 build: better handle non-guile build 2025-06-24 18:15:03 +03:00
ef502b77c6 NEWS.org: update for scm 2025-06-19 14:58:03 +03:00
a624518441 mu-scm: add texinfo documentation 2025-06-19 14:58:03 +03:00
24a6d7725e mu-scm: add man-page
Not much yet.
2025-06-19 14:58:03 +03:00
caeb2ab3c9 scm: add some unit-tests
Some basic unit tests. More will follow.
2025-06-19 14:55:33 +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
7f274fe518 mu-test: fix logging verbosity
We were logging _everything since the g_log_set_handler was only set for the
default domain, not "mu". Let's fix this.
2025-06-16 10:57:36 +03:00
eb75141d0a mu_utils: add to_string_char
Like to_string_gchar, but for malloc/free strings.
2025-06-14 13:14:03 +03:00
6441d26875 mu4e-notification: avoid error when byte-compiled
Ensure eval-when-compile macro is defined
2025-06-12 23:38:29 +03:00
8cded9d464 mu4e.texi: improve dired note 2025-06-12 14:05:25 +03:00
ceed7a2a72 README.org: update re: development branch
Fixes #2853.
2025-06-11 11:24:19 +03:00
151917ce51 mu-maildir.cc: fix typo
Use the right #define in the dirent check. Seems we were always following the
slow path.
2025-06-10 10:04:53 +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
155725ff74 fdl.texi: only need one copy in source tree
No need for identical files in mu4e / guile dirs, move to build-aux.
2025-06-10 10:04:53 +03:00
d7011e067d Merge pull request #2851 from sarg/fix-notifications
mu4e-notification: ignore dbus errors
2025-06-09 10:45:44 +03:00
154a68d948 meson.build: tweak guile build 2025-05-31 12:37:13 +03:00
c9b5755d68 mu-cmd: update docstrings 2025-05-31 08:42:51 +03:00
f6235e95b9 Makefile: turn off asan in when testing
It doesn't like Guile.
2025-05-31 08:41:31 +03:00
cc10fbd22a man: update mu-index manpage
Make it a bit more explicit what we ignore.
2025-05-31 08:40:53 +03:00
9496d6523d lib: improve xapianizer / xapian_term 2025-05-26 09:17:37 +03:00
668d5ffb99 contacts/contacts-cache: cleanups
refactor code a bit; move sorting to Contact

remove unneeded hashing in Contact (just use the email address)
2025-05-26 09:17:37 +03:00
88ce65df40 mu4e-notification: ignore dbus errors
notifications protocol says that an empty dbus error message is sent
back when the notification to close no longer exists:
https://specifications.freedesktop.org/notification-spec/latest/protocol.html#command-close-notification

Some notification daemons don't signal errors, but others do (e.g.
EDNC). Adjust the code to be conformant to the spec.
2025-05-25 10:02:39 +02:00
9f08397fdd NEWS.org: update 2025-05-25 08:39:46 +03:00
cc1112d342 tests: skip some slow tests when valgrinding 2025-05-24 21:04:49 +03:00
e367f5b0d1 mu-scanner: improve ignore_dentry check 2025-05-24 19:18:52 +03:00
452969355c mu-test: add valgrind check
Make it a bit easier to skip some tests when running under valgrind.
2025-05-24 19:18:10 +03:00
782e6cbe05 mu4e.texi: mention keep-crlf
Add an entry to the FAQ for the keeping CRLF in
  mm-decode-content-transfer-encoding

Fixes #2849.
2025-05-24 17:18:54 +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
3e05452343 mu4e: headers/search refactor search a bit
Move some items from mu4e-headers (mu4e--search-execute) to mu4e-search. The
code in mu4e-headers should focus on the output, and mu4e-search on the search
itself.
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
ef71b5372f mu4e: fix compiler warnings 2025-05-21 22:23:26 +03:00
acef5b2381 mu4e: implement mu4e-emacs-bookmark-policy
Allow for creating Emacs bookmarks for either messages (as before & the
default), queries or as the user.
2025-05-21 22:23:26 +03:00
bd23e293f5 Merge pull request #2850 from jman-schief/maildirs-with-dash
Support dash when autocompleting maildirs
2025-05-21 22:22:10 +03:00