Gnus development mailing list
 help / color / mirror / Atom feed
* Latest CVS gives error in ~/.gnus
@ 2001-07-28 11:35 Steve Youngs
  2001-07-29  6:01 ` Steve Youngs
  0 siblings, 1 reply; 2+ messages in thread
From: Steve Youngs @ 2001-07-28 11:35 UTC (permalink / raw)


After a cvs update earlier today, I can no longer start Gnus.  It
tells me:

Error in ~/.gnus: (end-of-file internal input stream)

Before you say "...you've got a problem in your ~/.gnus...", why does
the version of Gnus that I'm using right now with the same file work
fine?  But just in case, I've included my ~/.Gnus.el at the end of
this email (sorry for the size).


Here's the backtrace:

  # bind (standard-output stack-trace-on-signal debug-on-signal stack-trace-on-error debug-on-error)
  signal(error ("Error in ~/.gnus: (end-of-file internal input stream)"))
  # bind (args datum)
  cerror("Error in %s: %s" "~/.gnus" (end-of-file "internal input stream"))
  apply(cerror "Error in %s: %s" ("~/.gnus" (end-of-file "internal input stream")))
  # bind (args datum)
  error("Error in %s: %s" "~/.gnus" (end-of-file "internal input stream"))
  # bind (var files file inhibit-next)
  gnus-read-init-file()
  # bind (slave dont-connect arg)
  gnus-1(nil nil nil)
  # bind (slave dont-connect arg)
  gnus()
  #<compiled-function nil "...(49)" [toolbar-news-frame-plist toolbar-news-use-separate-frame toolbar-news-frame gnus frame-live-p make-frame add-hook gnus-exit-gnus-hook #<compiled-function nil "...(18)" ... 2> select-frame framep frame-iconified-p deiconify-frame raise-frame] 3 1092892 nil>()
  call-interactively(toolbar-gnus)
  # bind (command)
  #<compiled-function nil "...(27)" [toolbar-news-commands-alist toolbar-news-reader command error "Unkown news reader %s" call-interactively eval] 4 1092937 nil>()
  call-interactively(toolbar-news)
  # bind (callback button event)
  release-and-activate-toolbar-button(#<buttonup-event button1up>)
  # bind (command-debug-status)
  call-interactively(release-and-activate-toolbar-button)
  # (condition-case ... . error)
  # (catch top-level ...)


;; $Id: .Gnus.el,v 1.5 2001-07-26 01:03:09+10 steve Exp steve $
;:*=======================
;:* Legalese (aka Copyright)
;; Copyright (C) 2001 Steve Youngs <youngs@xemacs.org>


;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
;:*=======================
;:* Use a byte-compiled .gnus file
(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."
  (cond
   ((file-newer-than-file-p "~/.Gnus.el" "~/.gnus")
    (let ((mode-line-format 
           "*** PLEASE STANDBY: RECOMPILING .Gnus.el **"))
      (yow)
      (sit-for 2)
      (byte-compile-file "~/.Gnus.el")
      (message ".gnus recompiled --- reloading ...")
      (rename-file "~/.Gnus.elc" "~/.gnus" t))
    (load "~/.gnus" t t t)
    (message "Gnus.el recompiled"))))
(Gnus-Wait)
;:*=======================
;:* Requires
(require 'boxquote)
(require 'mailcrypt)
(require 'gnus-score)
(require 'earcon)
(require 'gnus-ml)
(require 'mailcap)
;:*=======================
;:* I'm an expert!
(setq gnus-expert-user t)
;:*=======================
;:* Posting Styles
(setq gnus-posting-styles
      '((".*" 
	 (name "Steve Youngs")
	 (address "syoungs@dingoblue.net.au")
	 (organization "Linux Users - Fanatics Dept.")
	 (signature-file "~/Gnus/sigs/default.sig")
	 ("X-Attribution" "SY")
	 (eval (setq face-file "~/etc/XEmacs/xface.koala")))
	("^nnfolder:xemacs-patches"
	 (address "youngs@xemacs.org")
	 (organization "The XEmacs Development Team")
	 ("X-URL" "<http://www.xemacs.org/")
	 ("X-Reviewer-Action" "")
	 (signature-file "~/Gnus/sigs/xemacs.sig")
	 (eval (setq mc-gpg-comment
		     "The XEmacs Development Team."))
	 (eval (setq face-file "~/etc/XEmacs/xface.xemacs")))
	("^nnfolder:xemacs.*\\|^nnfolder:Gnus.*\\|^comp.emacs.*\\|^gnu.*\\|^nnfolder:bbdb.*"
	 (address "youngs@xemacs.org")
	 (organization "The XEmacs Development Team")
	 ("X-URL" "<http://www.xemacs.org/>")
	 (signature-file "~/Gnus/sigs/xemacs.sig")
	 (eval (setq mc-gpg-comment
		     "The XEmacs Development Team."))
	 (eval (setq face-file "~/etc/XEmacs/xface.xemacs")))
	("^alt.*"
	 (signature-file "~/Gnus/sigs/usenet.sig")
	 (eval (setq face-file "~/etc/XEmacs/xface.koala")))
	("^nnfolder:private-local"
	 (address "steve@slackware.mynet.pc")
	 (signature-file "~/Gnus/sigs/local.sig")
	 (eval (setq face-file "~/etc/XEmacs/xface.steve")))
	("^nnfolder:eicq.*"
	 (address "youngs@xemacs.org")
	 (signature-file "~/Gnus/sigs/eicq.sig")
	 (organization "Eicq - An ICQ client for XEmacs.")
	 ("X-Attribution" "Eicq")
	 ("X-URL" "<http://eicq.sourceforge.net/>")
	 (eval (setq face-file "~/etc/XEmacs/xface.xemacs")))
	("^nnfolder:private-Tiffany"
	 (name "Daddy")
	 (organization "Tiffany's Terrific!")
	 (signature-file "~/Gnus/sigs/tiffany.sig")
	 ("X-Attribution" "Dad")
	 (eval (setq face-file "~/etc/XEmacs/xface.koala")))
	("^nnfolder:employment"
	 (organization "Hire me for Increased Productivity & Profits")
	 (signature-file "~/Gnus/sigs/employment.sig")
	 (eval (setq face-file "~/etc/XEmacs/xface.steve"))
	 ("X-URL" "<http://resume.jobnet.com.au/resume/youngs22.html>"))))
;:*=======================
;:* Washing Mail
(setq 
 gnus-treat-highlight-signature 'last
 gnus-treat-buttonize t
 gnus-treat-buttonize-head 'head
 gnus-treat-emphasize t
 gnus-treat-hide-boring-headers 'head
 gnus-treat-strip-pgp t
 gnus-treat-strip-pem t
 gnus-treat-highlight-headers 'head
 gnus-treat-highlight-citation t
 gnus-treat-highlight-signature t
 gnus-treat-date-original 'head
 gnus-treat-display-xface 'head
 gnus-treat-display-smileys t
 gnus-treat-display-picons 'head
 gnus-treat-fill-long-lines 90
 gnus-treat-play-sounds t
 gnus-treat-translate t
 nnmail-treat-duplicates 'delete)
(add-to-list 'mm-discouraged-alternatives "text/html")
;:*=======================
;:* Insert my X-Face
(defvar face-file "~/etc/XEmacs/xface.koala")

(defun steve-insert-xface ()
  "Insert an X-Face header to outgoing mail.
Hang it off the appropriate message send hook."
  (save-excursion
    (goto-char (point-min))
    (search-forward mail-header-separator)
    (beginning-of-line)
    (insert "X-Face:")
    (insert-file-contents face-file)))
;:*=======================
;:* Picons
(setq
 gnus-picons-database "/usr/local/faces/"
 gnus-picons-display-where 'article
 gnus-picons-group-excluded-groups "^nnfolder.*"
 gnus-picons-user-directories '("users" "unknown" "misc")
 gnus-picons-domain-directories '("domains" "unknown" "misc")
 gnus-picons-news-directories '("news" "misc" "unknown")
 gnus-picons-refresh-before-display t)
;:*=======================
;:* Create a customised message-id
(defun message-make-message-id ()
  "Make a unique Message-ID."
  (concat "<microsoft-free." (message-unique-id)
	  "@slackware.mynet.pc>"))
;:*=======================
;:* Signature Separator
(setq gnus-signature-separator
      "^\\(--  \\|^-- *\\|_________*\\)$") 
;:*=======================
;:* Supercite Settings
(autoload 'sc-cite-original     "supercite" "Supercite 3.1" t)
(autoload 'sc-submit-bug-report "supercite" "Supercite 3.1" t)
(defvar sc-rewrite-header-list
  '((sc-no-header)
    (sc-no-blank-line-or-header)
    (sc-header-inarticle-wrote)
    (sc-header-verbose)
    (sc-header-on-said)
    (sc-header-regarding-adds)
    (sc-header-attributed-wrote)
    (sc-header-author-wrote))
  "*List of reference header rewrite functions. The variable
  `sc-preferred-header-style' controls which function in this list is
  chosen for automatic reference header insertions. Electric reference
  mode will cycle through this list of functions.")
