Age | Commit message (Collapse) | Author |
|
|
|
alist-get uses eq as the default test function, so it was only working
by chance. Rather than calling alist-get with three additional
arguments in order to specify TESTFN, switch to assoc.
|
|
|
|
Implement message ID and inbox getters. As noted in the comment,
leave the mid->thread functionality undefined for now, because I don't
know if there's a good way to do that in Gnus.
These functions should probably learn how to work from
gnus-summary-mode too, but leave that for later. (Similarly, -notmuch
should also probably support notmuch-{search,tree}-mode in addition to
notmuch-show-mode.)
|
|
This will be used in the upcoming piem-gnus.el as well.
|
|
The function for generating the default branch name may need to be
tweaked to give useful suggestions in practice. Let's see.
|
|
When passing a name like "a.mbx" to b4-am's --mbox-name, only the "a"
is retained; b4-am unconditionally appends the ".mbx". Avoid passing
a name with ".mbx" to make it clearer that the caller does not control
the extension.
Reduce the base name to "m" to avoid a message ID ending with ".*"
being treated as an extension, which would require analyzing the
message ID in order to guess what output name b4-am will use.
Finally, name the custom thread mbox with "-piem" rather than
"-thread" (which was chosen to mimic b4-mbox) so it's more obvious who
created the file when later inspecting the directory.
|
|
The subprocess handling needs reworked and polished, so this helper
likely won't stay around in its current form for long, but it's still
useful to send git through it so that a failure signals an error and
shows the output.
|
|
message-narrow-to-headers-or-head will narrow to the message headers
based on hitting two consecutive new lines or based on a match for
mail-header-separator (by default "--text follows this line--"). Only
the former condition is relevant in the context of a non-draft
message, so use message-narrow-to-headers, which doesn't consider
mail-header-separator.
|
|
|
|
|
|
My main motivation for this move is that it works well with Guix
environments. And outside of that context, it doesn't seem like it'd
be any more of a hassle to set EMACSLOADPATH rather than individual
variables like TRANSIENT_DIR in config.mk.
|
|
Aside from switching the 'b4 am' process to an asynchronous one, the
am-ready commands may not need a lot of work. The more interesting
variant, piem-b4-am-from-mid, can find an associated code repository
and am the patch, but there's a lot that needs to be fleshed out.
|
|
This does nothing useful, but the idea is that it never will do much
of anything on its own. Different libraries---piem-notmuch,
piem-elfeed, piem-gnus, and so on---will populate its hooks, teaching
it how to extract information.
|
|
|
|
|