;ELC   
;;; compiled by amu@mit.edu on Sat Sep 13 16:19:24 1997
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.4.67/lisp/gnus-nocem.el
;;; emacs version 19.30.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-nocem.el' was compiled for Emacs 19.29 or later"))


(byte-code "!!!!!\n%\n&\n&\n&\n&\n&\n&!t &'B'! ('B'! )'B'! *'B'! +'B'ȇ" [require gnus nnmail gnus-art gnus-sum gnus-range custom-declare-group gnus-nocem nil "NoCeM pseudo-cancellation treatment" :group gnus-score custom-declare-variable gnus-nocem-groups (quote ("news.lists.filters" "news.admin.net-abuse.bulletins" "alt.nocem.misc" "news.admin.net-abuse.announce")) "List of groups that will be searched for NoCeM messages." :type (repeat (string :tag "Group")) gnus-nocem-issuers (quote ("AutoMoose-1" "Automoose-1" "rbraver@ohww.norman.ok.us" "clewis@ferret.ocunix.on.ca" "jem@xpat.com" "snowhare@xmission.com" "red@redpoll.mrfs.oh.us (Richard E. Depew)")) "List of NoCeM issuers to pay attention to." (repeat string) gnus-nocem-directory (nnheader-concat gnus-article-save-directory "NoCeM/") "*Directory where NoCeM files will be stored." directory gnus-nocem-expiry-wait 15 "*Number of days to keep NoCeM headers in the cache." integer gnus-nocem-verifyer (quote mc-verify) "*Function called to verify that the NoCeM message is valid.\nOne likely value is `mc-verify'.  If the function in this variable\nisn't bound, the message will be used unconditionally." (radio (function-item mc-verify) (function :tag "other")) gnus-nocem-liberal-fetch "*If t try to fetch all messages which have @@NCM in the subject.\nOtherwise don't fetch messages which have references or whose message-id\nmatches an previously scanned and verified nocem message." boolean boundp gnus-nocem-active current-load-list gnus-nocem-alist gnus-nocem-touched-alist gnus-nocem-hashtb gnus-nocem-seen-message-ids] 8)
(defalias 'gnus-nocem-active-file #[nil "	!P" [file-name-as-directory gnus-nocem-directory "active"] 2])
(defalias 'gnus-nocem-cache-file #[nil "	!P" [file-name-as-directory gnus-nocem-directory "cache"] 2])
#@42 Real-name mappings of subscribed groups.
(defvar gnus-nocem-real-group-hashtb nil (#$ . 2439))
#@79 Fill up a hash table with the real-name mappings from the user's
active file.
(defalias 'gnus-fill-real-hashtb #[nil "	G!	\"" [gnus-make-hashtable gnus-newsrc-alist gnus-nocem-real-group-hashtb mapcar #[(group) "@	\" 	ĕO 	)\"L" [group gname string-match "^[^:]+:" 0 nil intern gnus-nocem-real-group-hashtb t] 3]] 3 (#$ . 2540)])
#@47 Scan all NoCeM groups for new NoCeM messages.
(defalias 'gnus-nocem-scan-groups #[nil "\n!   !+ + ҏA@3!+ \"A@\fA\f@W^ A\fAW\"!!q ! AT \f@\fAB!\"= # !A@ H\" + H현 H H/ \" !=  q q!!!\"ed%.\n\fD\"\"B+   ." [gnus-nocem-groups t nil articles gactive active group gnus-inhibit-demon groups gnus-make-directory gnus-nocem-directory gnus-nocem-load-cache gnus-fill-real-hashtb file-exists-p gnus-nocem-active-file gnus-nocem-active G77658 (byte-code " $" [load gnus-nocem-active-file t] 5) ((error)) gnus-activate-group assoc make-vector 10 header headers dependencies temp-file fundamental-mode default-major-mode get-buffer-create generate-new-buffer-name " *nnheader temp*" temp-buffer temp-results ((byte-code "	!\n 	!" [buffer-name temp-buffer kill-buffer] 2)) gnus-retrieve-headers gnus-uncompress-range nov gnus-get-newsgroup-headers-xover gnus-get-newsgroup-headers string-match "@@NCM" 1 gnus-nocem-liberal-fetch 5 "" 4 gnus-nocem-seen-message-ids gnus-nocem-check-article file-directory-p file-name-directory make-directory write-region nomesg delq gnus-nocem-save-cache gnus-nocem-save-active] 6 (#$ . 2897) nil])
#@74 Check whether the current article is an NCM article and that we want it.
(defalias 'gnus-nocem-check-article #[(group header) "H$Hǉ	\n* !!!\" H\"eb#A eĔ|#N ĕd|eb#	 # 	}!\n~\n \n\"\n \n!   H!B!," [gnus-message 7 "Checking article %d in %s for NoCeM..." header 0 group 3 nil e b issuer date nnmail-time-less nnmail-time-since nnmail-date-to-time nnmail-days-to-time gnus-nocem-expiry-wait gnus-request-article-this-buffer re-search-forward "-----BEGIN PGP MESSAGE-----" t "-----END PGP MESSAGE-----\n?" search-forward "\n@@BEGIN NCM HEADERS\n" "\n@@BEGIN NCM BODY\n" mail-fetch-field "issuer" gnus-nocem-issuers message "invalid NoCeM issuer: %s" gnus-nocem-verify-issuer gnus-nocem-enter-article 4 gnus-nocem-seen-message-ids] 6 (#$ . 4249)])
#@60 Verify using PGP that the canceler is who she says she is.
(defalias 'gnus-nocem-verify-issuer #[(person) "	! ďŇ" [fboundp gnus-nocem-verifyer G77659 (funcall gnus-nocem-verifyer) ((error)) t] 3 (#$ . 5101)])
#@49 Enter the current article into the NoCeM cache.
(defalias 'gnus-nocem-enter-article #[nil "eb##p	\n 	 \n˔T}eb# Ϗ/ 9/ !P L/ !\"g ˕Oi )\"J/ ygU yt `!S{\"J \"LBygU/ y   A¡)BB." [search-forward "\n@@BEGIN NCM BODY\n" nil t "\n@@END NCM BODY\n" group id ncm buf e b 0 "	" G77660 (byte-code "!)" [gnus-active-hashtb obarray read buf group] 2) ((error)) boundp intern-soft symbol-name gname string-match "^[^:]+:" gnus-nocem-real-group-hashtb 9 -1 gnus-nocem-hashtb intern 1 gnus-nocem-touched-alist current-time time gnus-nocem-alist] 7 (#$ . 5324)])
#@23 Load the NoCeM cache.
(defalias 'gnus-nocem-load-cache #[nil "?  !  ĉ$ " [gnus-nocem-alist file-exists-p gnus-nocem-cache-file load t gnus-nocem-alist-to-hashtb] 5 (#$ . 6016) nil])
#@23 Save the NoCeM cache.
(defalias 'gnus-nocem-save-cache #[nil "V 	V  !!q	̎DE!Q =6 	qQ 	q!!I !\"ed%.ʉ" [gnus-nocem-alist gnus-nocem-touched-alist gnus-nocem-cache-file temp-file fundamental-mode default-major-mode get-buffer-create generate-new-buffer-name " *nnheader temp*" temp-buffer nil temp-results ((byte-code "	!\n 	!" [buffer-name temp-buffer kill-buffer] 2)) gnus-prin1 setq quote t file-directory-p file-name-directory make-directory write-region nomesg] 6 (#$ . 6218)])
#@29 Save the NoCeM active file.
(defalias 'gnus-nocem-save-active #[nil " !!q	ʎDE!		' 	S 	=6 q S q	!!I 	!\"ed	%	." [gnus-nocem-active-file temp-file fundamental-mode default-major-mode get-buffer-create generate-new-buffer-name " *nnheader temp*" temp-buffer nil temp-results ((byte-code "	!\n 	!" [buffer-name temp-buffer kill-buffer] 2)) gnus-prin1 setq gnus-nocem-active quote t buffer-string file-directory-p file-name-directory make-directory write-region nomesg] 6 (#$ . 6761)])
#@50 Create a hashtable from the Message-IDs we have.
(defalias 'gnus-nocem-alist-to-hashtb #[nil "	B!	G_!	@Z @!\"5 \f	AS 	AS @\"LA@ 	A -" [gnus-nocem-alist alist nil pprev prev nnmail-days-to-time gnus-nocem-expiry-wait expiry entry gnus-make-hashtable 51 gnus-nocem-hashtb nnmail-time-less nnmail-time-since intern t] 4 (#$ . 7301)])
(gnus-add-shutdown (quote gnus-nocem-close) (quote gnus))
#@33 Clear internal NoCeM variables.
(defalias 'gnus-nocem-close #[nil "" [nil gnus-nocem-alist gnus-nocem-hashtb gnus-nocem-active gnus-nocem-touched-alist gnus-nocem-seen-message-ids gnus-nocem-real-group-hashtb] 2 (#$ . 7753)])
#@56 Say whether article ID in the current group is wanted.
(defalias 'gnus-nocem-unwanted-article-p #[(id) "	\n\"J" [intern-soft id gnus-nocem-hashtb] 3 (#$ . 8000)])
(provide (quote gnus-nocem))