(setq sc-preferred-attribution-list
      (list
       '"sc-lastchoice"
       "x-attribution"
       "sc-consult"
       "initials"
       "firstname"
       "emailname" 
       "lastname"))
(setq 
 message-cite-function 'sc-cite-original
 sc-message-cite-original-without-signature t
 news-reply-header-hook nil
 sc-confirm-always-p nil
 sc-preferred-header-style 4
 sc-auto-fill-region-p nil
 sc-fixup-whitespace-p t 
 sc-electric-references-p t
 sc-cite-blank-lines-p nil
 sc-nested-citation-p nil
 sc-citation-leader "  "
 sc-citation-separator ""
 sc-reference-tag-string "|--==> "
 sc-citation-delimiter "> ")
;:*=======================
;:* GnuPG Settings
(mc-setversion "gpg")
(setq mml2015-use 'mailcrypt)
(autoload 'mc-install-write-mode "mailcrypt" nil t)
(autoload 'mc-install-read-mode "mailcrypt" nil t)
(define-key message-mode-map      [f7] 'mml-secure-sign-pgpmime)
(define-key message-mode-map      [f8] 'mml-secure-encrypt-pgpmime)
(define-key gnus-summary-mode-map [f7] 'gnus-summary-force-verify-and-decrypt)
(setq mc-gpg-comment
      "Processed by: Slackware GNU/Linux -> XEmacs -> Gnus -> Mailcrypt")
;:*=======================
;:* Mail and News Sources (where does the mail come from)
(setq mail-sources
      '((directory :path "~/mail/"
		   :suffix ""
		   :plugged t)))
(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/"
 gnus-directory "~/Gnus/")
(add-to-list 'gnus-secondary-select-methods
	     '(nnfolder "saved-messages"
			(nnfolder-directory "~/Gnus/save/") 
			(nnfolder-active-file "~/Gnus/save/active")))
(add-to-list 'gnus-secondary-select-methods
	     '(nnfolder ""
			(nnfolder-directory "~/Gnus/mail/")
			(nnfolder-active-file "~/Gnus/mail/active")
			(nnfolder-get-new-mail t)))
;:*=======================
;:* Archive - putting sent mail and news somewhere
(setq gnus-message-archive-method
      '(nnfolder "archive"
		 (nnfolder-inhibit-expiry t)
		 (nnfolder-active-file "~/Gnus/sent/active")
		 (nnfolder-directory "~/Gnus/sent/")))
(setq gnus-message-archive-group
      '((if (message-news-p)
	    (concat "sent-news-" 
		    (format-time-string "%b-%y"))
	  (concat "sent-mail-" 
		  (format-time-string "%b-%y")))))
