summaryrefslogtreecommitdiff
path: root/scm
AgeCommit message (Collapse)Author
2026-03-07scm: support --evalDirk-Jan C. Binnema
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.
2025-12-11scm: update example with time->stringDirk-Jan C. Binnema
Example was still using the obsolete name. Fixes #2891
2025-11-30mu-scm: don't depend on dir order in testsDirk-Jan C. Binnema
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
2025-11-29scm: mention guix in manualDirk-Jan C. Binnema
Fixes #2889.
2025-11-29scm: add convenience methods root-maildir, personal-addressesDirk-Jan C. Binnema
For a store, so to avoid assoc-ref.
2025-11-29scm: return empty lists instead of #f for some methodsDirk-Jan C. Binnema
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'.
2025-10-11scm.texi: some improvements in textDirk-Jan C. Binnema
2025-09-06scm: small improvements to manualDirk-Jan C. Binnema
2025-08-26Replace "the the " with "the "Anton Mosich
2025-08-26scm: implement store personal?, rename all-labels->labelsDirk-Jan C. Binnema
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.
2025-08-25scm: clean up scm runningDirk-Jan C. Binnema
Split run_script / run_repl more clearly; update callers.
2025-08-24scm: add support for loggingDirk-Jan C. Binnema
Add functions debug, info, warning, critical which log to the mu logging facilities.
2025-08-24scm: implement blocking / non-blocking modesDirk-Jan C. Binnema
Implement running the REPL on background thread. That way, we can _share_ the store&.
2025-08-22scm: message_parts: use cons instead of appendDirk-Jan C. Binnema
It's faster.
2025-08-22scm: to_scm: use cons, not appendDirk-Jan C. Binnema
It's faster.
2025-08-22scm: all_labels: use cons instead of appendDirk-Jan C. Binnema
it's faster.
2025-08-22scm: cfind: use cons instead of appendDirk-Jan C. Binnema
It's faster.
2025-08-22scm: mfind: use cons instead of append, eval lazyDirk-Jan C. Binnema
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)
2025-08-17scm: update documentationDirk-Jan C. Binnema
Describe the new --listen flag, and give some example of its usage, including some snippet for using it with Emacs/Geiser.
2025-08-17scm: support --listen flag for udsDirk-Jan C. Binnema
Support the --listen flag to mu scm, to start listening on a Unix domain socket.
2025-08-15scm: add support for labels + testsDirk-Jan C. Binnema
Add procedures 'label' (for a message) and all-labels (for a store).
2025-08-15tests: only build when neededDirk-Jan C. Binnema
Build the tests lazily, i.e., not before `meson test`. This helps with build-times.
2025-07-19mu-scm: avoid compiler warningDirk-Jan C. Binnema
designated initializers are a C++20 feature.
2025-07-12mu-scm: implement message->alistDirk-Jan C. Binnema
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.
2025-07-12mu-scm: use cc-prefix for C++ objectsDirk-Jan C. Binnema
Both in SCM and C++, use cc- for functions and objects defined in C++. Makes it a little easier to track.
2025-07-12mu-scm: add docstrings for symbolsDirk-Jan C. Binnema
Use some snippet from https://git.wolfsden.cz/guile-wolfsden/tree/wolfsden/documentation.scm and document some symbols (variables, classes etc.)
2025-07-12mu-scm: implement store->alistDirk-Jan C. Binnema
Get information about the store as an alist. Scm + cc + test + doc.
2025-07-12mu-scm: add filename procedure for mime-partDirk-Jan C. Binnema
2025-07-07mu-scm: implement mime-part handling, refactDirk-Jan C. Binnema
Implement accessing the MIME-parts + docs + test. Implement saving attachments to file. Implement creating messages from files. Refactor / rename functions to be more uniform.
2025-06-30mu-scm-message: don't require c++ >= 17Dirk-Jan C. Binnema
2025-06-30mu-scm: add string->time and time->stringDirk-Jan C. Binnema
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-30mu-scm: add support for thread-idDirk-Jan C. Binnema
Code + doc + test
2025-06-30mu-scm: add support for mailing-listDirk-Jan C. Binnema
method + doc + test
2025-06-30mu-scm: add support for referencesDirk-Jan C. Binnema
Message method + test + docs.
2025-06-30mu-scm: defer scm exceptions with c++ throw/catchDirk-Jan C. Binnema
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-30mu-scm: add full-message support (body/header)Dirk-Jan C. Binnema
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-30mu-scm: add options, some tweaksDirk-Jan C. Binnema
Add the (options) procedure + docs. Some internal tweaks / clean-ups.
2025-06-19mu-scm: add texinfo documentationDirk-Jan C. Binnema
2025-06-19scm: add some unit-testsDirk-Jan C. Binnema
Some basic unit tests. More will follow.
2025-06-19scm: new guile/scheme bindingsDirk-Jan C. Binnema
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.