Synch to Gnus 200309081825.
authoryamaoka <yamaoka>
Mon, 8 Sep 2003 22:09:04 +0000 (22:09 +0000)
committeryamaoka <yamaoka>
Mon, 8 Sep 2003 22:09:04 +0000 (22:09 +0000)
lisp/ChangeLog
lisp/gnus-registry.el

index f92e4f8..3ea365c 100644 (file)
@@ -1,3 +1,11 @@
+2003-09-08  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnus-registry.el (gnus-registry-delete-id): function to
+       completely delete an ID, including all the cache hashtables
+       (gnus-registry-delete-group): use gnus-registry-delete-id
+       (gnus-registry-simplify-subject): only run if the argument is a
+       string, return nil otherwise
+
 2003-09-07  Jesper Harder  <harder@ifa.au.dk>
 
        * gnus-msg.el (gnus-summary-resend-bounced-mail): Docstring fix.
index cb48b89..8160c81 100644 (file)
@@ -413,9 +413,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
     nil))
 
 (defun gnus-registry-simplify-subject (subject)
-  (if (null subject)
-      nil
-    (gnus-simplify-subject subject)))
+  (if (stringp subject)
+      (gnus-simplify-subject subject)
+    nil))
 
 (defun gnus-registry-fetch-simplified-message-subject-fast (article)
   "Fetch the Subject quickly, using the internal gnus-data-list function"
@@ -522,9 +522,19 @@ Returns the first place where the trail finds a group name."
       ;; now, clear the entry if there are no more groups
       (when gnus-registry-trim-articles-without-groups
        (unless (gnus-registry-group-count id)
-         (remhash id gnus-registry-hashtb)))
+         (gnus-registry-delete-id id)))
       (gnus-registry-store-extra-entry id 'mtime (current-time)))))
 
+(defun gnus-registry-delete-id (id)
+  "Delete a message ID from the registry."
+  (when (stringp id)
+    (remhash id gnus-registry-hashtb)
+    (maphash
+     (lambda (key value)
+       (when (hash-table-p value)
+        (remhash id value)))
+     gnus-registry-hashtb)))
+
 (defun gnus-registry-add-group (id group &optional subject)
   "Add a group for a message, based on the message ID."
   ;; make sure there are no duplicate entries