projects
/
elisp
/
gnus.git-
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Synch to No Gnus 200502120211.
[elisp/gnus.git-]
/
lisp
/
gnus-registry.el
diff --git
a/lisp/gnus-registry.el
b/lisp/gnus-registry.el
index
62d438f
..
1daa0fa
100644
(file)
--- a/
lisp/gnus-registry.el
+++ b/
lisp/gnus-registry.el
@@
-1,5
+1,5
@@
;;; gnus-registry.el --- article registry for Gnus
;;; gnus-registry.el --- article registry for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
;; Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
;; Free Software Foundation, Inc.
;; Author: Ted Zlatanov <tzz@lifelogs.com>
@@
-66,9
+66,12
@@
(defgroup gnus-registry nil
"The Gnus registry."
(defgroup gnus-registry nil
"The Gnus registry."
+ :version "21.4"
:group 'gnus)
:group 'gnus)
-(defvar gnus-registry-hashtb nil
+(defvar gnus-registry-hashtb (make-hash-table
+ :size 256
+ :test 'equal)
"*The article registry by Message ID.")
(defcustom gnus-registry-unfollowed-groups '("delayed" "drafts" "queue")
"*The article registry by Message ID.")
(defcustom gnus-registry-unfollowed-groups '("delayed" "drafts" "queue")
@@
-131,7
+134,7
@@
way."
"Maximum number of entries in the registry, nil for unlimited."
:group 'gnus-registry
:type '(radio (const :format "Unlimited " nil)
"Maximum number of entries in the registry, nil for unlimited."
:group 'gnus-registry
:type '(radio (const :format "Unlimited " nil)
- (integer :format "Maximum number: %v\n" :size 0)))
+ (integer :format "Maximum number: %v")))
(defun gnus-registry-track-subject-p ()
(memq 'subject gnus-registry-track-extra))
(defun gnus-registry-track-subject-p ()
(memq 'subject gnus-registry-track-extra))
@@
-618,7
+621,9
@@
Returns the first place where the trail finds a group name."
(when gnus-registry-trim-articles-without-groups
(unless (gnus-registry-group-count id)
(gnus-registry-delete-id id)))
(when gnus-registry-trim-articles-without-groups
(unless (gnus-registry-group-count id)
(gnus-registry-delete-id id)))
- (gnus-registry-store-extra-entry id 'mtime (current-time)))))
+ ;; is this ID still in the registry?
+ (when (gethash id gnus-registry-hashtb)
+ (gnus-registry-store-extra-entry id 'mtime (current-time))))))
(defun gnus-registry-delete-id (id)
"Delete a message ID from the registry."
(defun gnus-registry-delete-id (id)
"Delete a message ID from the registry."
@@
-706,6
+711,8
@@
Returns the first place where the trail finds a group name."
(remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids))
(remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids))
+(add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook)
+
(when gnus-registry-install
(gnus-registry-install-hooks)
(gnus-registry-read))
(when gnus-registry-install
(gnus-registry-install-hooks)
(gnus-registry-read))