]> git.eshelyaron.com Git - emacs.git/commitdiff
gnus-registry.el (gnus-registry-remove-ignored): New function to remove entries with...
authorTeodor Zlatanov <tzz@lifelogs.com>
Wed, 1 Jun 2011 22:35:26 +0000 (22:35 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 1 Jun 2011 22:35:26 +0000 (22:35 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-registry.el

index 4cf21f65597408d24158ef432618c9719f3e594e..ff3eb98bb979d60dd5f0a16be2e987cd5fbcced6 100644 (file)
@@ -1,3 +1,8 @@
+2011-06-01  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnus-registry.el (gnus-registry-remove-ignored): New function to
+       remove entries with groups we ignore.
+
 2011-05-31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * shr.el (shr-rescale-image): Add an :ascent of 100 to images so that
index f6c0daaaa93f26e5de016f6975e2d72777517194..a44986e2499f0061d0ed6cc98bcde006a4eef2f6 100644 (file)
@@ -321,6 +321,20 @@ This is not required after changing `gnus-registry-cache-file'."
     (gnus-message 5 "Saving Gnus registry (size %d) to %s...done"
                   (registry-size db) file)))
 
+(defun gnus-registry-remove-ignored ()
+  (interactive)
+  (let* ((db gnus-registry-db)
+         (grouphashtb (registry-lookup-secondary db 'group))
+         (old-size (registry-size db)))
+    (registry-reindex db)
+    (loop for k being the hash-keys of grouphashtb
+          using (hash-values v)
+          when (gnus-registry-ignore-group-p k)
+          do (registry-delete db v nil))
+    (registry-reindex db)
+    (gnus-message 4 "Removed %d ignored entries from the Gnus registry"
+                  (- old-size (registry-size db)))))
+
 ;; article move/copy/spool/delete actions
 (defun gnus-registry-action (action data-header from &optional to method)
   (let* ((id (mail-header-id data-header))