Merge changes made in Gnus master

This commit is contained in:
Gnus developers 2013-07-08 23:51:26 +00:00 committed by Katsumi Yamaoka
parent 7fd72e2c01
commit c17b81a7a5
5 changed files with 49 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2013-07-08 Tassilo Horn <tsdh@gnu.org>
* gnus.texi (lines): Correct description of
`gnus-registry-track-extra's default value. Mention
`gnus-registry-remove-extra-data'.
2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Group Parameters): Mention regexp

View file

@ -26006,9 +26006,13 @@ following variables.
@defvar gnus-registry-track-extra
This is a list of symbols, so it's best to change it from the
Customize interface. By default it's @code{(subject sender)}, which
may work for you. It can be annoying if your mail flow is large and
people don't stick to the same groups.
Customize interface. By default it's @code{(subject sender recipient)},
which may work for you. It can be annoying if your mail flow is large
and people don't stick to the same groups.
When you decide to stop tracking any of those extra data, you can use
the command @code{gnus-registry-remove-extra-data} to purge it from
the existing registry entries.
@end defvar
@defvar gnus-registry-split-strategy

View file

@ -1,3 +1,12 @@
2013-07-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnml.el (nnml-request-compact-group): Don't bug out if we can't
delete files (bug#13481).
2013-07-08 Tassilo Horn <tsdh@gnu.org>
* gnus-registry.el (gnus-registry-remove-extra-data): New function.
2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
* gnus-art.el (gnus-block-private-groups): Allow `global' methods to

View file

@ -1186,6 +1186,29 @@ data stored in the registry."
(gnus-select-group-with-message-id group message-id) t)
(throw 'found t))))))))
(defun gnus-registry-remove-extra-data (extra)
"Remove tracked EXTRA data from the gnus registry.
EXTRA is a list of symbols. Valid symbols are those contained in
the docs of `gnus-registry-track-extra'. This command is useful
when you stop tracking some extra data and now want to purge it
from your existing entries."
(interactive (list (mapcar 'intern
(completing-read-multiple
"Extra data: "
'("subject" "sender" "recipient")))))
(when extra
(let ((db gnus-registry-db))
(registry-reindex db)
(loop for k being the hash-keys of (oref db :data)
using (hash-value v)
do (let ((newv (delq nil (mapcar #'(lambda (entry)
(unless (member (car entry) extra)
entry))
v))))
(registry-delete db (list k) nil)
(gnus-registry-insert db k newv)))
(registry-reindex db))))
;; TODO: a few things
(provide 'gnus-registry)

View file

@ -1094,7 +1094,10 @@ Use the nov database for the current group if available."
(concat group ":" new-number-string)))
;; Save to the new file:
(nnmail-write-region (point-min) (point-max) newfile))
(funcall nnmail-delete-file-function oldfile))
(condition-case ()
(funcall nnmail-delete-file-function oldfile)
(file-error
(message "Couldn't delete %s" oldfile))))
;; 2/ Update all marks for this article:
;; #### NOTE: it is possible that the new article number
;; #### already belongs to a range, whereas the corresponding