[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 30 Nov 2020 08:03:49 -0700
Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)
I wrote a function which can do something useful with the body of an
email. If worse comes to worse, I can run this function manually after
opening the email, but my plan was to use splitting to automate this.
As documented in "(gnus)Fancy Mail Splitting", splitting based on the
content of the email can be done with nnimap by setting
'nnimap-split-download-body' to 't'. See the last sentence:
(: FUNCTION ARG1 ARG2 ...)’
If the split is a list, and the first element is ‘:’, then the
second element will be called as a function with ARGS given as
arguments. The function should return a SPLIT.
For instance, the following function could be used to split based
on the body of the messages:
(defun split-on-body ()
(when (re-search-forward "Some.*string" nil t)
The buffer is narrowed to the header of the message in question
when FUNCTION is run. That’s why ‘(widen)’ needs to be called
after ‘save-excursion’ and ‘save-restriction’ in the example above.
Also note that with the nnimap backend, message bodies will not be
downloaded by default. You need to set
‘nnimap-split-download-body’ to ‘t’ to do that (*note Client-Side
However, this did not seem to work, although I haven't tested
thouroughly. Looking through the git history of Emacs, it seems that
'nnimap-split-download-body' was removed a little over ten years ago.
An internal variable, 'nnimap-split-download-body-default' is still
present, but is as far as I can tell unused.
Have I missed something obvious? Is there a new way to do this? Am I
just out of luck?
- nnimap-split-download-body removed?,