+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.
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"
;; 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