| Age | Commit message (Collapse) | Author |
|
With the ~--eval~ option you can evaluate an expression in mu/scm
environment. For example:
$ mu scm --eval \
'(format #t "found ~d match(es)\n" (length (mfind "hello")))'
found 7173 match(es)
Add command-line parameter and implement.
|
|
Example was still using the obsolete name.
Fixes #2891
|
|
Some of the tests were using (mfind "") to find messages, but since some
messages don't have dates the order is implicitly defined by the directory
order. This usually works, but not always (i.e. guix).
So let's make the behavior deterministic.
Fixes #2888
|
|
Fixes #2889.
|
|
For a store, so to avoid assoc-ref.
|
|
Some methods that returned lists would return ~#f~ when there were no
results (e.g., to, from, cc, bcc, references, labels); however, it's
nicer to return an empty list instead, which what we now do. Technically a
breaking change, but justified while we are still 'experimental'.
|
|
|
|
|
|
|
|
Add a method personal? to check if some string looks like a personal address;
add docs / tests as well.
Rename the all-labels method into simply 'labels'
Make some define* into define-method, for consistency.
|
|
Split run_script / run_repl more clearly; update callers.
|
|
Add functions debug, info, warning, critical which log to the mu logging
facilities.
|
|
Implement running the REPL on background thread. That way, we can _share_ the
store&.
|
|
It's faster.
|
|
It's faster.
|
|
it's faster.
|
|
It's faster.
|
|
For the list building, using cons is much faster. So traverse the results
_backwards_, and then cons gives us the right order.
Don't eval when creating the list, but do so lazily (when requested in the
message, in mu-scm.scm)
|
|
Describe the new --listen flag, and give some example of its usage, including
some snippet for using it with Emacs/Geiser.
|
|
Support the --listen flag to mu scm, to start listening on a Unix domain socket.
|
|
Add procedures 'label' (for a message) and all-labels (for a store).
|
|
Build the tests lazily, i.e., not before `meson test`. This helps with
build-times.
|
|
designated initializers are a C++20 feature.
|
|
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.
|
|
Both in SCM and C++, use cc- for functions and objects defined in C++.
Makes it a little easier to track.
|
|
Use some snippet from
https://git.wolfsden.cz/guile-wolfsden/tree/wolfsden/documentation.scm
and document some symbols (variables, classes etc.)
|
|
Get information about the store as an alist.
Scm + cc + test + doc.
|
|
|
|
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?
|
|
Code + doc + test
|
|
method + doc + test
|
|
Message method + test + docs.
|
|
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.
|
|
Add the (options) procedure + docs.
Some internal tweaks / clean-ups.
|
|
|
|
Some basic unit tests. More will follow.
|
|
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.
|