;:*=======================
;:* Daemons: Do stuff automagically.
(setq gnus-use-demon t)
(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)
;:*=======================
;:* Scoring
(defun steve-score-limit ()
  "Anything below this won't show in the summary buffer."
  (setq gnus-summary-expunge-below -6))
(setq
 gnus-home-score-file
 'gnus-hierarchial-home-score-file
 gnus-kill-files-directory (concat gnus-directory "score/"))
(defun gnus-decay-score (score)
  "Decay SCORE.
     This is done according to `gnus-score-decay-constant'
     and `gnus-score-decay-scale'."
  (floor
   (- score
      (* (if (< score 0) 1 -1)
         (min (abs score)
              (max gnus-score-decay-constant
                   (* (abs score)
                      gnus-score-decay-scale)))))))
(setq gnus-use-adaptive-scoring t)
(setq gnus-default-adaptive-score-alist
  '((gnus-unread-mark)
    (gnus-ticked-mark (from 4))
    (gnus-dormant-mark (from 5))
    (gnus-del-mark (from -4) (subject -1))
    (gnus-read-mark (from 1) (subject 1))
    (gnus-expirable-mark (from -1) (subject -2))
    (gnus-killed-mark (from -1) (subject -3))
    (gnus-kill-file-mark)
    (gnus-ancient-mark)
    (gnus-low-score-mark)
    (gnus-catchup-mark (subject -5))))
