Synch with Oort Gnus.
authoryamaoka <yamaoka>
Mon, 16 Apr 2001 02:01:38 +0000 (02:01 +0000)
committeryamaoka <yamaoka>
Mon, 16 Apr 2001 02:01:38 +0000 (02:01 +0000)
14 files changed:
ChangeLog
README [deleted file]
README.T-gnus
README.branch
README.branch.ja
README.semi
README.semi.ja
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-sum.el
lisp/gnus-vers.el
lisp/imap.el
lisp/mm-util.el
lisp/nnmail.el

index 1f2db9d..510b872 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2001-04-16  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * lisp/gnus-vers.el: T-gnus 6.15.3 revision 00.
+
+2001-04-16  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * lisp/gnus-vers.el: T-gnus 6.15.2 revision 00.
+
+2001-04-16  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * lisp/gnus-vers.el: T-gnus 6.15.1 revision 00.
+
 2001-04-13  Katsumi Yamaoka <yamaoka@jpl.org>
 
        * lisp/lpath.el: Fbind `xml-parse-region' for XEmacsen and old FSF
diff --git a/README b/README
deleted file mode 100644 (file)
index b5cefcd..0000000
--- a/README
+++ /dev/null
@@ -1,59 +0,0 @@
-This package contains a beta version of Gnus.  The lisp directory
-contains the source lisp files, and the texi directory contains a
-draft of the Gnus info pages.
-
-To use Gnus you first have to unpack the files, which you've obviously
-done, because you are reading this.
-
-You should definitely byte-compile the source files. To do that, you
-can simply say "./configure && make" in this directory.  If you are
-using XEmacs, you *must* say "make EMACS=xemacs".  In that case you
-may also want to pull down the package of nice glyphs from
-<URL:http://www.gnus.org/dist/etc.tar.gz>.  It should be installed
-into the "gnus-5.6.53/etc" directory.
-
-Then you have to tell Emacs where Gnus is. You might put something
-like
-
-   (setq load-path (cons (expand-file-name "~/gnus-5.6.53/lisp") load-path))
-
-in your .emacs file, or wherever you keep such things.  
-
-To enable reading the Gnus manual, you could say something like:
-
-  (setq Info-default-directory-list 
-        (cons "~/gnus-5.6.53/texi" Info-default-directory-list))
-
-Note that Gnus and GNUS can't coexist in a single Emacs. They both use
-the same function and variable names.  If you have been running GNUS
-in your Emacs, you should probably exit that Emacs and start a new one
-to fire up Gnus.
-
-Gnus does absolutely not work with anything older than Emacs 20.3 or
-XEmacs 21.1.1.  So you definitely need a new Emacs.  However, T-gnus
-does support `Mule 2.3 based on Emacs 19.34' (it is commonly called
-"Mule 2.3@19.34").  See the file `Mule23@1934.{en,ja}' for details.
-Furthermore, you might be able to use the versions of XEmacs prior to
-21.1.1, e.g. 20.4, with a little work.  For that, copy the file
-`timer.el' in the `contrib' directory to the `site-lisp' directory and
-do a `M-x byte-compile-file'.  This file is imported from one of the
-XEmacs package `fsf-compat-1.07-pkg.tar.gz'.
-
-Then you do a `M-x gnus', and everything should... uhm... it should
-work, but it might not. Set `debug-on-error' to t, and mail me the
-backtraces, or, better yet, find out why Gnus does something wrong,
-fix it, and send me the diffs. :-)
-
-There are four main things I want your help and input on:
-
-1) Startup. Does everything go smoothly, and why not?
-
-2) Any errors while you read news normally?
-
-3) Any errors if you do anything abnormal?
-
-4) Features you do not like, or do like, but would like to tweak a
-   bit, and features you would like to see.
-
-Send any comments and all your bug fixes/complaints to
-`semi-gnus-ja@meadowy.org' (or `bugs@gnus.org'). 
index cbc2215..717b602 100644 (file)
@@ -33,6 +33,6 @@ NEWS:
 
 * T-gnus 6.15 - this is based on Oort Gnus.
 
-  The latest T-gnus is T-gnus 6.15.0 (based on Oort Gnus 0.01).  It
+  The latest T-gnus is T-gnus 6.15.3 (based on Oort Gnus 0.03).  It
   requires SEMI/WEMI (1.13.5 or later), FLIM (1.13.1 or later), and
   APEL (10.0 or later).
index 4b7700d..c97790c 100644 (file)
@@ -1,7 +1,7 @@
 README.branch --- description of branches and tags. (DRAFT)
 ========================================================================
 
