Importing gnus-5.6.5
authorshuhei-k <shuhei-k>
Sun, 26 Apr 1998 13:32:06 +0000 (13:32 +0000)
committershuhei-k <shuhei-k>
Sun, 26 Apr 1998 13:32:06 +0000 (13:32 +0000)
19 files changed:
Makefile.in
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-msg.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-undo.el
lisp/gnus.el
lisp/message.el
lisp/nnbabyl.el
lisp/nneething.el
lisp/nnkiboze.el
lisp/nnmbox.el
lisp/nnml.el
lisp/nntp.el
texi/ChangeLog
texi/Makefile.in
texi/gnus.texi
texi/message.texi

index 5b6b592..c6205a8 100644 (file)
@@ -1,16 +1,17 @@
+lispdir = @lispdir@
 srcdir = @srcdir@
 
 @SET_MAKE@
 srcdir = @srcdir@
 
 @SET_MAKE@
-EMACS = emacs
+EMACS = @EMACS@
 XEMACS = xemacs
 
 all: lick info
 
 lick:
 XEMACS = xemacs
 
 all: lick info
 
 lick:
-       cd lisp && $(MAKE) EMACS=$(EMACS) all
+       cd lisp && $(MAKE) EMACS=$(EMACS) lispdir=$(lispdir) all
 
 install:
 
 install:
-       cd lisp && $(MAKE) EMACS=$(EMACS) install
+       cd lisp && $(MAKE) EMACS=$(EMACS) lispdir=$(lispdir) install
        cd texi && $(MAKE) EMACS=$(EMACS) install
 
 # Rule for Lars and nobody else.
        cd texi && $(MAKE) EMACS=$(EMACS) install
 
 # Rule for Lars and nobody else.
index 97b7710..feb5648 100644 (file)
@@ -1,3 +1,56 @@
+Fri Apr 24 21:32:14 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.5 is released.
+
+Fri Apr 24 21:19:21 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el (gnus-post-method): Doc fix.
+       (gnus-post-method): Reversed semantics.
+
+1998-04-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * gnus-msg.el (gnus-post-method): Customized. Added 'native
+       option. In the function, added support for new value.
+
+Fri Apr 24 20:04:15 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmbox.el (nnmbox-request-create-group): New function.
+
+Sun Apr 12 07:55:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-save-group-info): Only do those that
+       are covered.
+
+Tue Apr  7 11:26:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-authinfo-file): Doc fix.
+
+1998-03-31  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnml.el (nnml-request-expire-articles): Sort active-articles,
+       then only expire the intersection of that set with the requested
+       articles.
+
+Wed Apr  1 16:01:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-supersede): Check Sender.
+       (message-cancel-news): Fix Sender check.
+
+Sun Mar 29 11:54:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnkiboze.el (nnkiboze-generate-group): Would mess up newsrs
+       hashtb. 
+       (nnkiboze-enter-nov): Created bogus Xrefs headers.
+
+       * gnus-agent.el (gnus-agent-save-group-info): New function.
+
+       * gnus-start.el (gnus-get-unread-articles): Use it.
+
+       * message.el (message-expand-group): Allow completion from in the
+       middle of strings.
+       (message-font-lock-keywords): Work when mail-header-separator is
+       "". 
+
 Sun Mar 29 09:56:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.4 is released.
 Sun Mar 29 09:56:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.4 is released.
index 3abe47e..fc1a773 100644 (file)
@@ -512,6 +512,19 @@ the actual number of articles toggled is returned."
     (when (file-exists-p (gnus-agent-lib-file "active"))
       (delete-file (gnus-agent-lib-file "active"))))
 
     (when (file-exists-p (gnus-agent-lib-file "active"))
       (delete-file (gnus-agent-lib-file "active"))))
 
