;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 Ë•ÂO‚i )\"Jƒ/ Ëyˆg×Uƒ€ Øyˆ‚t `ÀÌ!S{Ñ\"J„¢ Ú\"ÃLˆBÛyˆg×Uƒ/ Û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 	qˆ‚Q 	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	A¡ˆ‚S 	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))