;:*=======================
;:* quick nuke people :-)
;; This function should be called from the summary buffer with point
;; on the article to nuke.  
;; It needs an entry in all.SCORE of (files "/usr/agb/News/SPAMMERS").
(global-set-key "\C-cx" 'gnus-scum-expunge)
(defun gnus-scum-expunge ()
  "Remove this spammer from existance as much as possible."
  (interactive)
  (let* ((hdr (gnus-summary-article-header))
         (subj (aref hdr 1))
         (auth (aref hdr 2))
         (artid (aref hdr 4))
         (atsign (string-match "@" artid))
         (host (substring artid (+ atsign 1) (- (length artid) 1)))
         (oldscfile gnus-current-score-file))
    (gnus-score-change-score-file "SPAMMERS")
    (gnus-summary-score-entry "Subject" subj 'S' -1000 nil)
    (gnus-summary-score-entry "From" auth 'S' -1001 nil)
    (gnus-summary-score-entry "Message-ID" host 'S' -5 nil) ; mild
    (gnus-score-change-score-file oldscfile)
    (gnus-score-save)))
;; Sorting by thread & score
(setq gnus-thread-sort-functions
      '(gnus-thread-sort-by-number
        gnus-thread-sort-by-subject
        gnus-thread-sort-by-total-score))
;:*=======================
;:* Hooks
(add-hook 'gnus-article-prepare-hook 'gnus-article-date-lapsed)
(add-hook 'gnus-article-display-hook 'gnus-article-display-picons)
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
(add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)
(add-hook 'gnus-summary-mode-hook 'mc-install-read-mode)
(add-hook 'gnus-summary-mode-hook 'steve-score-limit)
(add-hook 'mail-citation-hook 'sc-cite-original)
(add-hook 'mail-mode-hook 'mc-install-write-mode)
(add-hook 'message-mode-hook 'mc-install-write-mode)
(add-hook 'message-send-hook 'ispell-message)
(add-hook 'message-send-hook 'steve-insert-xface)
(add-hook 'message-sent-hook 'gnus-score-followup-article)
(add-hook 'message-sent-hook 'gnus-score-followup-thread)
(add-hook 'news-reply-mode-hook 'mc-install-write-mode)
(add-hook 'sc-load-hook 'sc-setup-filladapt)
(add-hook 'sc-pre-hook
          '(lambda()
             (save-excursion
               (let ((start (point))
                     (end (mark t)))
                 (goto-char end)
                 (when (re-search-backward gnus-signature-separator start t)
                   (forward-line -1)
                   (while (looking-at "[ \t]*$")
                     (forward-line -1))
                   (forward-line 1)
                   (setq mark (set-marker (make-marker) (point)))
                   (delete-region mark (mark t)))))))
;:*=======================
;:* Formats
(setq gnus-extra-headers
      '(To Newsgroups))
(setq nnmail-extra-headers gnus-extra-headers)
(setq gnus-summary-line-format
      "%U%R%z%(%[%4L%]: %I%-55,55s%) |%f\n")
(setq gnus-group-line-format
      "%m\%M\%S\%p\%P\%5y: %-40,40g %6,6~(cut 2)d\n")
(setq gnus-ignored-from-addresses
      "Steve Youngs")
(setq gnus-summary-same-subject "|-->")
;; Headers that I want to see.
(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-Spammer:" "X-junkfilter:" "X-Reviewer-Action:") 
		 "\\|"))
