mu embeds a "vendored" subset of the libfmt package under thirdparty; but it's
better to use the system-package if the user has one.
So, use the system package if found or user -Duse-embedded-fmt=true is
specified.
New stable version. Some small fixes and doc updates; big new thing are
the new SCM bindings (under scm/), which will replace the
long-deprecated old bindings (under guile/).
Overall:
- In 'mu init', --my-address has been renamed into --personal-address
for consistency. The old name still works.
Mu4e:
- Emacs bookmarks can be now also be created for mu4e queries; see
the mu4e-emacs-bookmark-policy defcustom
- Support dash when completing maildirs
- Add defcustom for mu4e-compose-jump-to-reasonable-place, so it can be
overridden, e.g. in compose hooks.
- In mu4e, make indexing snappier when there no new messages
SCM:
- Experimental new Guile bindings under scm/, including a reference
manual and unit tests.
Implement message->alist; i.e. to convert the mu4e-style plist into an idiomatic
alist. Add it as a message slot, initializing it lazily.
Update the message accessors to use the alist.
Add tests, docs.
This function only appeared in gmime versions newer than the minimum one we
require; since we only need this function in the new/experimental "scm", we make
the latter conditional on that function.
Fixes#2859.
Implement accessing the MIME-parts + docs + test.
Implement saving attachments to file.
Implement creating messages from files.
Refactor / rename functions to be more uniform.
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?
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.
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.
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.