Lines Matching defs:dup
1 ;;; gnus-dup.el --- suppression of duplicate articles in Gnus
63 (defvar gnus-dup-list nil)
64 (defvar gnus-dup-hashtb nil)
66 (defvar gnus-dup-list-dirty nil)
72 (gnus-add-shutdown 'gnus-dup-close 'gnus)
74 (defun gnus-dup-close ()
76 (gnus-dup-save)
77 (setq gnus-dup-list nil
78 gnus-dup-hashtb nil
79 gnus-dup-list-dirty nil))
81 (defun gnus-dup-open ()
84 (gnus-dup-read)
85 (setq gnus-dup-list nil))
86 (setq gnus-dup-hashtb (gnus-make-hashtable gnus-duplicate-list-length))
88 (let ((list gnus-dup-list)
89 (obarray gnus-dup-hashtb))
93 (defun gnus-dup-read ()
95 (setq gnus-dup-list nil)
99 (defun gnus-dup-save ()
102 gnus-dup-list-dirty)
104 (gnus-prin1 `(setq gnus-dup-list ',gnus-dup-list))))
105 (setq gnus-dup-list-dirty nil))
111 (defun gnus-dup-enter-articles ()
113 (unless gnus-dup-list
114 (gnus-dup-open))
115 (setq gnus-dup-list-dirty t) ; mark list for saving
127 (not (intern-soft msgid gnus-dup-hashtb)))
128 (push msgid gnus-dup-list)
129 (intern msgid gnus-dup-hashtb))))
131 (let ((end (nthcdr gnus-duplicate-list-length gnus-dup-list)))
135 (defun gnus-dup-suppress-articles ()
137 (unless gnus-dup-list
138 (gnus-dup-open))
145 (when (and (intern-soft (mail-header-id header) gnus-dup-hashtb)
156 (defun gnus-dup-unsuppress-article (article)
160 (setq gnus-dup-list-dirty t)
161 (setq gnus-dup-list (delete id gnus-dup-list))
162 (unintern id gnus-dup-hashtb))))
164 (provide 'gnus-dup)
167 ;;; gnus-dup.el ends here