;; Start a timer to update the X-Sent header
(setq gnus-article-date-lapsed-new-header t)
(gnus-start-date-timer)
;:*=======================
;:* Initiate Mailing list magic
(gnus-mailing-list-mode)
;:*=======================
;:* Kudos:
;; The majority of this has been shamelessly stolen from Robin S. Socha's
;; .gnus file.  Take a look at <http://socha.net/Gnus/>.  Robin, it's
;; your fault that I can no longer use any other MUA.  Thanks! :-)

;; Robin's original comments reproduced here.  It's the least I could
;; do. 

;; ==================================================================
;; Layout stolen from Erik Selberg's GNUS hacks... (gnus-load.el)
;; Kudos to Markus Dickebohm for getting me started and running.
;; A lot of stuff stolen form the people on Lars Magne Ingebrigtsen's
;; site, too.
;;                         http://www.gnus.org
;; garym.gnus.el     lebel.gnus.el     visigoth.gnus.el
;; dmoore.gnus.el    elf.gnus.el       kai.gnus.el       paul.gnus.el
;; flognat.gnus.el   larsi.gnus.el     toreo.gnus.el
;;
;; CAVEATS
;; This thing will not run out of the box. Duuuhh...
;; I'm using a couple of packages that will not be on your system.
;; Some things are done in a Rambo kinda way - I'm *not* a programmer
;; and I don't know anything about lisp, you know }:-> So don't
;; expect anything fancy in here... This is just another .Gnus.el that
;; might only be of interest for someone who's doing a lot of
;; email/news. So - enjoy...
;; ==================================================================
;:*=======================
;:* That's all Folks.
;; $Log: .Gnus.el,v $
;; Revision 1.5  2001-07-26 01:03:09+10  steve
;; Set up multiple xfaces.
;;
;; Revision 1.4  2001-06-14 14:22:15+10  steve
;; Removed news.freshmeat.net (I prefer to do everything offline)
;;
;; Revision 1.3  2001-06-14 12:04:59+10  steve
;; Added news.freshmeat.net
;;
;; Revision 1.2  2001-05-24 13:46:11+10  steve
;; Rilly rilly big clean up.
;; Way too much to document here.
;; Besides, I can't remember most of
;; what I changed. :-(
;;
;; Revision 1.1  2001-02-07 21:30:16+10  steve
;; Initial revision
;;



;Local Variables:
;mode:emacs-lisp
;outline-regexp: ";:\\*"
;eval:(outl-mouse-minor-mode 1)
;eval:(hide-body)
;End:

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;; Controlling editing this file:

;; This file is in mouse outline minor mode so you can navigate with your
;; rat.  Or you can use the keyboard:

;;        C-c @ C-n - Next heading.
;;        C-c @ C-p - Previous heading.
;;        C-c @ C-e - Show entry.
;;        C-c @ C-c - Hide entry.
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



-- 
|---<Steve Youngs>---------------<GnuPG KeyID: 9E7E2820>---|
|            XEmacs - It's not just an editor.             |
|                    It's a way of life.                   |
|------------------------------------<youngs@xemacs.org>---|


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Latest CVS gives error in ~/.gnus
  2001-07-28 11:35 Latest CVS gives error in ~/.gnus Steve Youngs
@ 2001-07-29  6:01 ` Steve Youngs
  0 siblings, 0 replies; 2+ messages in thread
From: Steve Youngs @ 2001-07-29  6:01 UTC (permalink / raw)


|--==> "SY" == Steve Youngs <youngs@xemacs.org> writes:

  SY> After a cvs update earlier today, I can no longer start Gnus.  It
  SY> tells me:

  SY> Error in ~/.gnus: (end-of-file internal input stream)

I fixed the problem by moving all my Supercite settings out of
~/.Gnus.el and into their own file.  And then requiring that file in
~/.Gnus.el.

I have absolutely no idea why.

  SY> Before you say "...you've got a problem in your ~/.gnus...", why does
  SY> the version of Gnus that I'm using right now with the same file work
  SY> fine?  

Oh well... open mouth, insert foot...

-- 
|---<Steve Youngs>---------------<GnuPG KeyID: 9E7E2820>---|
|            XEmacs - It's not just an editor.             |
|                    It's a way of life.                   |
|------------------------------------<youngs@xemacs.org>---|


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-07-29  6:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-28 11:35 Latest CVS gives error in ~/.gnus Steve Youngs
2001-07-29  6:01 ` Steve Youngs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).