Commit Graph

17 Commits

Author SHA1 Message Date
5235e16f54 scm: support configuration
Support a configuration function, with the system-configuration.

Update docs.

Add a tests for language, using the configuration to see if we support
it.
2026-08-20 15:05:31 -07:00
043f0ce337 mu-scm: don't depend on dir order in tests
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
2026-08-20 15:04:27 -07:00
8afef75b30 scm: add convenience methods root-maildir, personal-addresses
For a store, so to avoid assoc-ref.
2026-08-20 15:04:27 -07:00
52f44653b0 scm: return empty lists instead of #f for some methods
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'.
2026-08-20 15:04:27 -07:00
f8160e152b scm: implement store personal?, rename all-labels->labels
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.
2026-08-20 15:04:26 -07:00
910cec591f scm: add support for labels + tests
Add procedures 'label' (for a message) and all-labels (for a store).
2025-08-15 21:03:19 +03:00
1b3199a552 mu-scm: implement message->alist
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-12 09:35:37 +03:00
6d72aa5c7f mu-scm: implement store->alist
Get information about the store as an alist.

Scm + cc + test + doc.
2025-07-12 09:35:37 +03:00
7b4aea432e mu-scm: add filename procedure for mime-part 2025-07-12 09:35:37 +03:00
b02aa57686 mu-scm: implement mime-part handling, refact
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-07-07 10:57: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
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
caeb2ab3c9 scm: add some unit-tests
Some basic unit tests. More will follow.
2025-06-19 14:55:33 +03:00