-Semi-gnus revision tree (2000-12-21)
+Semi-gnus revision tree (2001-04-16)
 
     vendor      personal    main trunk      public
     branch      branches                    branches
@@ -36,16 +36,17 @@ qGnus 0.??  ------> Semi-gnus 6.0.0
        :            ------------<---------------+            t-gnus-6_14
        : Oort Gnus /            :               |            (for FLIM 1.13,
        :     |    |             :               :             develop)
-       :     V    V             :                               |
+       :     V    V             :               :               |
        :  t-gnus-6_15-quimby<---<-----(t-gnus-6_14-quimby)<-----+
-       :          |             :                               |
-       :          :             :                               :
-       :                        :
-       :        akr      <--  6.2.3
-       :        shuhei-k <--  6.3.1
-Gnus 5.6.11 ------>           6.3.3
-       :                      6.4.0 (for SEMI 1.5)
-       :                      (6.4.?)------> for SEMI 1.5
+       :          |             :               :               |
+       :          :             :               | feedback      |
+       :                        :               +<--------------+
+       :                        :               |               |
+       :        akr      <--  6.2.3             :            t-gnus-6_15
+       :        shuhei-k <--  6.3.1                          (for FLIM 1.13,
+Gnus 5.6.11 ------>           6.3.3                           develop)
+       :                      6.4.0 (for SEMI 1.5)              |
+       :                      (6.4.?)------> for SEMI 1.5       :
        :                        |    \
        :                        |     \
 (Synch with original Gnus       |      ---> for SEMI 1.6
@@ -133,6 +134,7 @@ Public Branches
        t-gnus-6_12     T-gnus for SEMI 1.12/1.13, FLIM 1.12 API (stable)
        t-gnus-6_13     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
        t-gnus-6_14     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
+       t-gnus-6_15     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
      t-gnus-6_15-quimby        T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
 
 Personal Branches
index 3b69df8..3e54c4c 100644 (file)
@@ -1,7 +1,7 @@
 README.branch.ja --- branch \e$B$H\e(B tag \e$B$N@bL@\e(B (\e$BAp9F\e(B)
 ========================================================================
 
-Semi-gnus revision tree (2000-12-21)
+Semi-gnus revision tree (2001-04-16)
 
     vendor      personal    main trunk      public
     branch      branches                    branches
@@ -36,16 +36,17 @@ qGnus 0.??  ------> Semi-gnus 6.0.0
        :            ------------<---------------+            t-gnus-6_14
        : Oort Gnus /            :               |            (for FLIM 1.13,
        :     |    |             :               :             develop)
-       :     V    V             :                               |
+       :     V    V             :               :               |
        :  t-gnus-6_15-quimby<---<-----(t-gnus-6_14-quimby)<-----+
-       :          |             :                               |
-       :          :             :                               :
-       :                        :
-       :        akr      <--  6.2.3
-       :        shuhei-k <--  6.3.1
-Gnus 5.6.11 ------>           6.3.3
-       :                      6.4.0 (for SEMI 1.5)
-       :                      (6.4.?)------> for SEMI 1.5
+       :          |             :               :               |
+       :          :             :               | feedback      |
+       :                        :               +<--------------+
+       :                        :               |               |
+       :        akr      <--  6.2.3             :            t-gnus-6_15
+       :        shuhei-k <--  6.3.1                          (for FLIM 1.13,
+Gnus 5.6.11 ------>           6.3.3                           develop)
+       :                      6.4.0 (for SEMI 1.5)              |
+       :                      (6.4.?)------> for SEMI 1.5       :
        :                        |    \
        :                        |     \
 (\e$B85$N\e(B Gnus \e$B$H$N\e(B Sync \e$B$O2?EY\e(B     |      ---> for SEMI 1.6
@@ -133,6 +134,7 @@ Public Branches
        t-gnus-6_12     T-gnus for SEMI 1.12/1.13, FLIM 1.12 API (stable)
        t-gnus-6_13     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
        t-gnus-6_14     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
+       t-gnus-6_15     T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
      t-gnus-6_15-quimby        T-gnus for SEMI 1.13, FLIM 1.13 API (develop)
 
 Personal Branches
index 400ef23..30b1c06 100644 (file)
@@ -48,6 +48,10 @@ Major tags are following:
     t-gnus-6_15-quimby Assigned to the latest version of T-gnus for
                        developing and synchronizing with Oort Gnus.
 
+    t-gnus-6_15                Assigned to the latest version of T-gnus for
+                       developing and synchronizing with the released
+                       version of Oort Gnus.
+
     pgnus-ichikawa     The main trunk of T-gnus.
 
     semi-gnus          Assigned to the latest stable version.  It is
index 76f9acd..8ef0de8 100644 (file)
@@ -50,6 +50,9 @@ ftp://ftp.m17n.org/pub/mule/semi/semi-1.13-for-flim-1.13/
     t-gnus-6_15-quimby \e$B:G?7$N\e(B T-gnus \e$B$K3d$jEv$F$i$l!"3+H/$H\e(B Oort Gnus
                        \e$B$H$NF14|$r9T$J$$$^$9!#\e(B
 
+    t-gnus-6_15                \e$B:G?7$N\e(B T-gnus \e$B$K3d$jEv$F$i$l!"3+H/$H%j%j!<%9$5\e(B
+                       \e$B$l$?\e(B Oort Gnus \e$B$H$NF14|$r9T$J$$$^$9!#\e(B
+
     pgnus-ichikawa     T-gnus \e$B$N44$G$9!#\e(B
 
     semi-gnus          \e$B:G?7$N0BDjHG$K3d$jEv$F$i$l$^$9!#Hs>o$KJ]<iE*$G\e(B
index eb50c14..38c2175 100644 (file)
@@ -1,3 +1,37 @@
+2001-04-12  Jason Merrill  <jason_merrill@redhat.com>
+       Committed by Simon Josefsson  <simon@josefsson.org>
+
+       * imap.el (imap-shell-open): Erase the buffer *after* copying it into
+       the log.
+
+2001-04-14 01:14:42 Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
+
+       *gnus.el: Oort Gnus v0.02 is released.
+
+2001-04-14 00:48:42  Lars Magne Ingebrigtsen  <larsi@quimby.gnus.org>
+
+       * gnus.el: Oort Gnus v0.01 is released.
+
+2001-04-13 22:01:46  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-highlight): Highlight read
+       undownloaded articles as read articles.
+
+       * gnus-agent.el (gnus-agent-get-undownloaded-list): Clean up.
+       (gnus-agent-get-undownloaded-list): Mark all undownloaded
+       articles, even read ones, as such.
+
+       * gnus-sum.el (gnus-summary-find-matching): Clean up.
+       (gnus-find-matching-articles): New function.
+       (gnus-summary-limit-include-matching-articles): New command. 
+       (gnus-summary-limit-include-thread): Include articles that have
+       matching subjects.
+       (gnus-offer-save-summaries): Clean up.
+
+2001-04-13  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+       * nnmail.el (nnmail-split-fancy-with-parent): Add docstring.
+
 2001-04-12 19:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
        From Jason Merrill <jason_merrill@redhat.com>
 
index 7eb4fe9..e9d3f53 100644 (file)
@@ -655,23 +655,18 @@ the actual number of articles toggled is returned."
               (gnus-agent-method-p gnus-command-method))
       (gnus-agent-load-alist gnus-newsgroup-name)
       ;; First mark all undownloaded articles as undownloaded.
-      (let ((articles (append gnus-newsgroup-unreads
-                             gnus-newsgroup-marked
-                             gnus-newsgroup-dormant))
-           article)
-       (while (setq article (pop articles))
-         (unless (or (cdr (assq article gnus-agent-article-alist))
-                     (memq article gnus-newsgroup-downloadable)
-                     (memq article gnus-newsgroup-cached))
-           (push article gnus-newsgroup-undownloaded))))
+      (dolist (article (mapcar (lambda (header) (mail-header-number header))
+                              gnus-newsgroup-headers))
+       (unless (or (cdr (assq article gnus-agent-article-alist))
+                   (memq article gnus-newsgroup-downloadable)
+                   (memq article gnus-newsgroup-cached))
+         (push article gnus-newsgroup-undownloaded)))
       ;; Then mark downloaded downloadable as not-downloadable,
       ;; if you get my drift.
-      (let ((articles gnus-newsgroup-downloadable)
-           article)
-       (while (setq article (pop articles))
-         (when (cdr (assq article gnus-agent-article-alist))
-           (setq gnus-newsgroup-downloadable
-                 (delq article gnus-newsgroup-downloadable))))))))
+      (dolist (article gnus-newsgroup-downloadable)
+       (when (cdr (assq article gnus-agent-article-alist))
+         (setq gnus-newsgroup-downloadable
+               (delq article gnus-newsgroup-downloadable)))))))
 
 (defun gnus-agent-catchup ()
   "Mark all undownloaded articles as read."
index b136875..d2be9e7 100644 (file)
@@ -852,8 +852,11 @@ automatically when it is selected."
     ((and (< score default) (memq mark (list gnus-downloadable-mark
                                             gnus-undownloaded-mark)))
      . gnus-summary-low-unread-face)
-    ((memq mark (list gnus-downloadable-mark gnus-undownloaded-mark))
+    ((and (memq mark (list gnus-downloadable-mark gnus-undownloaded-mark))
+         (memq article gnus-newsgroup-unreads))
      . gnus-summary-normal-unread-face)
+    ((memq mark (list gnus-downloadable-mark gnus-undownloaded-mark))
+     . gnus-summary-normal-read-face)
     ((> score default)
      . gnus-summary-high-read-face)
     ((< score default)
@@ -6768,12 +6771,27 @@ Returns how many articles were removed."
       (gnus-summary-position-point))))
 
 (defun gnus-summary-limit-include-thread (id)
-  "Display all the hidden articles that in the current thread."
+  "Display all the hidden articles that is in the thread with ID in it.
+When called interactively, ID is the Message-ID of the current
+article."
   (interactive (list (mail-header-id (gnus-summary-article-header))))
   (let ((articles (gnus-articles-in-thread
                   (gnus-id-to-thread (gnus-root-id id)))))
     (prog1
        (gnus-summary-limit (nconc articles gnus-newsgroup-limit))
+       (gnus-summary-limit-include-matching-articles
+        "subject"
+        (regexp-quote (gnus-simplify-subject-re
+                       (mail-header-subject (gnus-id-to-header id)))))
+      (gnus-summary-position-point))))
+
+(defun gnus-summary-limit-include-matching-articles (header regexp)
+  "Display all the hidden articles that have HEADERs that match REGEXP."
+  (interactive (list (read-string "Match on header: ")
+                    (read-string "Regexp: ")))
+  (let ((articles (gnus-find-matching-articles header regexp)))
+    (prog1
+       (gnus-summary-limit (nconc articles gnus-newsgroup-limit))
       (gnus-summary-position-point))))
 
 (defun gnus-summary-limit-include-dormant ()
@@ -7550,6 +7568,18 @@ Optional argument BACKWARD means do search for backward.
       (gnus-summary-position-point)
       t)))
 
+(defun gnus-find-matching-articles (header regexp)
+  "Return a list of all articles that match REGEXP on HEADER.
+This search includes all articles in the current group that Gnus has
+fetched headers for, whether they are displayed or not."
+  (let ((articles nil)
+       (func `(lambda (h) (,(intern (concat "mail-header-" header)) h)))
+       (case-fold-search t))
+    (dolist (header gnus-newsgroup-headers)
+      (when (string-match regexp (funcall func header))
+       (push (mail-header-number header) articles)))
+    (nreverse articles)))
+
 (defun gnus-summary-find-matching (header regexp &optional backward unread
                                          not-case-fold)
   "Return a list of all articles that match REGEXP on HEADER.
@@ -7558,10 +7588,7 @@ BACKWARD is non-nil.  If BACKWARD is `all', do all articles.
 If UNREAD is non-nil, only unread articles will
 be taken into consideration.  If NOT-CASE-FOLD, case won't be folded
 in the comparisons."
-  (let ((data (if (eq backward 'all) gnus-newsgroup-data
-               (gnus-data-find-list
-                (gnus-summary-article-number) (gnus-data-list backward))))
-       (case-fold-search (not not-case-fold))
+  (let ((case-fold-search (not not-case-fold))
        articles d func)
     (if (consp header)
        (if (eq (car header) 'extra)
@@ -7573,14 +7600,17 @@ in the comparisons."
       (unless (fboundp (intern (concat "mail-header-" header)))
        (error "%s is not a valid header" header))
       (setq func `(lambda (h) (,(intern (concat "mail-header-" header)) h))))
-    (while data
-      (setq d (car data))
-      (and (or (not unread)            ; We want all articles...
-              (gnus-data-unread-p d))  ; Or just unreads.
-          (vectorp (gnus-data-header d)) ; It's not a pseudo.
-          (string-match regexp (funcall func (gnus-data-header d))) ; Match.
-          (push (gnus-data-number d) articles)) ; Success!
-      (setq data (cdr data)))
+    (dolist (d (if (eq backward 'all)
+                  gnus-newsgroup-data
+                (gnus-data-find-list
+                 (gnus-summary-article-number)
+                 (gnus-data-list backward))))
+      (when (and (or (not unread)      ; We want all articles...
+                    (gnus-data-unread-p d)) ; Or just unreads.
+                (vectorp (gnus-data-header d)) ; It's not a pseudo.
+                (string-match regexp
+                              (funcall func (gnus-data-header d)))) ; Match.
+       (push (gnus-data-number d) articles))) ; Success!
     (nreverse articles)))
 
 (defun gnus-summary-execute-command (header regexp command &optional backward)
@@ -10129,25 +10159,24 @@ If REVERSE, save parts that do not match TYPE."
 
 (defun gnus-offer-save-summaries ()
   "Offer to save all active summary buffers."
-  (save-excursion
-    (let ((buflist (buffer-list))
-         buffers bufname)
-      ;; Go through all buffers and find all summaries.
-      (while buflist
-       (and (setq bufname (buffer-name (car buflist)))
-            (string-match "Summary" bufname)
-            (save-excursion
-              (set-buffer bufname)
-              ;; We check that this is, indeed, a summary buffer.
-              (and (eq major-mode 'gnus-summary-mode)
-                   ;; Also make sure this isn't bogus.
-                   gnus-newsgroup-prepared
-                   ;; Also make sure that this isn't a dead summary buffer.
-                   (not gnus-dead-summary-mode)))
-            (push bufname buffers))
-       (setq buflist (cdr buflist)))
-      ;; Go through all these summary buffers and offer to save them.
-      (when buffers
+  (let (buffers)
+    ;; Go through all buffers and find all summaries.
+    (dolist (buffer (buffer-list))
+      (when (and (setq buffer (buffer-name buffer))
+                (string-match "Summary" buffer)
+                (save-excursion
+                  (set-buffer buffer)
+                  ;; We check that this is, indeed, a summary buffer.
+                  (and (eq major-mode 'gnus-summary-mode)
+                       ;; Also make sure this isn't bogus.
+                       gnus-newsgroup-prepared
+                       ;; Also make sure that this isn't a
+                       ;; dead summary buffer.
+                       (not gnus-dead-summary-mode))))
+       (push buffer buffers)))
+    ;; Go through all these summary buffers and offer to save them.
+    (when buffers
+      (save-excursion
        (map-y-or-n-p
         "Update summary buffer %s? "
         (lambda (buf)
index fc2187d..3fd3e96 100644 (file)
 (require 'product)
 (provide 'gnus-vers)
 
-(defconst gnus-revision-number "10"
+(defconst gnus-revision-number "00"
   "Revision number for this version of gnus.")
 
 ;; Product information of this gnus.
 (product-provide 'gnus-vers
   (product-define "T-gnus" nil
-                 (list 6 15 0
+                 (list 6 15 3
                        (string-to-number gnus-revision-number))))
 
-(defconst gnus-original-version-number "0.01"
+(defconst gnus-original-version-number "0.03"
   "Version number for this version of Gnus.")
 
 (provide 'running-pterodactyl-gnus-0_73-or-later)
index ec2585b..110760a 100644 (file)
@@ -644,12 +644,12 @@ If ARGS, PROMPT is used as an argument to `format'."
                      (not (imap-parse-greeting)))
            (accept-process-output process 1)
            (sit-for 1))
-         (erase-buffer)
          (and imap-log
               (with-current-buffer (get-buffer-create imap-log)
                 (buffer-disable-undo)
                 (goto-char (point-max))
                 (insert-buffer-substring buffer)))
+         (erase-buffer)
          (when (memq (process-status process) '(open run))
            (setq done process)))))
     (if done
index e9cd0d2..1f124e7 100644 (file)
              (setq idx (1+ idx)))
            string)))
      (string-as-unibyte . identity)
-     (multibyte-string-p . ignore)
-     )))
+     (multibyte-string-p . ignore))))
 
 (eval-and-compile
   (defalias 'mm-char-or-char-int-p
index 05e9022..912a232 100644 (file)
@@ -1445,6 +1445,15 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
 ;; Function for nnmail-split-fancy: look up all references in the
 ;; cache and if a match is found, return that group.
 (defun nnmail-split-fancy-with-parent ()
+  "Split this message into the same group as its parent.
+This function can be used as an entry in `nnmail-split-fancy', for
+example like this: (: nnmail-split-fancy)
+For a message to be split, it looks for the parent message in the
+References or In-Reply-To header and then looks in the message id
+cache file (given by the variable `nnmail-message-id-cache-file') to
+see which group that message was put in.  This group is returned.
+
+See the Info node `(gnus)Fancy Mail Splitting' for more details."
   (let* ((refstr (or (message-fetch-field "references")
                      (message-fetch-field "in-reply-to")))
          (references nil)