+(defun gnus-agent-save-group-info (method group active)
+  (when (gnus-agent-method-p method)
+    (let* ((gnus-command-method method)
+          (file (gnus-agent-lib-file "active")))
+      (gnus-make-directory (file-name-directory file))
+      (nnheader-temp-write file
+       (insert-file-contents file)
+       (goto-char (point-min))
+       (when (re-search-forward "^" (regexp-quote group) " " nil t)
+         (gnus-delete-line))
+       (insert group " " (number-to-string (cdr active)) " "
+               (number-to-string (car active)) "\n")))))
+
 (defun gnus-agent-group-path (group)
   "Translate GROUP into a path."
   (if nnmail-use-long-file-names
 (defun gnus-agent-group-path (group)
   "Translate GROUP into a path."
   (if nnmail-use-long-file-names
index aa9cbc0..ab68d90 100644 (file)
 (require 'message)
 (require 'gnus-art)
 
 (require 'message)
 (require 'gnus-art)
 
-;; Added by Sudish Joseph <joseph@cis.ohio-state.edu>.
-(defvar gnus-post-method nil
+(defcustom gnus-post-method nil
   "*Preferred method for posting USENET news.
   "*Preferred method for posting USENET news.
-If this variable is nil, Gnus will use the current method to decide
-which method to use when posting.  If it is non-nil, it will override
-the current method.  This method will not be used in mail groups and
-the like, only in \"real\" newsgroups.
 
 
-The value must be a valid method as discussed in the documentation of
-`gnus-select-method'.  It can also be a list of methods.  If that is
-the case, the user will be queried for what select method to use when
-posting.")
+If this variable is `current', Gnus will use the \"current\" select
+method when posting.  If it is nil (which is the default), Gnus will
+use the native posting method of the server.
+
+This method will not be used in mail groups and the like, only in
+\"real\" newsgroups.
+
+If not nil nor `native', the value must be a valid method as discussed
+in the documentation of `gnus-select-method'. It can also be a list of
+methods. If that is the case, the user will be queried for what select
+method to use when posting."
+  :group 'gnus-group-foreign
+  :type `(choice (const nil)
+                (const native)
+                (sexp :tag "Methods" ,gnus-select-method)))
 
 (defvar gnus-outgoing-message-group nil
   "*All outgoing messages will be put in this group.
 
 (defvar gnus-outgoing-message-group nil
   "*All outgoing messages will be put in this group.
@@ -428,18 +434,23 @@ If SILENT, don't prompt the user."
      ;; If the group-method is nil (which shouldn't happen) we use
      ;; the default method.
      ((null group-method)
      ;; If the group-method is nil (which shouldn't happen) we use
      ;; the default method.
      ((null group-method)
-      (or gnus-post-method gnus-select-method message-post-method))
-     ;; We want this group's method.
+      (or (and (null (eq gnus-post-method 'active)) gnus-post-method)
+              gnus-select-method message-post-method))
+     ;; We want the inverse of the default
      ((and arg (not (eq arg 0)))
      ((and arg (not (eq arg 0)))
-      group-method)
+      (if (eq gnus-post-method 'active)
+         gnus-select-method
+       group-method))
      ;; We query the user for a post method.
      ((or arg
          (and gnus-post-method
      ;; We query the user for a post method.
      ((or arg
          (and gnus-post-method
+              (not (eq gnus-post-method 'current))
               (listp (car gnus-post-method))))
       (let* ((methods
              ;; Collect all methods we know about.
              (append
               (listp (car gnus-post-method))))
       (let* ((methods
              ;; Collect all methods we know about.
              (append
-              (when gnus-post-method
+              (when (and gnus-post-method
+                         (not (eq gnus-post-method 'current)))
                 (if (listp (car gnus-post-method))
                     gnus-post-method
                   (list gnus-post-method)))
                 (if (listp (car gnus-post-method))
                     gnus-post-method
                   (list gnus-post-method)))
@@ -472,6 +483,8 @@ If SILENT, don't prompt the user."
                   (cons (or gnus-last-posting-server "") 0))))
          method-alist))))
      ;; Override normal method.
                   (cons (or gnus-last-posting-server "") 0))))
          method-alist))))
      ;; Override normal method.
+     ((eq gnus-post-method 'current)
+      group-method) 
      (gnus-post-method
       gnus-post-method)
      ;; Use the normal select method.
      (gnus-post-method
       gnus-post-method)
      ;; Use the normal select method.
index 974936e..e3505eb 100644 (file)
@@ -1371,6 +1371,7 @@ newsgroup."
                info (inline (gnus-find-method-for-group
                              (gnus-info-group info)))))
       (gnus-activate-group (gnus-info-group info) nil t))
                info (inline (gnus-find-method-for-group
                              (gnus-info-group info)))))
       (gnus-activate-group (gnus-info-group info) nil t))
+
     (let* ((range (gnus-info-read info))
           (num 0))
       ;; If a cache is present, we may have to alter the active info.
     (let* ((range (gnus-info-read info))
           (num 0))
       ;; If a cache is present, we may have to alter the active info.
@@ -1482,6 +1483,10 @@ newsgroup."
          ;; These groups are foreign.  Check the level.
          (when (<= (gnus-info-level info) foreign-level)
            (setq active (gnus-activate-group group 'scan))
          ;; These groups are foreign.  Check the level.
          (when (<= (gnus-info-level info) foreign-level)
            (setq active (gnus-activate-group group 'scan))
+           ;; Let the Gnus agent save the active file.
+           (when (and gnus-agent gnus-plugged)
+             (gnus-agent-save-group-info
+              method (gnus-group-real-name group) active))
            (unless (inline (gnus-virtual-group-p group))
              (inline (gnus-close-group group)))
            (when (fboundp (intern (concat (symbol-name (car method))
            (unless (inline (gnus-virtual-group-p group))
              (inline (gnus-close-group group)))
            (when (fboundp (intern (concat (symbol-name (car method))
@@ -1682,11 +1687,10 @@ newsgroup."
 
 
 (defun gnus-ignored-newsgroups-has-to-p ()
 
 
 (defun gnus-ignored-newsgroups-has-to-p ()
-  "T only when gnus-ignored-newsgroups includes \"^to\\\\.\" as an element."
+  "Non-nil iff gnus-ignored-newsgroups includes \"^to\\\\.\" as an element."
   ;; note this regexp is the same as:
   ;; (concat (regexp-quote "^to\\.") "\\($\\|" (regexp-quote "\\|") "\\)")
   ;; note this regexp is the same as:
   ;; (concat (regexp-quote "^to\\.") "\\($\\|" (regexp-quote "\\|") "\\)")
-  (string-match "\\^to\\\\\\.\\($\\|\\\\|\\)"
-               gnus-ignored-newsgroups))
+  (string-match "\\^to\\\\\\.\\($\\|\\\\|\\)" gnus-ignored-newsgroups))
 
 ;; Read an active file and place the results in `gnus-active-hashtb'.
 (defun gnus-active-to-gnus-format (&optional method hashtb ignore-errors
 
 ;; Read an active file and place the results in `gnus-active-hashtb'.
 (defun gnus-active-to-gnus-format (&optional method hashtb ignore-errors
index 5cd57e1..f6d8135 100644 (file)
@@ -7168,7 +7168,7 @@ latter case, they will be copied into the relevant groups."
     (gnus-summary-copy-article n nil method)))
 
 (defun gnus-summary-import-article (file)
     (gnus-summary-copy-article n nil method)))
 
 (defun gnus-summary-import-article (file)
-  "Import a random file into a mail newsgroup."
+  "Import an arbitrary file into a mail newsgroup."
   (interactive "fImport file: ")
   (let ((group gnus-newsgroup-name)
        (now (current-time))
   (interactive "fImport file: ")
   (let ((group gnus-newsgroup-name)
        (now (current-time))
index 5321f3a..11a18ef 100644 (file)
@@ -25,7 +25,7 @@
 
 ;; This package allows arbitrary undoing in Gnus buffers.  As all the
 ;; Gnus buffers aren't very text-oriented (what is in the buffers is
 
 ;; This package allows arbitrary undoing in Gnus buffers.  As all the
 ;; Gnus buffers aren't very text-oriented (what is in the buffers is
-;; just some random representation of the actual data), normal Emacs
+;; just some arbitrary representation of the actual data), normal Emacs
 ;; undoing doesn't work at all for Gnus.
 ;;
 ;; This package works by letting Gnus register functions for reversing
 ;; undoing doesn't work at all for Gnus.
 ;;
 ;; This package works by letting Gnus register functions for reversing
index 866a374..8dfd6ef 100644 (file)
@@ -246,7 +246,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.6.4"
+(defconst gnus-version-number "5.6.5"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
@@ -1677,7 +1677,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
      ("gnus-agent" gnus-open-agent gnus-agent-get-function
       gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p
       gnus-agent-get-undownloaded-list gnus-agent-fetch-session
      ("gnus-agent" gnus-open-agent gnus-agent-get-function
       gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p
       gnus-agent-get-undownloaded-list gnus-agent-fetch-session
-      gnus-summary-set-agent-mark)
+      gnus-summary-set-agent-mark gnus-agent-save-group-info)
      ("gnus-agent" :interactive t
       gnus-unplugged gnus-agentize gnus-agent-batch)
      ("gnus-vm" :interactive t gnus-summary-save-in-vm
      ("gnus-agent" :interactive t
       gnus-unplugged gnus-agentize gnus-agent-batch)
      ("gnus-vm" :interactive t gnus-summary-save-in-vm
index 9b679be..3f424b5 100644 (file)
@@ -773,8 +773,11 @@ Defaults to `text-mode-abbrev-table'.")
       (,(concat "^\\(X-[A-Za-z0-9-]+\\|In-Reply-To\\):" content)
        (1 'message-header-name-face)
        (2 'message-header-name-face))
       (,(concat "^\\(X-[A-Za-z0-9-]+\\|In-Reply-To\\):" content)
        (1 'message-header-name-face)
        (2 'message-header-name-face))
-      (,(concat "^\\(" (regexp-quote mail-header-separator) "\\)$")
-       1 'message-separator-face)
+      ,@(if (and mail-header-separator
+                (not (equal mail-header-separator "")))
+           `((,(concat "^\\(" (regexp-quote mail-header-separator) "\\)$")
+              1 'message-separator-face))
+         nil)
       (,(concat "^[ \t]*"
                "\\([" cite-prefix "]+[" cite-suffix "]*\\)?"
                "[:>|}].*")
       (,(concat "^[ \t]*"
                "\\([" cite-prefix "]+[" cite-suffix "]*\\)?"
                "[:>|}].*")
@@ -3404,7 +3407,7 @@ responses here are directed to other newsgroups."))
        (unless (string-equal
                 (downcase
                  (or sender (cadr (mail-extract-address-components from))))
        (unless (string-equal
                 (downcase
                  (or sender (cadr (mail-extract-address-components from))))
-                (downcase (message-make-address)))
+                (downcase (message-make-sender)))
          (error "This article is not yours"))
        ;; Make control message.
        (setq buf (set-buffer (get-buffer-create " *message cancel*")))
          (error "This article is not yours"))
        ;; Make control message.
        (setq buf (set-buffer (get-buffer-create " *message cancel*")))
@@ -3435,9 +3438,10 @@ header line with the old Message-ID."
   (let ((cur (current-buffer)))
     ;; Check whether the user owns the article that is to be superseded.
     (unless (string-equal
   (let ((cur (current-buffer)))
     ;; Check whether the user owns the article that is to be superseded.
     (unless (string-equal
-            (downcase (cadr (mail-extract-address-components
-                             (message-fetch-field "from"))))
-            (downcase (message-make-address)))
+            (downcase (or (message-fetch-field "sender")
+                          (cadr (mail-extract-address-components
+                                 (message-fetch-field "from")))))
+            (downcase (message-make-sender)))
       (error "This article is not yours"))
     ;; Get a normal message buffer.
     (message-pop-to-buffer (message-buffer-name "supersede"))
       (error "This article is not yours"))
     ;; Get a normal message buffer.
     (message-pop-to-buffer (message-buffer-name "supersede"))
@@ -3721,7 +3725,8 @@ Do a `tab-to-tab-stop' if not in those headers."
 
 (defvar gnus-active-hashtb)
 (defun message-expand-group ()
 
 (defvar gnus-active-hashtb)
 (defun message-expand-group ()
-  "Expand the group name under point."  (let* ((b (save-excursion
+  "Expand the group name under point."
+  (let* ((b (save-excursion
              (save-restriction
                (narrow-to-region
                 (save-excursion
              (save-restriction
                (narrow-to-region
                 (save-excursion
@@ -3731,7 +3736,8 @@ Do a `tab-to-tab-stop' if not in those headers."
                 (point))
                (skip-chars-backward "^, \t\n") (point))))
         (completion-ignore-case t)
                 (point))
                (skip-chars-backward "^, \t\n") (point))))
         (completion-ignore-case t)
-        (string (buffer-substring b (point)))
+        (string (buffer-substring b (progn (skip-chars-forward "^,\t\n ")
+                                           (point))))
         (hashtb (and (boundp 'gnus-active-hashtb) gnus-active-hashtb))
         (completions (all-completions string hashtb))
         (cur (current-buffer))
         (hashtb (and (boundp 'gnus-active-hashtb) gnus-active-hashtb))
         (completions (all-completions string hashtb))
         (cur (current-buffer))
index f5e8468..96cf1c5 100644 (file)
   (nnmail-activate 'nnbabyl)
   (unless (assoc group nnbabyl-group-alist)
     (push (list group (cons 1 0))
   (nnmail-activate 'nnbabyl)
   (unless (assoc group nnbabyl-group-alist)
     (push (list group (cons 1 0))
-                                   nnbabyl-group-alist)
+         nnbabyl-group-alist)
     (nnmail-save-active nnbabyl-group-alist nnbabyl-active-file))
   t)
 
     (nnmail-save-active nnbabyl-group-alist nnbabyl-active-file))
   t)
 
index 4584560..828d122 100644 (file)
@@ -1,4 +1,4 @@
-;;; nneething.el --- random file access for Gnus
+;;; nneething.el --- arbitrary file access for Gnus
 ;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
 ;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
index 7f3d927..75fcd51 100644 (file)
       (save-excursion
        (set-buffer nntp-server-buffer)
        (erase-buffer)
       (save-excursion
        (set-buffer nntp-server-buffer)
        (erase-buffer)
+       (unless (file-exists-p nov-file)
+         (nnkiboze-request-scan group))
        (if (not (file-exists-p nov-file))
            (nnheader-report 'nnkiboze "Can't select group %s" group)
          (nnheader-insert-file-contents nov-file)
        (if (not (file-exists-p nov-file))
            (nnheader-report 'nnkiboze "Can't select group %s" group)
          (nnheader-insert-file-contents nov-file)
@@ -224,7 +226,7 @@ Finds out what articles are to be part of the nnkiboze groups."
         (gnus-verbose (min gnus-verbose 3))
         gnus-select-group-hook gnus-summary-prepare-hook
         gnus-thread-sort-functions gnus-show-threads
         (gnus-verbose (min gnus-verbose 3))
         gnus-select-group-hook gnus-summary-prepare-hook
         gnus-thread-sort-functions gnus-show-threads
-        gnus-visual gnus-suppress-duplicates)
+        gnus-visual gnus-suppress-duplicates num-unread)
     (unless info
       (error "No such group: %s" group))
     ;; Load the kiboze newsrc file for this group.
     (unless info
       (error "No such group: %s" group))
     ;; Load the kiboze newsrc file for this group.
@@ -267,7 +269,9 @@ Finds out what articles are to be part of the nnkiboze groups."
          (gnus-group-jump-to-group (caar newsrc))
          (gnus-message 3 "nnkiboze: Checking %s..." (caar newsrc))
          (setq ginfo (gnus-get-info (gnus-group-group-name))
          (gnus-group-jump-to-group (caar newsrc))
          (gnus-message 3 "nnkiboze: Checking %s..." (caar newsrc))
          (setq ginfo (gnus-get-info (gnus-group-group-name))
-               orig-info (gnus-copy-sequence ginfo))
+               orig-info (gnus-copy-sequence ginfo)
+               num-unread (car (gnus-gethash (caar newsrc)
+                                             gnus-newsrc-hashtb)))
          (unwind-protect
              (progn
                ;; We set all list of article marks to nil.  Since we operate
          (unwind-protect
              (progn
                ;; We set all list of article marks to nil.  Since we operate
@@ -305,10 +309,13 @@ Finds out what articles are to be part of the nnkiboze groups."
                       gnus-newsgroup-name))
                    (setq gnus-newsgroup-scored (cdr gnus-newsgroup-scored)))
                  ;; That's it.  We exit this group.
                       gnus-newsgroup-name))
                    (setq gnus-newsgroup-scored (cdr gnus-newsgroup-scored)))
                  ;; That's it.  We exit this group.
-                 (gnus-summary-exit-no-update)))
+                 (when (eq major-mode 'gnus-summary-mode)
+                   (kill-buffer (current-buffer)))))
            ;; Restore the proper info.
            (when ginfo
            ;; Restore the proper info.
            (when ginfo
-             (setcdr ginfo (cdr orig-info)))))
+             (setcdr ginfo (cdr orig-info)))
+           (setcar (gnus-gethash (caar newsrc) gnus-newsrc-hashtb)
+                   num-unread)))
        (setcdr (car newsrc) (car active))
        (gnus-message 3 "nnkiboze: Checking %s...done" (caar newsrc))
        (setq newsrc (cdr newsrc))))
        (setcdr (car newsrc) (car active))
        (gnus-message 3 "nnkiboze: Checking %s...done" (caar newsrc))
        (setq newsrc (cdr newsrc))))
@@ -316,8 +323,11 @@ Finds out what articles are to be part of the nnkiboze groups."
     (nnheader-temp-write newsrc-file
       (insert "(setq nnkiboze-newsrc '")
       (gnus-prin1 nnkiboze-newsrc)
     (nnheader-temp-write newsrc-file
       (insert "(setq nnkiboze-newsrc '")
       (gnus-prin1 nnkiboze-newsrc)
-      (insert ")\n"))
-    t))
+      (insert ")\n")))
+  (save-excursion
+    (set-buffer gnus-group-buffer)
+    (gnus-group-list-groups))
+  t)
 
 (defun nnkiboze-enter-nov (buffer header group)
   (save-excursion
 
 (defun nnkiboze-enter-nov (buffer header group)
   (save-excursion
@@ -342,7 +352,7 @@ Finds out what articles are to be part of the nnkiboze groups."
       ;; The first Xref has to be the group this article
       ;; really came for - this is the article nnkiboze
       ;; will request when it is asked for the article.
       ;; The first Xref has to be the group this article
       ;; really came for - this is the article nnkiboze
       ;; will request when it is asked for the article.
-      (insert group ":"
+      (insert " " group ":"
              (int-to-string (mail-header-number header)) " ")
       (while (re-search-forward " [^ ]+:[0-9]+" nil t)
        (goto-char (1+ (match-beginning 0)))
              (int-to-string (mail-header-number header)) " ")
       (while (re-search-forward " [^ ]+:[0-9]+" nil t)
        (goto-char (1+ (match-beginning 0)))
index ee703ff..ce7e943 100644 (file)
@@ -1,15 +1,7 @@
 ;;; nnmbox.el --- mail mbox access for Gnus
 ;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
 ;;; nnmbox.el --- mail mbox access for Gnus
 ;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
 
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
-;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
-;; Keywords: news, mail
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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, or (at your option)
+;; Author: Lars Magne Ingebrignnmbox2, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 (deffoo nnmbox-close-group (group &optional server)
   t)
 
 (deffoo nnmbox-close-group (group &optional server)
   t)
 
+(deffoo nnmbox-request-create-group (group &optional server args)
+  (nnmail-activate 'nnmbox)
+  (unless (assoc group nnmbox-group-alist)
+    (push (list group (cons 1 0))
+         nnmbox-group-alist)
+    (nnmail-save-active nnmbox-group-alist nnmbox-active-file))
+  t)
+
 (deffoo nnmbox-request-list (&optional server)
   (save-excursion
     (nnmail-find-file nnmbox-active-file)
 (deffoo nnmbox-request-list (&optional server)
   (save-excursion
     (nnmail-find-file nnmbox-active-file)
index c037c73..4ae2cca 100644 (file)
@@ -271,6 +271,11 @@ all.  This may very well take some time.")
        article rest mod-time number)
     (nnmail-activate 'nnml)
 
        article rest mod-time number)
     (nnmail-activate 'nnml)
 
+    (setq active-articles (sort active-articles '<))
+    ;; Articles not listed in active-articles are already gone,
+    ;; so don't try to expire them.
+    (setq articles (gnus-sorted-intersection articles active-articles))
+
     (while (and articles is-old)
       (when (setq article (nnml-article-to-file (setq number (pop articles))))
        (when (setq mod-time (nth 5 (file-attributes article)))
     (while (and articles is-old)
       (when (setq article (nnml-article-to-file (setq number (pop articles))))
        (when (setq mod-time (nth 5 (file-attributes article)))
index 78ccb16..77f4ec8 100644 (file)
@@ -167,7 +167,7 @@ server there that you can connect to.  See also
   "*Coding system to write to NNTP.")
 
 (defcustom nntp-authinfo-file "~/.authinfo"
   "*Coding system to write to NNTP.")
 
 (defcustom nntp-authinfo-file "~/.authinfo"
-  "Docstring."
+  ".netrc-like file that holds nntp authinfo passwords."
   :type
   '(choice file
           (repeat :tag "Entries"
   :type
   '(choice file
           (repeat :tag "Entries"
index 4eb4dd4..a2dc5e5 100644 (file)
@@ -1,3 +1,10 @@
+Fri Apr 24 16:00:40 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Unread Articles): Typo.
+       (Summary Buffer Lines): Fix.
+       (Foreign Groups): Addition.
+       (Posting Server): Addition.
+
 Sat Mar 28 08:57:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Example Methods): Addition.
 Sat Mar 28 08:57:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Example Methods): Addition.
index be10a0d..e3740e2 100644 (file)
@@ -115,9 +115,9 @@ distclean:
 install:
        $(SHELL) $(top_srcdir)/mkinstalldirs $(infodir)
        @for file in gnus message; do \
 install:
        $(SHELL) $(top_srcdir)/mkinstalldirs $(infodir)
        @for file in gnus message; do \
-         for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+         for ifile in `echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
            if test -f $$ifile; then \
            if test -f $$ifile; then \
-             echo " $(INSTALL_DATA) $$d/$$ifile $(infodir)/$$ifile"; \
+             echo " $(INSTALL_DATA) $$ifile $(infodir)/$$ifile"; \
              $(INSTALL_DATA) $$ifile $(infodir)/$$ifile; \
            else : ; fi; \
          done; \
              $(INSTALL_DATA) $$ifile $(infodir)/$$ifile; \
            else : ; fi; \
          done; \
index 4069212..e738239 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.6.4 Manual
+@settitle Gnus 5.6.5 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Gnus 5.6.4 Manual
+@title Gnus 5.6.5 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +352,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.6.4.
+This manual corresponds to Gnus 5.6.5.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -1904,6 +1904,10 @@ search engine type and the search string.  Valid search engine types
 include @code{dejanews}, @code{altavista} and @code{reference}.
 @xref{Web Searches}.
 
 include @code{dejanews}, @code{altavista} and @code{reference}.
 @xref{Web Searches}.
 
+If you use the @code{dejanews} search engine, you can limit the search
+to a particular group by using a match string like
+@samp{~g alt.sysadmin.recovery shaving}.
+
 @item G DEL
 @kindex G DEL (Group)
 @findex gnus-group-delete-group
 @item G DEL
 @kindex G DEL (Group)
 @findex gnus-group-delete-group
@@ -3257,8 +3261,12 @@ One space for each thread level.
 Twenty minus thread level spaces.
 @item U
 Unread.
 Twenty minus thread level spaces.
 @item U
 Unread.
+
 @item R
 @item R
-Replied.
+This misleadingly named specifier is the @dfn{secondary mark}.  This
+mark will say whether the article has been replied to, has been cached,
+or has been saved.  
+
 @item i
 Score as a number (@pxref{Scoring}).
 @item z
 @item i
 Score as a number (@pxref{Scoring}).
 @item z
@@ -4009,7 +4017,7 @@ followups, you can use the @kbd{/ D} command (@pxref{Limiting}).
 
 @item SPACE
 @vindex gnus-unread-mark
 
 @item SPACE
 @vindex gnus-unread-mark
-Markes as unread (@code{gnus-unread-mark}).
+Marked as unread (@code{gnus-unread-mark}).
 
 @dfn{Unread articles} are articles that haven't been read at all yet.
 @end table
 
 @dfn{Unread articles} are articles that haven't been read at all yet.
 @end table
@@ -4332,7 +4340,8 @@ Invert the list of process marked articles
 @item M P R
 @kindex M P R (Summary)
 @findex gnus-uu-mark-by-regexp
 @item M P R
 @kindex M P R (Summary)
 @findex gnus-uu-mark-by-regexp
-Mark articles by a regular expression (@code{gnus-uu-mark-by-regexp}).
+Mark articles that have a @code{Subject} header that matches a regular
+expression (@code{gnus-uu-mark-by-regexp}).
 
 @item M P r
 @kindex M P r (Summary)
 
 @item M P r
 @kindex M P r (Summary)
@@ -8093,6 +8102,11 @@ You can also set @code{gnus-post-method} to a list of select methods.
 If that's the case, Gnus will always prompt you for what method to use
 for posting.
 
 If that's the case, Gnus will always prompt you for what method to use
 for posting.
 
+Finally, if you want to always post using the same select method as
+you're reading from (which might be convenient if you're reading lots of
+groups from different private servers), you can set this variable to
+@code{current}. 
+
 
 @node Mail and Post
 @section Mail and Post
 
 @node Mail and Post
 @section Mail and Post
@@ -8967,17 +8981,17 @@ waiting for reply, and then reads all the replies.  This is controlled
 by the @code{nntp-maximum-request} variable, and is 400 by default.  If
 your network is buggy, you should set this to 1.
 
 by the @code{nntp-maximum-request} variable, and is 400 by default.  If
 your network is buggy, you should set this to 1.
 
-@item nntp-connection-timeout
-@vindex nntp-connection-timeout
-If you have lots of foreign @code{nntp} groups that you connect to
-regularly, you're sure to have problems with @sc{nntp} servers not
-responding properly, or being too loaded to reply within reasonable
-time.  This is can lead to awkward problems, which can be helped
-somewhat by setting @code{nntp-connection-timeout}.  This is an integer
-that says how many seconds the @code{nntp} backend should wait for a
-connection before giving up.  If it is @code{nil}, which is the default,
-no timeouts are done.
-
+@c @item nntp-connection-timeout
+@c @vindex nntp-connection-timeout
+@c If you have lots of foreign @code{nntp} groups that you connect to
+@c regularly, you're sure to have problems with @sc{nntp} servers not
+@c responding properly, or being too loaded to reply within reasonable
+@c time.  This is can lead to awkward problems, which can be helped
+@c somewhat by setting @code{nntp-connection-timeout}.  This is an integer
+@c that says how many seconds the @code{nntp} backend should wait for a
+@c connection before giving up.  If it is @code{nil}, which is the default,
+@c no timeouts are done.
+@c 
 @c @item nntp-command-timeout
 @c @vindex nntp-command-timeout
 @c @cindex PPP connections
 @c @item nntp-command-timeout
 @c @vindex nntp-command-timeout
 @c @cindex PPP connections
@@ -15688,7 +15702,7 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
-* Quassia Gnus::       Two times two is four, or Gnus 5.6.4.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.5.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16223,7 +16237,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.4:
+New features in Gnus 5.6.5:
 
 @itemize @bullet
 
 
 @itemize @bullet
 
@@ -17513,6 +17527,12 @@ A Date scoring type that will match if the article
 is less than a certain number of days old.
 
 @item
 is less than a certain number of days old.
 
 @item
+New spec: %~(tab 56) to put point on column 56
+
+@item
+Allow Gnus Agent scoring to use normal score files.
+
+@item
 Solve the halting problem.
 
 @c TODO
 Solve the halting problem.
 
 @c TODO
index 8b5b43e..2386532 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.6.4 Manual
+@settitle Message 5.6.5 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Message 5.6.4 Manual
+@title Message 5.6.5 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.6.4.  Message is distributed with
+This manual corresponds to Message 5.6.5.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has. 
 
 the Gnus distribution bearing the same version number as this manual
 has.