(defun Gnus-Wait ()
"Automatically byte-compile ~/.Gnus.el if it's newer than ~/.gnus.
It renames the resulting ~/.Gnus.elc to ~/.gnus, and then reload it."
(let* ((source (expand-file-name ".Gnus.el" (getenv "HOME")))
(object (expand-file-name ".gnus" (getenv "HOME")))
(compiled (concat source "c")))
(cond
((file-newer-than-file-p source object)
(let ((mode-line-format
"*** PLEASE STANDBY: RECOMPILING .Gnus.el **"))
(yow)
(sit-for 2)
(byte-compile-file source)
(message ".gnus recompiled --- reloading ...")
(rename-file compiled object t))
(load object t t t)
(message "Gnus.el recompiled")))))
(Gnus-Wait)
(require 'gnus)
(require 'gnus-diary)
(require 'gnus-ml)
(require 'gnus-picon)
(require 'gnus-score)
(require 'gnus-topic)
(require 'earcon)
(require 'mailcap)
(require 'messkeyw)
(require 'mml-sec)
(require 'nnspool)
(when (and (featurep 'mule)
(< emacs-minor-version 5))
(require 'pgg))
(require 'boxquote)
(require 'supercite-sy)
(require 'patch-keywords)
(if (featurep 'mule)
(require 'mpg123))
(require 'nnir)
(setq
gnus-expert-user t
gnus-verbose 10
gnus-verbose-backends 10)
(setq gnus-posting-styles
'((".*"
(name "Steve Youngs")
(address "sryoungs@bigpond.net.au")
(organization "Linux Users - Fanatics Dept.")
(signature-file "~/Gnus/sigs/default.sig")
("X-Request-PGP" "<http://users.bigpond.net.au/sryoungs/pgp/sryoungs.asc>")
("X-OpenPGP-Fingerprint" "1659 2093 19D5 C06E D320 3A20 1D27 DB4B A94B 3003")
("X-URL" "<http://users.bigpond.net.au/sryoungs/>")
("X-Attribution" "SY")
("X-Now-Playing" (eval
(if (featurep 'mpg123)
(mpg123:get-music-info
mpg123*cur-music-number 'name)
"The Sounds of Silence --- [Marcel Marceau]")))
(x-face-file "~/Gnus/xface/koala.xface"))
("^nnml:sql.ledger"
(x-face-file "~/Gnus/xface/money.xface"))
("^nnml:xemacs.*"
(signature-file "~/Gnus/sigs/xemacs.sig")
(x-face-file "~/Gnus/xface/xemacs.xface")
(organization "The XEmacs Project")
("X-URL" "<http://www.xemacs.org/>"))
("^nnml:xemacs.patches"
("X-Reviewer-Action" ""))
("^nnml:private.local\\|^local\\.\\(news\\|bigpond\\)"
(address "steve@eicq.dnsalias.org")
(signature-file "~/Gnus/sigs/local.sig")
(x-face-file "~/Gnus/xface/steve.xface"))
("^nnml:eicq.*\\|^nnml:icq.devel\\|^alt\\.chat-programs\\.icq"
(signature-file "~/Gnus/sigs/eicq.sig")
(organization "Eicq - The XEmacs ICQ Client.")
("X-Attribution" "Eicq")
("X-URL" "<http://eicq.sf.net/>")
(x-face-file "~/Gnus/xface/eicq.xface"))
("^nnml:private.Tiffany"
(name "Daddy")
(organization "Tiffany's Terrific!")
(signature-file "~/Gnus/sigs/tiffany.sig")
("X-Attribution" "Dad")
(x-face-file "~/Gnus/xface/koala.xface"))
("^nnml:employment"
(organization "Hire me for Increased Productivity & Profits")
(signature-file "~/Gnus/sigs/employment.sig")
(x-face-file "~/Gnus/xface/steve.xface")
("X-URL" "<http://resume.jobnet.com.au/resume/youngs22.html>"))
("^nnml:aarg.private"
(address "youngs@aarg.net")
(organization "Over on the AARG!")
(signature-file "~/Gnus/sigs/aarg.sig")
(x-face-file "~/Gnus/xface/sylvester.xface"))
("^alt\\.os\\.linux\\.slackware"
("Face" (eval (gnus-face-from-file "~/Gnus/face/dobbslack.jpg")))
(x-face-file "~/Gnus/xface/bob.xface"))))
(setq gnus-article-banner-alist
(let* ((ads "\\(^-------------------------------------------------------$\\|^This sf\\.net email is sponsored by:ThinkGeek$\\|^No, I will not fix your computer\\.$\\|^Welcome to geek heaven\\.$\\|^http://thinkgeek\\.com/sf$\\|^We have stuff for geeks like you\\.$\\|^Oh, it's good to be a geek\\.$\\)")
(sigs "\\(\\(^_______________________________________________$\\|^-------------------------------------------------$\\)\\|\\(^Emacs-devel \\|^Tramp-devel \\|^mh-e-devel \\|sql-ledger-users \\)mailing list$\\|^sql-ledger-users@sql-ledger.org$\\|^Emacs-devel@gnu\\.org$\\|^https?://\\(mail\\.\\(gnu\\|freesoftware\\.fsf\\)\\.org/mailman/listinfo/\\(emacs\\|tramp\\|mh-e\\)-devel\\|www\\.d\\.kth\\.se/~d95-mih/icq/icq-devel/\\|lists\\.sourceforge\\.net/lists/listinfo/\\(tramp-devel\\|bbdb-info\\|mh-e-devel\\|sql-ledger-users\\)\\)$\\|^Emacs-devel@gnu\\.org$\\|^\\(bbdb-info\\|Tramp-devel\\|mh-e-devel\\)@\\(lists\\.sourceforge\\.net\\|mail\\.freesoftware\\.fsf\\.org\\)$\\|^BBDB Home Page: http://bbdb\\.sourceforge\\.net/$\\|^icq-devel - The forum for ICQ protocol discussion$\\|^For unsubscribe and other mailing list info, see:$\\)")
(lkml "\\(^-$\\|^To unsubscribe from this list: send the line \"unsubscribe linux-kernel\" in$\\|^the body of a message to majordomo@vger\\.kernel\\.org$\\|^More majordomo info at http://vger\\.kernel\\.org/majordomo-info\\.html$\\|^Please read the FAQ at http://www\\.tux\\.org/lkml/$\\)"))
(list (cons 'sfads ads)
(cons 'listsigs sigs)
(cons 'sig-ads (concat ads "\\|" sigs))
(cons 'lkmlsig lkml))))
(setq gnus-parameters
'(("^nnml:.*"
(total-expire . t)
(expiry-wait . immediate)
(display . default)
(charset . iso-8859-1))
("^nnml:private\\.Tiffany"
(expiry-wait . 10)
(gcc-self . t)
(display . all))
("^nnml:sql\\.ledger"
(to-address . "SL Users <sql-ledger-users@sql-ledger.org>")
(to-list . "SL Users <sql-ledger-users@sql-ledger.org>")
(admin-address . "sql-ledger-users-request@sql-ledger.org")
(banner . sig-ads)
(subscribed . t)
(expiry-target . delete))
("^nnml:bbdb\\.info"
(to-address . "BBDB List <bbdb-info@lists.sf.net>")
(to-list . "BBDB List <bbdb-info@lists.sf.net>")
(admin-address . "bbdb-info-request@lists.sf.net")
(banner . sig-ads)
(subscribed . t)
(expiry-target . delete))
("^nnml:eicq\\.\\(\\w+\\)"
(to-address . "Eicq \\1 <eicq-\\1@lists.sf.net>")
(to-list . "Eicq \\1 <eicq-\\1@lists.sf.net>")
(admin-address . "eicq-\\1-request@lists.sf.net")
(subscribed . t)
(banner . sfads))
("^nnml:icq\\.devel"
(to-address . "ICQ Devel <icq-devel@blipp.com>")
(to-list . "ICQ Devel <icq-devel@blipp.com>")
(admin-address . "icq-devel-request@blipp.com")
(subscribed . t)
(banner . listsigs))
("^nnml:gnus\\.ding"
(to-address . "Gnus List <ding@gnus.org>")
(to-list . "Gnus List <ding@gnus.org>")
(subscribed . t))
("^nnml:mh-e\\.\\(\\w+\\)"
(to-address . "MH-E \\1 <mh-e-\\1@lists.sf.net>")
(to-list . "MH-E \\1 <mh-e-\\1@lists.sf.net>")
(admin-address . "mh-e-\\1-request@lists.sf.net")
(subscribed . t)
(banner . sig-ads))
("^nnml:tramp\\.devel"
(to-address . "Tramp Development <tramp-devel@nongnu.org>")
(to-list . "Tramp Development <tramp-devel@nongnu.org>")
(admin-address . "tramp-devel-request@mnongnu.org")
(subscribed . t)
(banner . listsigs))
("^nnml:inn\\.workers"
(to-address . "INN Workers <inn-workers@isc.org>")
(to-list . "INN Workers <inn-workers@isc.org>")
(admin-address . "inn-workers-request@isc.org")
(subscribed . t)
(expiry-target . delete))
("^nnml:xemacs\\.\\(\\w+\\)"
(to-address . "XEmacs \\1 <xemacs-\\1@xemacs.org>")
(to-list . "XEmacs \\1 <xemacs-\\1@xemacs.org>")
(admin-address . "xemacs-\\1-request@xemacs.org")
(subscribed . t))
("^nnml:linux\\.kernel"
(to-address . "Linux Kernel List <linux-kernel@vger.kernel.org>")
(to-list . "Linux Kernel List <linux-kernel@vger.kernel.org>")
(admin-address . "<majordomo@vger.kernel.org>")
(subscribed . t)
(expiry-target . delete)
(banner . lkmlsig))
("^nnml:\\(SPAM.*\\|returned\\.mail\\|INBOX\\|gnus\\.cvs\\|employment\\|freshmeat\\.news\\|private\\.logs\\|tramp.checkins\\|xemacs.cvs\\)"
(expiry-target . delete))))
(defun steve-message-header-setup-hook ()
(let ((group (or gnus-newsgroup-name "")))
(when (or (message-fetch-field "newsgroups")
(gnus-group-find-parameter group 'to-address)
(gnus-group-find-parameter group 'to-list))
(insert "Mail-Copies-To: never\n"))))
(setq
gnus-treat-body-boundary nil
gnus-treat-buttonize t
gnus-treat-buttonize-head 'head
gnus-treat-date-original 'head
gnus-treat-display-smileys t
gnus-treat-display-x-face 'head
gnus-treat-emphasize t
gnus-treat-fill-long-lines nil
gnus-treat-from-picon 'head
gnus-treat-hide-boring-headers 'head
gnus-treat-highlight-citation t
gnus-treat-highlight-headers 'head
gnus-treat-highlight-signature 'last
gnus-treat-mail-picon 'head
gnus-treat-newsgroups-picon 'head
gnus-treat-play-sounds t
gnus-treat-strip-cr t
gnus-treat-strip-leading-blank-lines t
gnus-treat-strip-trailing-blank-lines t
gnus-treat-strip-pem t
gnus-treat-translate t
nnmail-treat-duplicates 'delete
gnus-list-identifiers '("\\[icq-devel\\]"
"\\[Tramp-checkins\\]"
"\\[Tramp-devel\\]"
"\\[Eicq-cvs\\]"
"\\[eMoney-cvs\\]"
"\\[SL\\]"))
(add-to-list 'mm-discouraged-alternatives "text/html")
(setq mm-automatic-display (remove "text/html" mm-automatic-display))
(setq mm-text-html-renderer 'html2text)
(setq
gnus-picon-databases '("/usr/local/faces")
gnus-picon-user-directories '("users" "misc" "usenix")
gnus-picon-domain-directories '("domains" "misc" "usenix")
gnus-picon-news-directories '("news" "misc" "usenix"))
(defun message-make-message-id ()
"Make a unique Message-ID."
(concat "<microsoft-free." (message-unique-id)
"@eicq.dnsalias.org>"))
(setq gnus-signature-separator
'("^-- $"
"^-- *$"
"^_________*$"
"^______________.*$"
"^-------------------------------------------------$"))
(defconst steve-obsolete-subject " (?was: .*"
"*Regexp matching obsolete subjects.")
(defun steve-clear-subject ()
"Remove steve-obsolete-subject from subject-header."
(interactive)
(let ((case-fold-search nil))
(save-excursion
(goto-line 0)
(re-search-forward "^Subject: ")
(if (re-search-forward steve-obsolete-subject nil t)
(replace-match "")))))
(defun steve-change-subject (new-subject)
"Introduces new subject.
Argument NEW-SUBJECT The subject to change to."
(interactive "sNew Subject: ")
(let ((case-fold-search nil))
(save-excursion
(goto-line 0)
(re-search-forward "^Subject: ")
(if (re-search-forward "R[Ee]: " nil t)
(replace-match ""))
(insert-string new-subject)
(insert-string " (was: ")
(end-of-line)
(insert-string ")"))))
(define-key message-mode-map '"\M-n" 'steve-change-subject)
(define-key message-mode-map '"\M-o" 'steve-clear-subject)
(setq
mml2015-use 'pgg
pgg-scheme 'gpg
pgg-default-scheme 'gpg
pgg-default-user-id "A94B3003")
(define-key gnus-summary-mode-map [f7] 'gnus-summary-force-verify-and-decrypt)
(define-key message-mode-map [f7] 'mml-secure-message-sign-pgpmime)
(define-key message-mode-map [f8] 'mml-secure-message-encrypt-pgpmime)
(setq mail-sources
'((file :path "/home/steve/mail/INBOX"
:plugged t)))
(setq gnus-agent nil)
(setq mail-source-delete-incoming t)
(setq
gnus-select-method '(nntp "localhost")
gnus-refer-article-method '(nntp "localhost")
nnspool-inews-program '"/usr/local/news/bin/inews"
nnspool-spool-directory '"/usr/local/news/spool"
nnspool-lib-dir '"/usr/local/news/lib"
nnspool-nov-directory '"/usr/local/news/spool/overview"
nnspool-active-file '"/usr/local/news/db/active"
nnspool-active-times-file '"/usr/local/news/db/active.times"
nnspool-history-file '"/usr/local/news/db/history"
gnus-article-save-directory "~/Gnus/Save/")
(add-to-list 'gnus-secondary-select-methods
'(nnml "expired"
(nnml-directory "~/Gnus/Expired/")
(nnml-active-file "~/Gnus/Expired/active")
(nnml-inhibit-expiry t)))
(add-to-list 'gnus-secondary-select-methods
'(nnml ""
(nnml-directory "~/Gnus/Mail/")
(nnml-active-file "~/Gnus/Mail/active")
(nnml-newsgroups-file "~/Gnus/etc/newsgroups")
(nnml-get-new-mail t)))
(setq gnus-message-archive-method
'(nnml "archive"
(nnml-inhibit-expiry t)
(nnml-directory "~/Gnus/Sent/")
(nnml-active-file "~/Gnus/Sent/active")))
(setq gnus-message-archive-group
'((if (message-news-p)
(concat "sent.news."
(format-time-string "%Y.%b"))
(concat "sent.mail."
(format-time-string "%Y.%b")))))
(setq nndiary-mail-sources
'((file :path "~/mail/nndiary")))
(add-to-list 'gnus-secondary-select-methods
'(nndiary ""
(nndiary-directory "~/Gnus/Diary/")
(nndiary-active-file "~/Gnus/Diary/active")
(nndiary-get-new-mail t)))
(setq nndiary-reminders '((15 . minute)
(30 . minute)
(1 . day)
(2 . day)
(1 . week)
(2 . week))
nndiary-split-methods '(("diary.anniversary" "Subject:.*ANV:")
("diary.standard" "")))
(setq nnmail-expiry-target 'nnmail-fancy-expiry-target
nnmail-fancy-expiry-targets
'(("xref" "eicq\\.admin" "nnml+expired:eicq.admin.%Y.%b")
("xref" "eicq\\.bugs" "nnml+expired:eicq.bugs.%Y.%b")
("xref" "eicq\\.cvs" "nnml+expired:eicq.cvs.%Y.%b")
("xref" "eicq\\.devel" "nnml+expired:eicq.devel.%Y.%b")
("xref" "eicq\\.users" "nnml+expired:eicq.users.%Y.%b")
("xref" "gnus\\.ding" "nnml+expired:gnus.ding.%Y.%b")
("xref" "icq\\.devel" "nnml+expired:icq.devel.%Y.%b")
("xref" "private\\.Tiffany" "nnml+expired:private.Tiffany")
("xref" "private\\.net" "nnml+expired:private.net.%Y.%b")
("xref" "private\\.local" "nnml+expired:private.local.%Y.%b")
("xref" "tramp\\.devel" "nnml+expired:tramp.devel.%Y.%b")
("xref" "aarg\\.private" "nnml+expired:aarg.private.%Y.%b")
("xref" "mh-e\\.devel" "nnml+expired:mh-e.devel.%Y.%b")
("xref" "xemacs\\.beta" "nnml+expired:xemacs.beta.%Y.%b")
("xref" "xemacs\\.patches" "nnml+expired:xemacs.patches.%Y.%b")
("xref" "xemacs\\.review" "nnml+expired:xemacs.review.%Y.%b")))
(setq canlock-password "7a67fb0b1fd56ffe4e4b1cb092abb9eea8268223")
(setq nnmail-split-abbrev-alist
'((any . "from\\|to\\|cc\\|sender\\|apparently-to\\|resent-from\\|resent-to\\|resent-cc")
(mail . "mailer-daemon\\|postmaster\\|uucp")
(to . "to\\|cc\\|apparently-to\\|resent-to\\|resent-cc")
(from . "from\\|sender\\|resent-from")
(nato . "to\\|cc\\|resent-to\\|resent-cc")
(naany . "from\\|to\\|cc\\|sender\\|resent-from\\|resent-to\\|resent-cc")
(content-spam . "\\(text/html\\|big5\\|gb2312\\|ks_c_.*\\|euc-kr\\)")
(encoding-spam . "\\(binary\\|base64\\)")
(subject-spam . "\\(ADV:.*\\|not spam\\|adverti[sz]ement\\|[^a-zA-Z0-9]+$\\|[Ww]ealth\\|\\$\\$\\|adult webcam\\|Get out of debt.*\\|money\\|home based business\\|work from home\\|toner cartridges\\|Sprinternet\\|HGH\\|lottery\\|.*Smokeless Grill.*\\|Business Sales\\|NEW PRODUCT\\|Home Business\\|Time Share\\)")
(author-spam . "\\(\\(online\\)?market\\(ing\\|ers?\\)[0-9]*@\\|\\(un\\)?subscribe[0-9]*@\\|.*@anywhere\\.com\\|.*@domain\\.com\\|.*@everywhere\\.com\\|.*@send\\.com\\|.*@the\\.net\\|.*@unknown\\.com\\|VIP[0-9]*@\\|.*@public\\.com\\|all[0-9]*@\\|anyone[0-9]*@\\|do@not\\(\\.reply\\)?\\|fr\\(ie\\|ei\\)nd[sz]?[0-9]*@\\|freedomads@\\|hello[0-9]*@\\|internet[0-9]*@\\|netizens?[0-9]*@\\|no@reply\\|noreply[0-9]*@\\|opportunity[0-9]*@\\|pagesubmit@hotmail\\.com\\|public[0-9]*@\\|recipients?[0-9]*@\\|remove[0-9]*@\\|removeall[0-9]*@\\|reply.?by.?phone[0-9]*@\\|reply[0-9]*@\\|respond[0-9]*@\\|satisfaction[0-9]*@\\|someone[0-9]*@\\|success[0-9]*@\\|thanks[0-9]*@\\|unknown[0-9]*@\\|username[0-9]*@\\|your?[0-9]*@\\|dvd_dvd_007@yahoo\\.com\\|OrderToday@cybernetemail\\.com\\|vtxid@yahoo\\.com\\|info@accucredit\\.info\\|*@buscacompra\\.com\\.br\\|nku1@totalise\\.co\\.uk\\|.*@networkprofit\\.com\\|networkadmin@.*\\|tiffylestily7060@mail-box\\.com\\|.*@septic\\(help\\|tank\\)\\.com\\|info@machine[0-9]+\\.com\\|Inkjetscentral\\.com@.*\\|jos_edw@mail\\.com\\|CableDescrambler.*@aol\\.com\\|Ronnie@microsoft\\.com\\|VOSSTKV@AOL\\.com\\|drgomezjuliojr[0-9]+@arabia\\.com\\|capapptravel@hotmail\\.com\\|wjjzzs@wjjzzs\\.com\\|gatosons@public\\.wh\\.hb\\.cn\\|yourgreatestdealsonearth[0-9]+v[0-9]+@yahoo\\.com\\|wjjzzs@wjjzzs\\.com\\|mkelley@nmsu\\.edu\\|Amber[0-9]+@hotmail\\.com\\|ana[0-9]+@yahoo\\.com\\|kmontgomery@glpower\\.com\\|dylan[0-9]+@msn\\.com\\|ZerrinleSex@yahoo\\.com\\|houshen[0-9]+@sina\\.com\\|FREE-TV-4-U[0-9]+[a-z]+[0-9]+@.*\\|big@boss\\.com\\|john[0-9]+@yahoo\\.com\\|dethangelz@hotmail\\.com\\|computer@aol\\.com\\|msn\\.com\\|web\\.de\\|t0t2@prodigy\\.net\\|info@cfc-alert\\.com\\)")
(domain-spam . "\\(abcdefgh\\|abundance\\|ads-are-us\\|adult\\|advantage\\|alladvantage\\|auction\\|autorespond\\|banner\\|bestbuy\\|bizemall\\|bulk-e-mail\\|bulk-email\\|bulkemail\\|cash\\|casino\\|discount\\|dollar\\|easysavings\\|entrepreneur\\|erotic\\|fortune\\|girls\\|income\\|infofree\\|invest\\|market\\|money\\|mortgage\\|naked\\|pleasure\\|porn\\|preferred\\|profit\\|promo\\|pussy\\|randomdomain\\|search-engine\\|searchengine\\|secrets\\|sex\\|shopper\\|spam[^\\(-scanned\\)]\\|wallstreet\\|xxx\\|webmasterdirect\\|cocoa\\.ocn\\.ne\\.jp\\|kid-game\\.co\\.jp\\|mail\\.glpower\\.com\\|nm\\.ru\\|email\\.plateautel\\.net\\|.*\\.adsl\\.skynet\\.be\\|mail\\.petrogulf\\.com\\|.*\\.psatellite\\.com\\|.*\\.ded\\.swbell\\.net\\|.*\\.dsl\\.concepts\\.nl\\|.*\\.httpserveur\\.net\\|218\\.107\\.131\\.67\\|.*\\.dsl\\.austtx\\.swbell\\.net\\|.*\\.oit\\.ac\\.jp\\|.*\\.cluster1\\.net\\|.*\\.btopenworld\\.com\\|.*\\.joust\\.net\\|hetnet\\.nl\\|gdynia\\.mm\\.pl\\|dsl\\.siol\\.net\\|[^(pD951F3AF)]\\.dip\\.t-dialin\\.net\\|mi\\.comcast\\.net\\|dialup\\.tiscali\\.it\\|dsl\\.irvnca\\.pacbell\\.net\\|cpe\\.net\\.cable\\.rogers\\.com\\|mail\\.trelliscom\\.net\\|mn\\.client2\\.attbi\\.com\\|smtp[0-9]?\\.arnet\\.com\\.ar\\|smtp\\.icc\\.aitai\\.ne\\.jp\\|SMTP00\\.InfoAve\\.Net\\|2004hosting\\.netIP\\|omega39\\.maxonline\\.com\\.sg\\)")
(keyword-spam . "\\(nigeria\\|\\(husband\\|father\\)\\|china\\|hgh\\|money\\|business\\|funds?\\|investments?\\|consignment\\|incest\\|motorcycles\\|gatoson\\|million\\|discounted\\|wealth\\|opportunity\\|beneficiary\\|brochures?\\|envelopes?\\)")))
(setq nnmail-split-methods 'nnmail-split-fancy
nnmail-message-id-cache-length 5000
nnmail-crosspost nil
nnmail-split-fancy
'(|
(any "ms_tamber@hotmail\\.com" "private.Tiffany")
("X-Spam-Flag" "Yes" "SPAM.spamassassin")
("Content-Type" content-spam "SPAM.content")
("Content-Transfer-Encoding" encoding-spam "SPAM.encoding")
("Subject" subject-spam "SPAM.subjects")
(from author-spam "SPAM.authors")
("Received" domain-spam "SPAM.domains")
("Keywords" keyword-spam "SPAM.keywords")
(to "xemacs-\\(people\\|request\\|users\\|webmaint\\|winnt\\|nt\\)+@xemacs\\.org"
"SPAM.xemacs")
(to "youngs@xemacs\\.org" "SPAM.xemacs")
(from mail "returned.mail")
("Subject"
"\\(Logs:.*\\|Mail Stats\\|eicq Daily Usenet\\|var/log/.*\\)" "private.logs")
(any "\\(eicq\\|mh-e\\|bbdb\\|tramp\\|xemacs\\)-\\b\\(\\w+\\)@\\(\\(lists\\.\\)?\\(sf\\|sourceforge\\)\\.net\\|\\(mail\\.freesoftware\\.fsf\\|gnu\\|nongnu\\|xemacs\\)\\.org\\)"
"\\1.\\2")
(from "noreply@sourceforge\\.net" "eicq.admin")
(from "mailman-owner@lists\\.\\(sf\\|sourceforge\\)\\.net"
"eicq.admin")
(any "ding@\\(hpc\\.uh\\.edu\\|gnus\\.org\\)" "gnus.ding")
(to "cvslog@quimby\\.gnus\\.org" "gnus.cvs")
(from "freshmeat-news" "freshmeat.news")
(from "Administrator@jobnet\\.com\\.au" "employment")
(from "subscriber\\.email@jobs\\.jobserve\\.com" "employment")
(any "icq-devel" "icq.devel")
(any "sql-ledger-users" "sql.ledger")
(any "inn-workers" "inn.workers")
(any "linux-kernel@vger\\.kernel\\.org" "linux.kernel")
(to
"steve$\\|steve@\\(localhost\\|eicq\\.dnsalias\\.org\\)"
"private.local")
(to "\\(sr\\)?youngs\\(_steve\\)?@\\(bigpond\\.net\\.au\\|tux\\.org\\|users\\.sourceforge\\.net\\|yahoo\\.co\\.uk\\)" "private.net")
"INBOX"))
(gnus-demon-init)
(gnus-demon-add-rescan)
(defun steve-scan-new-messages ()
"Scan for new mail and news every 15 minutes."
(when (gnus-alive-p)
(save-excursion
(set-buffer gnus-group-buffer)
(gnus-group-get-new-news))))
(gnus-demon-add-handler 'steve-scan-new-messages 15 nil)
(setq
gnus-decay-scores t
gnus-default-adaptive-score-alist
'((gnus-ancient-mark)
(gnus-catchup-mark (subject -1))
(gnus-del-mark (subject -1))
(gnus-dormant-mark (from 4) (subject 2))
(gnus-expirable-mark)
(gnus-forwarded-mark (subject 2))
(gnus-kill-file-mark)
(gnus-killed-mark (from -1) (subject -3))
(gnus-low-score-mark)
(gnus-read-mark (from 1) (subject 3))
(gnus-replied-mark (from 3) (subject 15))
(gnus-spam-mark (from -999) (subject -5))
(gnus-ticked-mark (from 4) (subject 5))
(gnus-unread-mark))
gnus-home-score-file 'gnus-hierarchial-home-score-file
gnus-kill-files-directory (concat gnus-directory "score/")
gnus-score-find-score-files-function
'(gnus-score-find-bnews bbdb/gnus-score)
gnus-use-adaptive-scoring t)
(defun gnus-scum-expunge ()
"Remove this spammer from existance as much as possible."
(interactive)
(let ((oldscfile gnus-current-score-file))
(gnus-score-change-score-file "SPAMMERS")
(gnus-summary-score-entry
"Subject" (aref (gnus-summary-article-header) 1) 'S' -1 nil nil nil nil)
(gnus-summary-score-entry
"From" (aref (gnus-summary-article-header) 2) 'S' -9999 nil nil nil nil)
(gnus-score-change-score-file oldscfile)
(gnus-score-save)))
(define-key gnus-summary-mode-map '"\C-cx" 'gnus-scum-expunge)
(unless (member '("^.*/SPAMMERS$" . gnus-score-mode) auto-mode-alist)
(add-to-list 'auto-mode-alist '("^.*/SPAMMERS$" . gnus-score-mode)))
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-date
gnus-thread-sort-by-number
gnus-thread-sort-by-subject
gnus-thread-sort-by-total-score))
(add-hook 'gnus-article-prepare-hook
'(lambda ()
(gnus-article-date-lapsed)
(gnus-article-highlight-signature)
(footnote-balloons)))
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
(add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)
(add-hook 'gnus-server-mode-hook 'font-lock-mode)
(add-hook 'gnus-summary-prepared-hook
'(lambda ()
(when gnus-newsgroup-unseen
(gnus-summary-limit-to-unseen))
(gnus-summary-limit-to-score -6)))
(define-key gnus-topic-mode-map [(space)] 'gnus-topic-select-group)
(add-hook 'message-header-setup-hook 'steve-message-header-setup-hook)
(add-hook 'message-send-hook
'(lambda ()
(ispell-message)
(message-keyword-insert)))
(add-hook 'message-sent-hook
'(lambda ()
(gnus-score-followup-article)
(gnus-score-followup-thread)))
(add-hook 'nnmail-prepare-incoming-message-hook 'message-auto-keyword-insert)
(defvar message-mode-abbrev-table nil
"Abbrevs to use while in message mode.")
(define-abbrev-table 'message-mode-abbrev-table ())
(add-hook 'message-mode-hook
'(lambda ()
(setq local-abbrev-table message-mode-abbrev-table)))
(setq gnus-extra-headers
'(To Newsgroups))
(setq nnmail-extra-headers gnus-extra-headers)
(defvar sy-want-sexy-tree t
"If non-nil, use a sexy unicode slrn-like threading tree.")
(if sy-want-sexy-tree
(progn
(if (<= emacs-minor-version 4)
(progn
(let* ((dir (file-name-as-directory
(expand-file-name "etc/mule-not-21.5/lisp/mule-ucs"
(getenv "HOME"))))
(autos (expand-file-name "auto-autoloads.elc" dir))
(customs (expand-file-name "custom-load.elc" dir)))
(when (not (featurep 'mule-ucs-autoloads))
(push dir load-path)
(when (file-exists-p autos)
(load autos))
(when (file-exists-p customs)
(load customs)))
(require 'un-define)
(defalias 'sy-unicode-to-char 'ucs-to-char)))
(defalias 'sy-unicode-to-char 'unicode-to-char))
(setq gnus-summary-line-format
"%U%R%z%(%[%4L%]: %B%-55,55s%) |%uX%f\n")
(setq gnus-summary-same-subject "")
(setq gnus-sum-thread-tree-root
(concat (char-to-string (sy-unicode-to-char 9733)) " "))
(setq gnus-sum-thread-tree-false-root
(concat (char-to-string (sy-unicode-to-char 9734)) " "))
(setq gnus-sum-thread-tree-single-indent "")
(setq gnus-sum-thread-tree-leaf-with-other
(concat (char-to-string (sy-unicode-to-char 9584))
(char-to-string (sy-unicode-to-char 8594))
" "))
(setq gnus-sum-thread-tree-vertical
(concat (char-to-string (sy-unicode-to-char 9474)) " "))
(setq gnus-sum-thread-tree-single-leaf
(concat (char-to-string (sy-unicode-to-char 9584))
(char-to-string (sy-unicode-to-char 8594))
" ")))
(setq gnus-summary-line-format
"%U%R%z%(%[%4L%]: %I%-55,55s%) |%uX%f\n")
(setq gnus-summary-same-subject "|-->"))
(setq gnus-group-line-format
"%m\%S\%p\%P\%5y (\%U): %-40,40g %6,6~(cut 2)d [Tick \%T Dmnt \%I]\n")
(setq gnus-ignored-from-addresses
"Steve Youngs")
(setq gnus-ignored-headers nil)
(setq gnus-visible-headers
(mapconcat 'regexp-quote
'("From:" "Newsgroups:" "Subject:" "Date:" "Organization:"
"Keywords:" "To:" "Cc:" "Gnus-Warning:" "X-Sent:"
"X-URL:" "X-Homepage:" "User-Agent:" "X-Newsreader:"
"X-Mailer:" "X-Reviewer-Action:" "X-Now-Playing:"
"X-Spam-Level:" "X-Spam-Flag:" "Followup-To:"
"Mail-Followup-To:" "Reply-To:")
"\\|"))
(setq gnus-article-date-lapsed-new-header t)
(gnus-start-date-timer)
(setq message-tab-body-function 'tab-to-tab-stop)
(gnus-mailing-list-mode)
(setq message-subscribed-address-functions
'(gnus-find-subscribed-addresses))
(setq
message-make-forward-subject-function
'message-forward-subject-fwd
message-wash-forwarded-subjects t
message-forward-ignored-headers
(mapconcat 'regexp-quote
'("X-" "Xref" "User-Agent:" "Gnus" "Keywords:"
"Organization:" "Return-Path:" "Received:"
"References:" "Sender:" "Errors-To:" "List-"
"Precedence:" "Priority:" "Lines:" "Content-"
"In-Reply-To:")
"\\|"))
(setq message-hidden-headers "\\(X-\\)?Face")
Copyright © 2003 Steve Youngs
Verbatim copying and distribution is permitted in any medium,
providing this notice is preserved.
Last modified: Wed Mar 3 09:53:08 EST 2004