Commit Graph

15 Commits

Author SHA1 Message Date
24e25f9663 scm: mfind: use cons instead of append, eval lazy
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-22 09:01:59 +03: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
d24d87336a mu-scm: use cc-prefix for C++ objects
Both in SCM and C++, use cc- for functions and objects defined in C++.
Makes it a little easier to track.
2025-07-12 09:35:37 +03:00
5c52ccc256 mu-scm: add docstrings for symbols
Use some snippet from
  https://git.wolfsden.cz/guile-wolfsden/tree/wolfsden/documentation.scm
and document some symbols (variables, classes etc.)
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
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