[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38011: 27.0.50; [PATCH] WIP on allowing Gnus backends to return head
From: |
Eric Abrahamsen |
Subject: |
bug#38011: 27.0.50; [PATCH] WIP on allowing Gnus backends to return header data directly |
Date: |
Sun, 29 Mar 2020 12:50:52 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Okay good -- that should be as easy (easier) to do with an actual list
>> of headers than with text in a buffer.
>
> Yup; much easier.
Okay I've had a little more, uh, free time recently to work on Gnus
stuff, and am nearly ready with a patch for this. It got gnarly in
gnus-agent.el, but I think I've got a handle on it.
I have one question right now, about `nnvirtual-update-xref-header',
which needs to be rewritten from altering header text in a buffer, to
altering the `mail-header-xref' value of an already-parsed header.
First of all, it unconditionally adds an xref header to our group and
article, even if there wasn't one before. Then it does the following.
I'm not sure how to describe this in plain English. I would say it is
replacing all the server names with our "prefix", but that doesn't
explain the deletion of the group name *and* the article number in the
second "(when (re-search-forward" below.
Can someone explain what exactly this function is supposed to do?
(save-restriction
(narrow-to-region (point)
(or (search-forward "\t" (point-at-eol) t)
(point-at-eol)))
(goto-char (point-min))
(when (re-search-forward "Xref: *[^\n:0-9 ]+ *" nil t)
(replace-match "" t t))
(goto-char (point-min))
(when (re-search-forward
(concat (regexp-quote (gnus-group-real-name group)) ":[0-9]+")
nil t)
(replace-match "" t t))
(unless (eobp)
(insert " ")
(when (not (string= "" prefix))
(while (re-search-forward "[^ ]+:[0-9]+" nil t)
(save-excursion
(goto-char (match-beginning 0))
(insert prefix))))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#38011: 27.0.50; [PATCH] WIP on allowing Gnus backends to return header data directly,
Eric Abrahamsen <=