*** pub/qgnus/lisp/dgnushack.el	Wed Sep 17 03:33:29 1997
--- qgnus/lisp/dgnushack.el	Sat Sep 20 23:33:28 1997
***************
*** 31,36 ****
--- 31,37 ----
  (require 'cl)
  (require 'bytecomp)
  (push "." load-path)
+ (push "~/lisp/custom" load-path)
  (require 'lpath)
  
  (defalias 'device-sound-enabled-p 'ignore)
*** pub/qgnus/lisp/gnus-agent.el	Thu Sep 18 05:00:57 1997
--- qgnus/lisp/gnus-agent.el	Sat Sep 20 23:33:28 1997
***************
*** 243,254 ****
--- 243,264 ----
  agent minor mode in all Gnus buffers."
    (interactive)
    (add-hook 'gnus-before-startup-hook 'gnus-open-agent)
+   (add-hook 'gnus-setup-news-hook 'gnus-agent-queue-setup)
    (unless gnus-agent-send-mail-function 
      (setq gnus-agent-send-mail-function message-send-mail-function
  	  message-send-mail-function 'gnus-agent-send-mail))
    (unless gnus-agent-covered-methods
      (setq gnus-agent-covered-methods (list gnus-select-method))))
  
+ (defun gnus-agent-queue-setup ()
+   "Make sure the queue group exists."
+   (unless (gnus-gethash "nndraft:queue" gnus-newsrc-hashtb)
+     (gnus-request-create-group "queue" '(nndraft ""))
+     (let ((gnus-level-default-subscribed 1))
+       (gnus-subscribe-group "nndraft:queue" nil '(nndraft "")))
+     (gnus-group-set-parameter
+      "nndraft:queue" 'gnus-dummy '((gnus-draft-mode)))))
+ 
  (defun gnus-agent-send-mail ()
    (if gnus-plugged
        (funcall gnus-agent-send-mail-function)
***************
*** 256,262 ****
      (re-search-forward
       (concat "^" (regexp-quote mail-header-separator) "\n"))
      (replace-match "\n")
!     (gnus-request-accept-article "nndraft:drafts")))
  
  ;;;
  ;;; Group mode commands
--- 266,272 ----
      (re-search-forward
       (concat "^" (regexp-quote mail-header-separator) "\n"))
      (replace-match "\n")
!     (gnus-request-accept-article "nndraft:queue")))
  
  ;;;
  ;;; Group mode commands
*** pub/qgnus/lisp/gnus-draft.el	Wed Sep 17 03:33:31 1997
--- qgnus/lisp/gnus-draft.el	Sat Sep 20 23:33:28 1997
***************
*** 88,94 ****
    (interactive)
    (gnus-set-global-variables)
    (let ((article (gnus-summary-article-number)))
!     (gnus-draft-setup article)
      (push
       `((lambda ()
  	 (when (buffer-name (get-buffer ,gnus-summary-buffer))
--- 88,94 ----
    (interactive)
    (gnus-set-global-variables)
    (let ((article (gnus-summary-article-number)))
!     (gnus-draft-setup article gnus-newsgroup-name)
      (push
       `((lambda ()
  	 (when (buffer-name (get-buffer ,gnus-summary-buffer))
***************
*** 112,118 ****
  
  (defun gnus-draft-send (article)
    "Send message ARTICLE."
!   (gnus-draft-setup article)
    (message-send-and-exit))
  
  (defun gnus-draft-send-all-messages ()
--- 112,119 ----
  
  (defun gnus-draft-send (article)
    "Send message ARTICLE."
!   (message "In gnus-draft-send, article is %s" article)
!   (gnus-draft-setup article "nndraft:queue")
    (message-send-and-exit))
  
  (defun gnus-draft-send-all-messages ()
***************
*** 122,136 ****
    (gnus-draft-send-message))
  
  (defun gnus-group-send-drafts ()
!   "Send all sendable articles from the draft group."
    (interactive)
!   (gnus-request-group "nndraft:drafts")
    (save-excursion
      (let ((articles (nndraft-articles))
  	  (unsendable (gnus-uncompress-range
  		       (cdr (assq 'unsend
  				  (gnus-info-marks
! 				   (gnus-get-info "nndraft:drafts"))))))
  	  article)
        (while (setq article (pop articles))
  	(unless (memq article unsendable)
--- 123,137 ----
    (gnus-draft-send-message))
  
  (defun gnus-group-send-drafts ()
!   "Send all sendable articles from the queue group."
    (interactive)
!   (gnus-request-group "nndraft:queue")
    (save-excursion
      (let ((articles (nndraft-articles))
  	  (unsendable (gnus-uncompress-range
  		       (cdr (assq 'unsend
  				  (gnus-info-marks
! 				   (gnus-get-info "nndraft:queue"))))))
  	  article)
        (while (setq article (pop articles))
  	(unless (memq article unsendable)
***************
*** 138,149 ****
  
  ;;; Utility functions
  
! (defun gnus-draft-setup (article)
    (gnus-setup-message 'forward
      (message-mail)
      (erase-buffer)
!     (if (not (gnus-request-restore-buffer
! 	      article (or gnus-newsgroup-name "nndraft:drafts")))
  	(error "Couldn't restore the article")
        ;; Insert the separator.
        (goto-char (point-min))
--- 139,151 ----
  
  ;;; Utility functions
  
! (defun gnus-draft-setup (article group)
!   (message "In gnus-draft-setup, article is %s %s" article group)
    (gnus-setup-message 'forward
      (message-mail)
      (erase-buffer)
!     (message "Article is %s" article)
!     (if (not (gnus-request-restore-buffer article group))
  	(error "Couldn't restore the article")
        ;; Insert the separator.
        (goto-char (point-min))
***************
*** 160,163 ****
  (provide 'gnus-draft)
  
  ;;; gnus-draft.el ends here
- 
--- 162,164 ----
*** pub/qgnus/lisp/gnus-start.el	Wed Sep 17 03:33:32 1997
--- qgnus/lisp/gnus-start.el	Sat Sep 20 23:33:29 1997
***************
*** 348,353 ****
--- 348,358 ----
    :group 'gnus-start
    :type 'hook)
  
+ (defcustom gnus-setup-news-hook nil
+   "A hook after reading the .newsrc file, but before generating the buffer."
+   :group 'gnus-start
+   :type 'hook)
+ 
  (defcustom gnus-get-new-news-hook nil
    "A hook run just before Gnus checks for new news."
    :group 'gnus-group-new
***************
*** 690,695 ****
--- 695,701 ----
  
  	  ;; Do the actual startup.
  	  (gnus-setup-news nil level dont-connect)
+ 	  (run-hooks 'gnus-setup-news-hook)
  	  (gnus-start-draft-setup)
  	  ;; Generate the group buffer.
  	  (gnus-group-list-groups level)
*** pub/qgnus/lisp/gnus.el	Thu Sep 18 05:00:58 1997
--- qgnus/lisp/gnus.el	Sat Sep 20 23:33:30 1997
***************
*** 244,250 ****
    :link '(custom-manual "(gnus)Exiting Gnus")
    :group 'gnus)
  
! (defconst gnus-version-number "0.7"
    "Version number for this version of Gnus.")
  
  (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
--- 244,250 ----
    :link '(custom-manual "(gnus)Exiting Gnus")
    :group 'gnus)
  
! (defconst gnus-version-number "0.8"
    "Version number for this version of Gnus.")
  
  (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
*** pub/qgnus/lisp/message.el	Thu Sep 18 05:00:59 1997
--- qgnus/lisp/message.el	Sat Sep 20 23:33:31 1997
***************
*** 3035,3048 ****
  (defun message-set-auto-save-file-name ()
    "Associate the message buffer with a file in the drafts directory."
    (when message-autosave-directory
!     (setq message-draft-article (nndraft-request-associate-buffer "drafts"))
!     (clear-visited-file-modtime)))
  
  (defun message-disassociate-draft ()
    "Disassociate the message buffer from the drafts directory."
    (when message-draft-article
!     (nndraft-request-expire-articles
!      (list message-draft-article) "drafts" nil t)))
  
  
  
--- 3035,3071 ----
  (defun message-set-auto-save-file-name ()
    "Associate the message buffer with a file in the drafts directory."
    (when message-autosave-directory
!     (cond
!      ((fboundp 'nndraft-request-associate-buffer)
!       (setq message-draft-article (nndraft-request-associate-buffer "drafts"))
!       (clear-visited-file-modtime))
!      (t (unless (file-exists-p message-autosave-directory)
! 	  (make-directory message-autosave-directory t))
! 	(let ((name (make-temp-name
! 		     (expand-file-name
! 		      (concat (file-name-as-directory
! 			       message-autosave-directory)
! 			      "msg."
! 			      (message-replace-chars-in-string
! 			       (message-replace-chars-in-string
! 				(buffer-name) ?* ?.)
! 			       ?/ ?-))))))
! 	  (setq buffer-auto-save-file-name
! 		(save-excursion
! 		  (prog1
! 		      (progn
! 			(set-buffer (get-buffer-create " *draft tmp*"))
! 			(setq buffer-file-name name)
! 			(make-auto-save-file-name))
! 		    (kill-buffer (current-buffer)))))
! 	  (clear-visited-file-modtime))))))
  
  (defun message-disassociate-draft ()
    "Disassociate the message buffer from the drafts directory."
    (when message-draft-article
!     (if (fboundp 'nndraft-request-expire-articles)
! 	(nndraft-request-expire-articles
! 	  (list message-draft-article) "drafts" nil t))))
  
  
  
***************
*** 3722,3727 ****
--- 3745,3765 ----
  	   (set (make-local-variable (car local))
  		(cdr local)))))
       locals)))
+ 
+ ;;; Miscellaneous functions
+ 
+ ;; stolen (and renamed) from nnheader.el
+ (defun message-replace-chars-in-string (string from to)
+   "Replace characters in STRING from FROM to TO."
+   (let ((string (substring string 0))	;Copy string.
+ 	(len (length string))
+ 	(idx 0))
+     ;; Replace all occurrences of FROM with TO.
+     (while (< idx len)
+       (when (= (aref string idx) from)
+ 	(aset string idx to))
+       (setq idx (1+ idx)))
+     string))
  
  (run-hooks 'message-load-hook)
  
*** pub/qgnus/lisp/nnagent.el	Wed Sep 17 03:33:36 1997
--- qgnus/lisp/nnagent.el	Sat Sep 20 23:33:31 1997
***************
*** 105,111 ****
    nil)
  
  (deffoo nnagent-request-post (&optional server)
!   (gnus-request-accept-article "nndraft:drafts"))
  
  ;; Use nnml functions for just about everything.
  (nnoo-import nnagent
--- 105,111 ----
    nil)
  
  (deffoo nnagent-request-post (&optional server)
!   (gnus-request-accept-article "nndraft:queue"))
  
  ;; Use nnml functions for just about everything.
  (nnoo-import nnagent
*** pub/qgnus/lisp/nndraft.el	Thu Sep 18 05:00:59 1997
--- qgnus/lisp/nndraft.el	Sat Sep 20 23:33:31 1997
***************
*** 37,49 ****
  
  (defvoo nndraft-directory (nnheader-concat gnus-directory "drafts/")
    "Where nndraft will store its files."
!   nnmh-current-directory)
  
  
  
  (defvoo nndraft-current-group "" nil nnmh-current-group)
- (defvoo nndraft-top-directory nil nil nnmh-directory)
  (defvoo nndraft-get-new-mail nil nil nnmh-get-new-mail)
  
  (defconst nndraft-version "nndraft 1.0")
  (defvoo nndraft-status-string "" nil nnmh-status-string)
--- 37,49 ----
  
  (defvoo nndraft-directory (nnheader-concat gnus-directory "drafts/")
    "Where nndraft will store its files."
!   nnmh-directory)
  
  
  
  (defvoo nndraft-current-group "" nil nnmh-current-group)
  (defvoo nndraft-get-new-mail nil nil nnmh-get-new-mail)
+ (defvoo nndraft-current-directory nil nil nnmh-current-directory)
  
  (defconst nndraft-version "nndraft 1.0")
  (defvoo nndraft-status-string "" nil nnmh-status-string)
***************
*** 55,66 ****
  (nnoo-define-basics nndraft)
  
  (deffoo nndraft-open-server (server &optional defs)
-   (push `(nndraft-current-group
- 	  ,(file-name-nondirectory (directory-file-name nndraft-directory)))
- 	defs)
-   (push `(nndraft-top-directory
- 	  ,(file-name-directory (directory-file-name nndraft-directory)))
- 	defs)
    (nnoo-change-server 'nndraft server defs)
    (cond
     ((not (file-exists-p nndraft-directory))
--- 55,60 ----
***************
*** 76,81 ****
--- 70,76 ----
      t)))
  
  (deffoo nndraft-retrieve-headers (articles &optional group server fetch-old)
+   (nndraft-possibly-change-group group)
    (save-excursion
      (set-buffer nntp-server-buffer)
      (erase-buffer)
***************
*** 106,111 ****
--- 101,107 ----
  	'headers))))
  
  (deffoo nndraft-request-article (id &optional group server buffer)
+   (nndraft-possibly-change-group group)
    (when (numberp id)
      ;; We get the newest file of the auto-saved file and the
      ;; "real" file.
***************
*** 127,141 ****
  
  (deffoo nndraft-request-restore-buffer (article &optional group server)
    "Request a new buffer that is restored to the state of ARTICLE."
    (when (nndraft-request-article article group server (current-buffer))
      (let ((gnus-verbose-backends nil))
        (nndraft-request-expire-articles (list article) group server t))
      t))
  
  (deffoo nndraft-request-update-info (group info &optional server)
    (gnus-info-set-read
     info
!    (gnus-update-read-articles "nndraft:drafts" (nndraft-articles) t))
    (let (marks)
      (when (setq marks (nth 3 info))
        (setcar (nthcdr 3 info)
--- 123,140 ----
  
  (deffoo nndraft-request-restore-buffer (article &optional group server)
    "Request a new buffer that is restored to the state of ARTICLE."
+   (nndraft-possibly-change-group group)
    (when (nndraft-request-article article group server (current-buffer))
      (let ((gnus-verbose-backends nil))
        (nndraft-request-expire-articles (list article) group server t))
      t))
  
  (deffoo nndraft-request-update-info (group info &optional server)
+   (nndraft-possibly-change-group group)
    (gnus-info-set-read
     info
!    (gnus-update-read-articles (gnus-group-prefixed-name group '(nndraft ""))
! 			      (nndraft-articles) t))
    (let (marks)
      (when (setq marks (nth 3 info))
        (setcar (nthcdr 3 info)
***************
*** 146,151 ****
--- 145,151 ----
  
  (deffoo nndraft-request-associate-buffer (group)
    "Associate the current buffer with some article in the draft group."
+   (nndraft-possibly-change-group group)
    (let ((gnus-verbose-backends nil)
  	(buf (current-buffer))
  	 article file)
***************
*** 160,165 ****
--- 160,166 ----
      article))
  
  (deffoo nndraft-request-expire-articles (articles group &optional server force)
+   (nndraft-possibly-change-group group)
    (let* ((nnmh-allow-delete-final t)
  	 (res (nndraft-execute-nnmh-command
  	       `(nnmh-request-expire-articles
***************
*** 175,200 ****
      res))
  
  (deffoo nndraft-request-accept-article (group &optional server last noinsert)
    (let ((gnus-verbose-backends nil))
      (nndraft-execute-nnmh-command
       `(nnmh-request-accept-article group ,server ,last noinsert))))
  
  (deffoo nndraft-request-create-group (group &optional server args)
!   (if (file-exists-p nndraft-directory)
!       (if (file-directory-p nndraft-directory)
  	  t
  	nil)
      (condition-case ()
  	(progn
! 	  (gnus-make-directory nndraft-directory)
  	  t)
        (file-error nil))))
  
  
  ;;; Low-Level Interface
  
  (defun nndraft-execute-nnmh-command (command)
!   (let* ((dir (directory-file-name (expand-file-name nndraft-directory)))
  	 (group (file-name-nondirectory dir))
  	 (nnmh-directory (file-name-directory dir))
  	 (nnmail-keep-last-article nil)
--- 176,211 ----
      res))
  
  (deffoo nndraft-request-accept-article (group &optional server last noinsert)
+   (nndraft-possibly-change-group group)
    (let ((gnus-verbose-backends nil))
      (nndraft-execute-nnmh-command
       `(nnmh-request-accept-article group ,server ,last noinsert))))
  
  (deffoo nndraft-request-create-group (group &optional server args)
!   (nndraft-possibly-change-group group)
!   (if (file-exists-p nndraft-current-directory)
!       (if (file-directory-p nndraft-current-directory)
  	  t
  	nil)
      (condition-case ()
  	(progn
! 	  (gnus-make-directory nndraft-current-directory)
  	  t)
        (file-error nil))))
  
  
  ;;; Low-Level Interface
  
+ (defun nndraft-possibly-change-group (group)
+   (when (and group
+ 	     (not (equal group nndraft-current-group)))
+     (setq nndraft-current-group group)
+     (setq nndraft-current-directory
+ 	  (nnheader-concat nndraft-directory group))))
+ 
  (defun nndraft-execute-nnmh-command (command)
!   (let* ((dir (directory-file-name
! 	       (expand-file-name nndraft-current-directory)))
  	 (group (file-name-nondirectory dir))
  	 (nnmh-directory (file-name-directory dir))
  	 (nnmail-keep-last-article nil)
***************
*** 203,209 ****
  
  (defun nndraft-article-filename (article &rest args)
    (apply 'concat
! 	 (file-name-as-directory nndraft-directory)
  	 (int-to-string article)
  	 args))
  
--- 214,220 ----
  
  (defun nndraft-article-filename (article &rest args)
    (apply 'concat
! 	 (file-name-as-directory nndraft-current-directory)
  	 (int-to-string article)
  	 args))
  
***************
*** 218,235 ****
  
  (defun nndraft-articles ()
    "Return the list of messages in the group."
!   (gnus-make-directory nndraft-directory)
    (sort
     (mapcar 'string-to-int
! 	   (directory-files nndraft-directory nil "\\`[0-9]+\\'" t))
     '<))
  
! (nnoo-map-functions nndraft
!   (nnmh-retrieve-headers 0 nndraft-current-group 0 0)
!   (nnmh-request-group nndraft-current-group 0 0)
!   (nnmh-close-group nndraft-current-group 0)
!   (nnmh-request-list (nnoo-current-server 'nndraft) nndraft-directory)
!   (nnmh-request-newsgroups (nnoo-current-server 'nndraft) nndraft-directory))
  
  (provide 'nndraft)
  
--- 229,247 ----
  
  (defun nndraft-articles ()
    "Return the list of messages in the group."
!   (gnus-make-directory nndraft-current-directory)
    (sort
     (mapcar 'string-to-int
! 	   (directory-files nndraft-current-directory nil "\\`[0-9]+\\'" t))
     '<))
  
! (nnoo-import nndraft
!   (nnmh
!    nnmh-retrieve-headers
!    nnmh-request-group
!    nnmh-close-group
!    nnmh-request-list 
!    nnmh-request-newsgroups))
  
  (provide 'nndraft)
  
*** pub/qgnus/lisp/nnmh.el	Thu Sep 18 05:00:59 1997
--- qgnus/lisp/nnmh.el	Sat Sep 20 23:33:32 1997
***************
*** 199,211 ****
    (let ((dirs (and (file-readable-p dir)
  		   (> (nth 1 (file-attributes (file-chase-links dir))) 2)
  		   (directory-files dir t nil t)))
! 	dir)
      ;; Recurse down directories.
!     (while (setq dir (pop dirs))
!       (when (and (not (member (file-name-nondirectory dir) '("." "..")))
! 		 (file-directory-p dir)
! 		 (file-readable-p dir))
! 	(nnmh-request-list-1 dir))))
    ;; For each directory, generate an active file line.
    (unless (string= (expand-file-name nnmh-toplev) dir)
      (let ((files (mapcar
--- 199,213 ----
    (let ((dirs (and (file-readable-p dir)
  		   (> (nth 1 (file-attributes (file-chase-links dir))) 2)
  		   (directory-files dir t nil t)))
! 	rdir)
      ;; Recurse down directories.
!     (while (setq rdir (pop dirs))
!       (when (and (not (member (file-name-nondirectory rdir) '("." "..")))
! 		 (file-directory-p rdir)
! 		 (file-readable-p rdir)
! 		 (equal (file-truename rdir)
! 			(file-truename dir)))
! 	(nnmh-request-list-1 rdir))))
    ;; For each directory, generate an active file line.
    (unless (string= (expand-file-name nnmh-toplev) dir)
      (let ((files (mapcar
*** pub/qgnus/lisp/ChangeLog	Thu Sep 18 05:00:56 1997
--- qgnus/lisp/ChangeLog	Sat Sep 20 23:33:27 1997
***************
*** 2,7 ****
--- 2,31 ----
  
  	* gnus.el: Quassia Gnus v0.1 is released.
  
+ Sat Sep 20 23:23:49 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+ 
+ 	* gnus.el: Quassia Gnus v0.8 is released.
+ 
+ Sat Sep 20 20:41:16 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+ 
+ 	* gnus-start.el (gnus-setup-news-hook): New hook.
+ 
+ 	* gnus-agent.el (gnus-agentize): Really set up queue group.
+ 	(gnus-open-agent): Setup queue here.
+ 
+ Sat Sep 20 20:23:07 1997  Matt Simmons  <simmonmt@acm.org>
+ 
+ 	* message.el (message-set-auto-save-file-name): Make things work
+ 	without drafts.
+ 
+ Sat Sep 20 18:32:02 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+ 
+ 	* nnmh.el (nnmh-request-list-1): Check for links to ".".
+ 
+ 	* nndraft.el (nndraft-possibly-change-group): New function.
+ 
+ 	* gnus-agent.el (gnus-agent-queue-setup): New function.
+ 
  Thu Sep 18 04:54:59 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
  
  	* gnus.el: Quassia Gnus v0.7 is released.
*** pub/qgnus/texi/gnus.texi	Thu Sep 18 05:01:03 1997
--- qgnus/texi/gnus.texi	Sat Sep 20 23:33:35 1997
***************
*** 1,7 ****
  \input texinfo                  @c -*-texinfo-*-
  
  @setfilename gnus
! @settitle Quassia Gnus 0.7 Manual
  @synindex fn cp
  @synindex vr cp
  @synindex pg cp
--- 1,7 ----
  \input texinfo                  @c -*-texinfo-*-
  
  @setfilename gnus
! @settitle Quassia Gnus 0.8 Manual
  @synindex fn cp
  @synindex vr cp
  @synindex pg cp
***************
*** 309,315 ****
  @tex
  
  @titlepage
! @title Quassia Gnus 0.7 Manual
  
  @author by Lars Magne Ingebrigtsen
  @page
--- 309,315 ----
  @tex
  
  @titlepage
! @title Quassia Gnus 0.8 Manual
  
  @author by Lars Magne Ingebrigtsen
  @page
***************
*** 345,351 ****
  spool or your mbox file.  All at the same time, if you want to push your
  luck.
  
! This manual corresponds to Quassia Gnus 0.7.
  
  @end ifinfo
  
--- 345,351 ----
  spool or your mbox file.  All at the same time, if you want to push your
  luck.
  
! This manual corresponds to Quassia Gnus 0.8.
  
  @end ifinfo
  
***************
*** 999,1004 ****
--- 999,1009 ----
  @vindex gnus-started-hook
  A hook that is run as the very last thing after starting up Gnus
  successfully.
+ 
+ @item gnus-started-hook
+ @vindex gnus-started-hook
+ A hook that is run after reading the @file{.newsrc} file(s), but before
+ generating the group buffer.
  
  @item gnus-check-bogus-newsgroups
  @vindex gnus-check-bogus-newsgroups
*** pub/qgnus/texi/message.texi	Thu Sep 18 05:01:04 1997
--- qgnus/texi/message.texi	Sat Sep 20 23:33:35 1997
***************
*** 1,7 ****
  \input texinfo                  @c -*-texinfo-*-
  
  @setfilename message
! @settitle Message 0.7 Manual
  @synindex fn cp
  @synindex vr cp
  @synindex pg cp
--- 1,7 ----
  \input texinfo                  @c -*-texinfo-*-
  
  @setfilename message
! @settitle Message 0.8 Manual
  @synindex fn cp
  @synindex vr cp
  @synindex pg cp
***************
*** 39,45 ****
  @tex
  
  @titlepage
! @title Message 0.7 Manual
  
  @author by Lars Magne Ingebrigtsen
  @page
--- 39,45 ----
  @tex
  
  @titlepage
! @title Message 0.8 Manual
  
  @author by Lars Magne Ingebrigtsen
  @page
***************
*** 79,85 ****
  * Key Index::         List of Message mode keys.
  @end menu
  
! This manual corresponds to Message 0.7.  Message is distributed with
  the Gnus distribution bearing the same version number as this manual
  has. 
  
--- 79,85 ----
  * Key Index::         List of Message mode keys.
  @end menu
  
! This manual corresponds to Message 0.8.  Message is distributed with
  the Gnus distribution bearing the same version number as this manual
  has. 
  
*** pub/qgnus/texi/ChangeLog	Thu Sep 18 05:01:04 1997
--- qgnus/texi/ChangeLog	Sat Sep 20 23:33:36 1997
***************
*** 1,3 ****
--- 1,7 ----
+ Sat Sep 20 20:53:43 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+ 
+ 	* gnus.texi (Startup Variables): Addition.
+ 
  1997-09-16  SL Baur  <steve@altair.xemacs.org>
  
  	* gnus.texi: Correct typo.
*** pub/qgnus/GNUS-NEWS	Wed Sep 17 03:33:42 1997
--- qgnus/GNUS-NEWS	Sat Sep 20 23:33:36 1997
***************
*** 1,5 ****
--- 1,14 ----
  ** Gnus changes.
  
+ *** The Gnus alpha distribution no longer bundles Custom and Widget.
+ If your Emacs doesn't come with these libraries, fetch them from
+ <URL:http://www.dina.kvl.dk/~abraham/custom/>.  You also then need to
+ add the following to the lisp/dgnushack.el file:
+ 
+      (push "~/lisp/custom" load-path)
+ 
+ Modify to suit your needs.
+ 
  *** New functionality for using Gnus as an offline newsreader has been
  added.  A plethora of new commands and modes have been added.  See the
  Gnus manual for the full story.
*** pub/qgnus/texi/dir	Wed Jun 18 00:54:19 1997
--- qgnus/texi/dir	Sat Jul 12 19:54:27 1997
***************
*** 0 ****
--- 1,11 ----
+ -*- Text -*-
+ The Gnus-related top node.
+ 
+ File: dir	Node: Top	This is the Gnus Info tree
+ 
+ * Menu: 
+ 
+ * Gnus: (gnus).		The news reader Gnus.
+ * Message: (message).	The Message sending thingamabob.
+ * Widget: (widget).	The Widget library.
+ * Custom: (custom).	The Custom library.
