Sync up with Pterodactyl Gnus v0.93. et-gnus-6_11_07-00
authoryamaoka <yamaoka>
Wed, 7 Jul 1999 23:32:24 +0000 (23:32 +0000)
committeryamaoka <yamaoka>
Wed, 7 Jul 1999 23:32:24 +0000 (23:32 +0000)
23 files changed:
ChangeLog
README.T-gnus
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-mlspl.el
lisp/gnus-score.el
lisp/gnus-srvr.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus.el
lisp/message.el
lisp/mm-decode.el
lisp/mm-util.el
lisp/mm-uu.el
lisp/mm-view.el
lisp/mml.el
lisp/nnmail.el
lisp/pop3.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index 9366f60..7ce5452 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+1999-07-07  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.11.07.
+
+       * texi/{gnus.texi,gnus-ja.texi,ChangeLog}: Sync up with Pterodactyl
+       Gnus v0.93.
+
+       * lisp/{pop3.el,nnmail.el,mml.el,mm-view.el,mm-uu.el,mm-util.el,
+       mm-decode.el,message.el,gnus-util.el,gnus-sum.el,gnus-start.el,
+       gnus-srvr.el,gnus-score.el,gnus-mlspl.el,gnus-art.el,gnus-agent.el,
+       ChangeLog}: Sync up with Pterodactyl Gnus v0.93.
+
+       * README.T-gnus: Update for T-gnus 6.11.07.
+
 1999-07-06  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.11.06.
 1999-07-06  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.11.06.
index 793696a..bde2447 100644 (file)
@@ -27,6 +27,6 @@ NEWS:
 
 * T-gnus 6.11 - this is based on Pterodactyl Gnus.
 
 
 * T-gnus 6.11 - this is based on Pterodactyl Gnus.
 
-  The latest T-gnus is T-gnus 6.11.06 (Based on pgnus-0.92).
+  The latest T-gnus is T-gnus 6.11.07 (Based on pgnus-0.93).
   It requires SEMI/WEMI-1.13, the latest FLIM-1.13, and the latest
   APEL (9.20 or later).
   It requires SEMI/WEMI-1.13, the latest FLIM-1.13, and the latest
   APEL (9.20 or later).
index 2633f89..826fa9f 100644 (file)
@@ -1,3 +1,70 @@
+Wed Jul  7 13:09:51 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.93 is released.
+
+1999-07-07 10:41:11  Stainless Steel Rat  <ratinox@peorth.gweep.net>
+
+       * pop3.el: New version.
+
+1999-07-05  Simon Josefsson  
+
+        * gnus-srvr.el (gnus-browse-foreign-server): Use read.
+
+1999-07-07 10:37:26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-mime-display-alternative): Do treatment. 
+
+1999-07-06  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-util.el (gnus-write-active-file): Use real name.
+
+       * gnus-agent.el (gnus-agent-expire): Update active file 
+       method by method.
+
+1999-07-06  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * nndraft.el (nndraft-request-article): Use difference
+       coding-systems for queue and drafts.
+
+       * gnus-sum.el (gnus-summary-setup-default-charset): Special-case
+       nndraft:drafts.
+
+       * mm-util.el (mm-auto-save-coding-system): New coding system.
+
+       * message.el (message-draft-coding-system): Use it.
+
+1999-07-06  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-uu.el: More customizable and less aggressive.
+
+1999-07-07 07:53:23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-start.el (gnus-groups-to-gnus-format): Only gnus-active
+       when plugged.
+
+       * mml.el (mml-generate-mime-1): Don't insert nofile files.
+       (mml-insert-mml-markup): Accept a nofile.
+       (mml-insert-mime): Insert nofile.
+
+       * gnus-art.el (gnus-treat-strip-blank-lines): Removed.
+
+       * mm-decode.el (mm-handle-media-type): New function.
+       (mm-handle-media-supertype): New function.
+       (mm-handle-media-subtype): New function.
+       Use new functions throughout. "/"))
+
+1999-05-18 03:03:50  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-treat-predicate): Typo.
+
+1999-07-07 06:21:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-score.el (gnus-summary-score-entry): Made un-interactive.
+
+1999-07-06 17:57:16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (article-date-ut): UT!  Default it!
+
 Tue Jul  6 10:59:24 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.92 is released.
 Tue Jul  6 10:59:24 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.92 is released.
index e2a20a3..9c366ef 100644 (file)
@@ -1370,8 +1370,9 @@ The following commands are available:
          (insert-file-contents-as-coding-system
           gnus-agent-file-coding-system (gnus-agent-lib-file "active"))
          (gnus-active-to-gnus-format
          (insert-file-contents-as-coding-system
           gnus-agent-file-coding-system (gnus-agent-lib-file "active"))
          (gnus-active-to-gnus-format
-          nil (setq orig (gnus-make-hashtable
-                          (count-lines (point-min) (point-max))))))
+          gnus-command-method
+          (setq orig (gnus-make-hashtable
+                      (count-lines (point-min) (point-max))))))
        (let ((expiry-hashtb (gnus-make-hashtable 1023)))
        (gnus-agent-open-history)
        (set-buffer
        (let ((expiry-hashtb (gnus-make-hashtable 1023)))
        (gnus-agent-open-history)
        (set-buffer
index 2ab7476..c43f496 100644 (file)
@@ -842,13 +842,6 @@ See the manual for details."
   :group 'gnus-article-treat
   :type gnus-article-treat-custom)
 
   :group 'gnus-article-treat
   :type gnus-article-treat-custom)
 
-(defcustom gnus-treat-strip-blank-lines nil
-  "Strip all blank lines.
-Valid values are nil, t, `head', `last', an integer or a predicate.
-See the manual for details."
-  :group 'gnus-article-treat
-  :type gnus-article-treat-custom)
-
 (defcustom gnus-treat-overstrike t
   "Treat overstrike highlighting.
 Valid values are nil, t, `head', `last', an integer or a predicate.
 (defcustom gnus-treat-overstrike t
   "Treat overstrike highlighting.
 Valid values are nil, t, `head', `last', an integer or a predicate.
@@ -959,7 +952,6 @@ See the manual for details."
      gnus-article-strip-leading-blank-lines)
     (gnus-treat-strip-multiple-blank-lines
      gnus-article-strip-multiple-blank-lines)
      gnus-article-strip-leading-blank-lines)
     (gnus-treat-strip-multiple-blank-lines
      gnus-article-strip-multiple-blank-lines)
-    (gnus-treat-strip-blank-lines gnus-article-strip-blank-lines)
     (gnus-treat-overstrike gnus-article-treat-overstrike)
     (gnus-treat-buttonize-head gnus-article-add-buttons-to-head)
     (gnus-treat-display-smileys gnus-smiley-display)
     (gnus-treat-overstrike gnus-article-treat-overstrike)
     (gnus-treat-buttonize-head gnus-article-add-buttons-to-head)
     (gnus-treat-display-smileys gnus-smiley-display)
@@ -3247,7 +3239,7 @@ value of the variable `gnus-show-mime' is non-nil."
                      (gnus-treat-article
                       nil id
                       (1- (length gnus-article-mime-handles))
                      (gnus-treat-article
                       nil id
                       (1- (length gnus-article-mime-handles))
-                      (car (mm-handle-type handle))))))
+                      (mm-handle-media-type handle)))))
              (select-window window))))
       (goto-char point)
       (delete-region (gnus-point-at-bol) (progn (forward-line 1) (point)))
              (select-window window))))
       (goto-char point)
       (delete-region (gnus-point-at-bol) (progn (forward-line 1) (point)))
@@ -3268,7 +3260,7 @@ value of the variable `gnus-show-mime' is non-nil."
             (mail-content-type-get (mm-handle-disposition handle)
                                    'filename)
             ""))
             (mail-content-type-get (mm-handle-disposition handle)
                                    'filename)
             ""))
-       (gnus-tmp-type (car (mm-handle-type handle)))
+       (gnus-tmp-type (mm-handle-media-type handle))
        (gnus-tmp-description
         (mail-decode-encoded-word-string (or (mm-handle-description handle)
                                              "")))
        (gnus-tmp-description
         (mail-decode-encoded-word-string (or (mm-handle-description handle)
                                              "")))
@@ -3403,7 +3395,7 @@ value of the variable `gnus-show-mime' is non-nil."
   (mapcar 'gnus-mime-display-part handles))
 
 (defun gnus-mime-display-single (handle)
   (mapcar 'gnus-mime-display-part handles))
 
 (defun gnus-mime-display-single (handle)
-  (let ((type (car (mm-handle-type handle)))
+  (let ((type (mm-handle-media-type handle))
        (ignored gnus-ignored-mime-types)
        (not-attachment t)
        (move nil)
        (ignored gnus-ignored-mime-types)
        (not-attachment t)
        (move nil)
@@ -3422,8 +3414,7 @@ value of the variable `gnus-show-mime' is non-nil."
                 (or (mm-inlined-p handle)
                     (mm-automatic-external-display-p type)))
            (setq display t)
                 (or (mm-inlined-p handle)
                     (mm-automatic-external-display-p type)))
            (setq display t)
-         (when (equal (car (split-string type "/"))
-                      "text")
+         (when (equal (mm-handle-media-supertype handle) "text")
            (setq text t)))
        (let ((id (1+ (length gnus-article-mime-handle-alist))))
          (push (cons id handle) gnus-article-mime-handle-alist)
            (setq text t)))
        (let ((id (1+ (length gnus-article-mime-handle-alist))))
          (push (cons id handle) gnus-article-mime-handle-alist)
@@ -3459,7 +3450,7 @@ value of the variable `gnus-show-mime' is non-nil."
              (gnus-treat-article
               nil (length gnus-article-mime-handle-alist)
               (1- (length gnus-article-mime-handles))
              (gnus-treat-article
               nil (length gnus-article-mime-handle-alist)
               (1- (length gnus-article-mime-handles))
-              (car (mm-handle-type handle))))))))))
+              (mm-handle-media-type handle)))))))))
 
 (defun gnus-unbuttonized-mime-type-p (type)
   "Say whether TYPE is to be unbuttonized."
 
 (defun gnus-unbuttonized-mime-type-p (type)
   "Say whether TYPE is to be unbuttonized."
@@ -3526,9 +3517,7 @@ value of the variable `gnus-show-mime' is non-nil."
             (progn
               (insert (format "(%c) %-18s"
                               (if (equal handle preferred) ?* ? )
             (progn
               (insert (format "(%c) %-18s"
                               (if (equal handle preferred) ?* ? )
-                              (if (stringp (car handle))
-                                  (car handle)
-                                (car (mm-handle-type handle)))))
+                              (mm-handle-media-type handle)))
               (point))
             `(gnus-callback
               (lambda (handles)
               (point))
             `(gnus-callback
               (lambda (handles)
@@ -3555,7 +3544,15 @@ value of the variable `gnus-show-mime' is non-nil."
                  (mail-parse-ignored-charsets 
                   (save-excursion (set-buffer gnus-summary-buffer)
                                   gnus-newsgroup-ignored-charsets)))
                  (mail-parse-ignored-charsets 
                   (save-excursion (set-buffer gnus-summary-buffer)
                                   gnus-newsgroup-ignored-charsets)))
-             (mm-display-part preferred)))
+             (mm-display-part preferred)
+             ;; Do highlighting.
+             (save-excursion
+               (save-restriction
+                 (narrow-to-region (car begend) (point-max))
+                 (gnus-treat-article
+                  nil (length gnus-article-mime-handle-alist)
+                  (1- (length gnus-article-mime-handles))
+                  (mm-handle-media-type handle))))))
          (goto-char (point-max))
          (setcdr begend (point-marker)))))
     (when ibegend
          (goto-char (point-max))
          (setcdr begend (point-marker)))))
     (when ibegend
@@ -4070,8 +4067,6 @@ groups."
     (set-buffer gnus-article-buffer)
     (gnus-article-edit-mode)
     (funcall start-func)
     (set-buffer gnus-article-buffer)
     (gnus-article-edit-mode)
     (funcall start-func)
-    ;;(gnus-article-delete-text-of-type 'annotation)
-    ;;(gnus-set-text-properties (point-min) (point-max) nil)
     (gnus-configure-windows 'edit-article)
     (setq gnus-article-edit-done-function exit-func)
     (setq gnus-prev-winconf winconf)
     (gnus-configure-windows 'edit-article)
     (setq gnus-article-edit-done-function exit-func)
     (setq gnus-prev-winconf winconf)
index 7582da4..eacdd13 100644 (file)
@@ -1,4 +1,4 @@
-;;; gnus-mlsplt.el --- a group params-based mail splitting mechanism
+;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
 ;; Copyright (C) 1998,1999 Free Software Foundation, Inc.
 
 ;; Author: Alexandre Oliva <oliva@dcc.unicamp.br>
 ;; Copyright (C) 1998,1999 Free Software Foundation, Inc.
 
 ;; Author: Alexandre Oliva <oliva@dcc.unicamp.br>
 (require 'gnus-group)
 (require 'nnmail)
 
 (require 'gnus-group)
 (require 'nnmail)
 
-(defvar gnus-mlsplt-updated-hook nil
+(defvar gnus-mlsplit-updated-hook nil
   "Hook called just after nnmail-split-fancy is updated by
   "Hook called just after nnmail-split-fancy is updated by
-gnus-mlsplt-update")
+gnus-mlsplit-update")
 
 
-(defvar gnus-mlsplt-default-catch-all-group "mail.misc"
-  "Group used by gnus-mlsplt and
-gnus-mlsplt-update as default catch-all group")
+(defvar gnus-mlsplit-default-catch-all-group "mail.misc"
+  "Group used by gnus-mlsplit and
+gnus-mlsplit-update as default catch-all group")
 
 
-(defun gnus-mlsplt-setup (&optional auto-update catch-all)
+;;;###autoload
+(defun gnus-mlsplit-setup (&optional auto-update catch-all)
   "Sets things up so that nnmail-split-fancy is used for mail splitting,
 and defines the variable nnmail-split-fancy according with group parameters.
 
 if AUTO-UPDATE is non-nil (prefix argument accepted, if called interactive),
 makes sure nnmail-split-fancy is re-computed before getting new mail,
   "Sets things up so that nnmail-split-fancy is used for mail splitting,
 and defines the variable nnmail-split-fancy according with group parameters.
 
 if AUTO-UPDATE is non-nil (prefix argument accepted, if called interactive),
 makes sure nnmail-split-fancy is re-computed before getting new mail,
-by adding gnus-mlsplt-update to nnmail-pre-get-new-mail-hook."
+by adding gnus-mlsplit-update to nnmail-pre-get-new-mail-hook."
   (interactive "P")
   (setq nnmail-split-methods 'nnmail-split-fancy)
   (when catch-all
   (interactive "P")
   (setq nnmail-split-methods 'nnmail-split-fancy)
   (when catch-all
-    (setq gnus-mlsplt-default-catch-all-group catch-all))
-  (gnus-mlsplt-update)
+    (setq gnus-mlsplit-default-catch-all-group catch-all))
+  (gnus-mlsplit-update)
   (when auto-update
   (when auto-update
-    (add-hook 'nnmail-pre-get-new-mail-hook 'gnus-mlsplt-update)))
+    (add-hook 'nnmail-pre-get-new-mail-hook 'gnus-mlsplit-update)))
 
 
-(defun gnus-mlsplt-update (&optional catch-all)
+;;;###autoload
+(defun gnus-mlsplit-update (&optional catch-all)
   "Computes nnmail-split-fancy from group params, by calling
   "Computes nnmail-split-fancy from group params, by calling
-\(gnus-mlsplt-fancy nil nil DEFAULTGROUP)"
+\(gnus-mlsplit-fancy nil nil DEFAULTGROUP)"
   (interactive)
   (setq nnmail-split-fancy
   (interactive)
   (setq nnmail-split-fancy
-       (gnus-mlsplt-fancy
-        nil nil (or catch-all gnus-mlsplt-default-catch-all-group)))
-  (run-hooks 'gnus-mlsplt-updated-hook)
+       (gnus-mlsplit-fancy
+        nil nil (or catch-all gnus-mlsplit-default-catch-all-group)))
+  (run-hooks 'gnus-mlsplit-updated-hook)
   )
 
   )
 
-(defun gnus-mlsplt ()
+;;;###autoload
+(defun gnus-mlsplit ()
   "Uses information from group parameters in order to split mail.
   "Uses information from group parameters in order to split mail.
-See gnus-mlsplt-fancy for more information.
+See gnus-mlsplit-fancy for more information.
 
 If no group is defined as catch-all, the value of
 
 If no group is defined as catch-all, the value of
-gnus-mlsplt-default-catch-all-group is used.
+gnus-mlsplit-default-catch-all-group is used.
 
 
-gnus-mlsplt is a valid value for nnmail-split-methods."
+gnus-mlsplit is a valid value for nnmail-split-methods."
   (let (nnmail-split-fancy)
   (let (nnmail-split-fancy)
-    (gnus-mlsplt-update
-     gnus-mlsplt-default-catch-all-group)
+    (gnus-mlsplit-update
+     gnus-mlsplit-default-catch-all-group)
     (nnmail-split-fancy)))
 
     (nnmail-split-fancy)))
 
-(defun gnus-mlsplt-fancy
+;;;###autoload
+(defun gnus-mlsplit-fancy
   (&optional groups no-crosspost catch-all)
   "Uses information from group parameters in order to split mail.
 It can be embedded into nnmail-split-fancy lists with the SPLIT
 
   (&optional groups no-crosspost catch-all)
   "Uses information from group parameters in order to split mail.
 It can be embedded into nnmail-split-fancy lists with the SPLIT
 
-\(: gnus-mlsplt-fancy GROUPS NO-CROSSPOST CATCH-ALL\)
+\(: gnus-mlsplit-fancy GROUPS NO-CROSSPOST CATCH-ALL\)
 
 GROUPS may be a regular expression or a list of group names, that will
 be used to select candidate groups.  If it is ommited or nil, all
 
 GROUPS may be a regular expression or a list of group names, that will
 be used to select candidate groups.  If it is ommited or nil, all
@@ -112,7 +116,7 @@ nnml:mail.foo:
 nnml:mail.others:
 \((split-spec . catch-all))
 
 nnml:mail.others:
 \((split-spec . catch-all))
 
-Calling (gnus-mlsplt-fancy nil nil \"mail.misc\") returns:
+Calling (gnus-mlsplit-fancy nil nil \"mail.misc\") returns:
 
 \(| (& (any \"\\\\(bar@femail\\\\.com\\\\|.*@femail\\\\.com\\\\)\"
           \"nnml:mail.bar\")
 
 \(| (& (any \"\\\\(bar@femail\\\\.com\\\\|.*@femail\\\\.com\\\\)\"
           \"nnml:mail.bar\")
@@ -195,4 +199,4 @@ Calling (gnus-mlsplt-fancy nil nil \"mail.misc\") returns:
        (setq split (list '| split catch-all)))
     split))
 
        (setq split (list '| split catch-all)))
     split))
 
-(provide 'gnus-mlsplt)
+(provide 'gnus-mlspl)
index 7baf55c..8a39075 100644 (file)
@@ -802,7 +802,6 @@ used as score."
 
 (defun gnus-summary-score-entry (header match type score date
                                        &optional prompt silent extra)
 
 (defun gnus-summary-score-entry (header match type score date
                                        &optional prompt silent extra)
-  (interactive)
   "Enter score file entry.
 HEADER is the header being scored.
 MATCH is the string we are looking for.
   "Enter score file entry.
 HEADER is the header being scored.
 MATCH is the string we are looking for.
index 0ae565a..7d15a9f 100644 (file)
@@ -592,11 +592,9 @@ The following commands are available:
          (goto-char (point-min))
          (unless (string= gnus-ignored-newsgroups "")
            (delete-matching-lines gnus-ignored-newsgroups))
          (goto-char (point-min))
          (unless (string= gnus-ignored-newsgroups "")
            (delete-matching-lines gnus-ignored-newsgroups))
-         (while (re-search-forward
-                 "\\(^[^ \t]+\\)[ \t]+[0-9]+[ \t]+[0-9]+" nil t)
-           (goto-char (match-end 1))
+         (while (and (not (eobp)) (forward-line))
            (ignore-errors
            (ignore-errors
-             (push (cons (match-string 1)
+             (push (cons (read cur)
                          (max 0 (- (1+ (read cur)) (read cur))))
                    groups)))))
       (setq groups (sort groups
                          (max 0 (- (1+ (read cur)) (read cur))))
                    groups)))))
       (setq groups (sort groups
index dc2a4e3..eca5c70 100644 (file)
@@ -371,7 +371,7 @@ This hook is called as the first thing when Gnus is started."
 (defcustom gnus-after-getting-new-news-hook
   (when (gnus-boundp 'display-time-timer)
     '(display-time-event-handler))
 (defcustom gnus-after-getting-new-news-hook
   (when (gnus-boundp 'display-time-timer)
     '(display-time-event-handler))
-  "*A hook run after Gnus checks for new news."
+  "*A hook run after Gnus checks for new news when Gnus is already running."
   :group 'gnus-group-new
   :type 'hook)
 
   :group 'gnus-group-new
   :type 'hook)
 
@@ -1832,7 +1832,7 @@ newsgroup."
                     (gnus-group-prefixed-name "" method))))
 
     ;; Let the Gnus agent save the active file.
                     (gnus-group-prefixed-name "" method))))
 
     ;; Let the Gnus agent save the active file.
-    (if (and gnus-agent real-active)
+    (if (and gnus-agent real-active gnus-plugged)
        (progn
          (gnus-agent-save-groups method)
          (gnus-active-to-gnus-format method hashtb nil real-active))
        (progn
          (gnus-agent-save-groups method)
          (gnus-active-to-gnus-format method hashtb nil real-active))
index 35dd853..4dd7d05 100644 (file)
@@ -8957,8 +8957,8 @@ If REVERSE, save parts that do not match TYPE."
       (mapcar (lambda (h) (gnus-summary-save-parts-1 type dir h reverse))
              (cdr handle))
     (when (if reverse
       (mapcar (lambda (h) (gnus-summary-save-parts-1 type dir h reverse))
              (cdr handle))
     (when (if reverse
-             (not (string-match type (car (mm-handle-type handle))))
-           (string-match type (car (mm-handle-type handle))))
+             (not (string-match type (mm-handle-media-type handle)))
+           (string-match type (mm-handle-media-type handle)))
       (let ((file (expand-file-name
                   (file-name-nondirectory
                    (or
       (let ((file (expand-file-name
                   (file-name-nondirectory
                    (or
@@ -9431,6 +9431,8 @@ If REVERSE, save parts that do not match TYPE."
 
 (defun gnus-summary-setup-default-charset ()
   "Setup newsgroup default charset."
 
 (defun gnus-summary-setup-default-charset ()
   "Setup newsgroup default charset."
+  (if (equal gnus-newsgroup-name "nndraft:drafts")
+      (setq gnus-newsgroup-charset nil)
   (let* ((name (and gnus-newsgroup-name
                   (gnus-group-real-name gnus-newsgroup-name)))
         (ignored-charsets 
   (let* ((name (and gnus-newsgroup-name
                   (gnus-group-real-name gnus-newsgroup-name)))
         (ignored-charsets 
@@ -9463,7 +9465,7 @@ If REVERSE, save parts that do not match TYPE."
                         charset)))
              gnus-default-charset))
     (set (make-local-variable 'gnus-newsgroup-ignored-charsets) 
                         charset)))
              gnus-default-charset))
     (set (make-local-variable 'gnus-newsgroup-ignored-charsets) 
-        ignored-charsets)))
+        ignored-charsets))))
 
 ;;;
 ;;; Mime Commands
 
 ;;;
 ;;; Mime Commands
index 7adedd6..182cf17 100644 (file)
@@ -988,7 +988,8 @@ ARG is passed to the first function."
                        (boundp sym)
                        (symbol-value sym))
               (insert (format "%s %d %d y\n"
                        (boundp sym)
                        (symbol-value sym))
               (insert (format "%s %d %d y\n"
-                              (symbol-name sym) (cdr (symbol-value sym))
+                              (gnus-group-real-name (symbol-name sym))
+                              (cdr (symbol-value sym))
                               (car (symbol-value sym))))))
           hashtb))))
   (defun gnus-write-active-file-as-coding-system (coding-system file hashtb)
                               (car (symbol-value sym))))))
           hashtb))))
   (defun gnus-write-active-file-as-coding-system (coding-system file hashtb)
@@ -1000,7 +1001,8 @@ ARG is passed to the first function."
                      (boundp sym)
                      (symbol-value sym))
             (insert (format "%s %d %d y\n"
                      (boundp sym)
                      (symbol-value sym))
             (insert (format "%s %d %d y\n"
-                            (symbol-name sym) (cdr (symbol-value sym))
+                            (gnus-group-real-name (symbol-name sym))
+                            (cdr (symbol-value sym))
                             (car (symbol-value sym))))))
         hashtb))))
   )
                             (car (symbol-value sym))))))
         hashtb))))
   )
index 2cb8c28..020aef3 100644 (file)
@@ -266,13 +266,13 @@ is restarted, and sometimes reloaded."
 (defconst gnus-product-name "ET-gnus"
   "Product name of this version of gnus.")
 
 (defconst gnus-product-name "ET-gnus"
   "Product name of this version of gnus.")
 
-(defconst gnus-version-number "6.11.06"
+(defconst gnus-version-number "6.11.07"
   "Version number for this version of gnus.")
 
 (defconst gnus-revision-number "00"
   "Revision number for this version of gnus.")
 
   "Version number for this version of gnus.")
 
 (defconst gnus-revision-number "00"
   "Revision number for this version of gnus.")
 
-(defconst gnus-original-version-number "0.92"
+(defconst gnus-original-version-number "0.93"
     "Version number for this version of Gnus.")
 
 (provide 'running-pterodactyl-gnus-0_73-or-later)
     "Version number for this version of Gnus.")
 
 (provide 'running-pterodactyl-gnus-0_73-or-later)
@@ -1814,7 +1814,9 @@ use the article treating faculties instead.  Is is described in Info node
       gnus-unplugged gnus-agentize gnus-agent-batch)
      ("gnus-vm" :interactive t gnus-summary-save-in-vm
       gnus-summary-save-article-vm)
       gnus-unplugged gnus-agentize gnus-agent-batch)
      ("gnus-vm" :interactive t gnus-summary-save-in-vm
       gnus-summary-save-article-vm)
-     ("gnus-draft" :interactive t gnus-draft-mode gnus-group-send-drafts))))
+     ("gnus-draft" :interactive t gnus-draft-mode gnus-group-send-drafts)
+     ("gnus-mlspl" gnus-mlsplit gnus-mlsplit-fancy)
+     ("gnus-mlspl" :interactive t gnus-mlsplit-setup gnus-mlsplit-update))))
 
 ;;; gnus-sum.el thingies
 
 
 ;;; gnus-sum.el thingies
 
index 83d83b1..d21fe7b 100644 (file)
@@ -1052,7 +1052,7 @@ The cdr of ech entry is a function for applying the face to a region.")
    ((boundp 'MULE) '*junet*)
    ((not (fboundp 'find-coding-system)) nil)
    ((find-coding-system 'emacs-mule)
    ((boundp 'MULE) '*junet*)
    ((not (fboundp 'find-coding-system)) nil)
    ((find-coding-system 'emacs-mule)
-    (if (string-match "nt\\|windows" system-configuration)
+    (if (memq system-type '(windows-nt ms-dos ms-windows))
        'emacs-mule-dos 'emacs-mule))
    ((find-coding-system 'escape-quoted) 'escape-quoted)
    ((find-coding-system 'no-conversion) 'no-conversion)
        'emacs-mule-dos 'emacs-mule))
    ((find-coding-system 'escape-quoted) 'escape-quoted)
    ((find-coding-system 'no-conversion) 'no-conversion)
index 3edcf57..6c70505 100644 (file)
   `(nth 0 ,handle))
 (defmacro mm-handle-type (handle)
   `(nth 1 ,handle))
   `(nth 0 ,handle))
 (defmacro mm-handle-type (handle)
   `(nth 1 ,handle))
+(defsubst mm-handle-media-type (handle)
+  (if (stringp (car handle))
+      (car handle)
+    (car (mm-handle-type handle))))
+(defsubst mm-handle-media-supertype (handle)
+  (car (split-string (mm-handle-media-type handle) "/")))
+(defsubst mm-handle-media-subtype (handle)
+  (cadr (split-string (mm-handle-media-type handle) "/")))
 (defmacro mm-handle-encoding (handle)
   `(nth 2 ,handle))
 (defmacro mm-handle-undisplayer (handle)
 (defmacro mm-handle-encoding (handle)
   `(nth 2 ,handle))
 (defmacro mm-handle-undisplayer (handle)
@@ -269,7 +277,7 @@ external if displayed external."
     (mailcap-parse-mailcaps)
     (if (mm-handle-displayed-p handle)
        (mm-remove-part handle)
     (mailcap-parse-mailcaps)
     (if (mm-handle-displayed-p handle)
        (mm-remove-part handle)
-      (let* ((type (car (mm-handle-type handle)))
+      (let* ((type (mm-handle-media-type handle))
             (method (mailcap-mime-info type)))
        (if (mm-inlined-p handle)
            (progn
             (method (mailcap-mime-info type)))
        (if (mm-inlined-p handle)
            (progn
@@ -309,7 +317,7 @@ external if displayed external."
          (let ((mm (current-buffer))
                (non-viewer (assoc "non-viewer"
                                   (mailcap-mime-info
          (let ((mm (current-buffer))
                (non-viewer (assoc "non-viewer"
                                   (mailcap-mime-info
-                                   (car (mm-handle-type handle)) t))))
+                                   (mm-handle-media-type handle)) t)))
            (unwind-protect
                (if method
                    (funcall method)
            (unwind-protect
                (if method
                    (funcall method)
@@ -324,7 +332,7 @@ external if displayed external."
                        (mm-handle-disposition handle) 'filename))
             (needsterm (assoc "needsterm"
                               (mailcap-mime-info
                        (mm-handle-disposition handle) 'filename))
             (needsterm (assoc "needsterm"
                               (mailcap-mime-info
-                               (car (mm-handle-type handle)) t)))
+                               (mm-handle-media-type handle)) t))
             process file buffer)
        ;; We create a private sub-directory where we store our files.
        (make-directory dir)
             process file buffer)
        ;; We create a private sub-directory where we store our files.
        (make-directory dir)
@@ -407,7 +415,7 @@ external if displayed external."
       (mm-handle-set-undisplayer handle nil))))
 
 (defun mm-display-inline (handle)
       (mm-handle-set-undisplayer handle nil))))
 
 (defun mm-display-inline (handle)
-  (let* ((type (car (mm-handle-type handle)))
+  (let* ((type (mm-handle-media-type handle))
         (function (cadr (assoc type mm-inline-media-tests))))
     (funcall function handle)
     (goto-char (point-min))))
         (function (cadr (assoc type mm-inline-media-tests))))
     (funcall function handle)
     (goto-char (point-min))))
@@ -415,7 +423,7 @@ external if displayed external."
 (defun mm-inlinable-p (handle)
   "Say whether HANDLE can be displayed inline."
   (let ((alist mm-inline-media-tests)
 (defun mm-inlinable-p (handle)
   "Say whether HANDLE can be displayed inline."
   (let ((alist mm-inline-media-tests)
-       (type (car (mm-handle-type handle)))
+       (type (mm-handle-media-type handle))
        test)
     (while alist
       (when (equal type (caar alist))
        test)
     (while alist
       (when (equal type (caar alist))
@@ -428,7 +436,7 @@ external if displayed external."
 (defun mm-automatic-display-p (handle)
   "Say whether the user wants HANDLE to be displayed automatically."
   (let ((methods mm-automatic-display)
 (defun mm-automatic-display-p (handle)
   "Say whether the user wants HANDLE to be displayed automatically."
   (let ((methods mm-automatic-display)
-       (type (car (mm-handle-type handle)))
+       (type (mm-handle-media-type handle))
        method result)
     (while (setq method (pop methods))
       (when (and (string-match method type)
        method result)
     (while (setq method (pop methods))
       (when (and (string-match method type)
@@ -440,7 +448,7 @@ external if displayed external."
 (defun mm-inlined-p (handle)
   "Say whether the user wants HANDLE to be displayed automatically."
   (let ((methods mm-inlined-types)
 (defun mm-inlined-p (handle)
   "Say whether the user wants HANDLE to be displayed automatically."
   (let ((methods mm-inlined-types)
-       (type (car (mm-handle-type handle)))
+       (type (mm-handle-media-type handle))
        method result)
     (while (setq method (pop methods))
       (when (and (string-match method type)
        method result)
     (while (setq method (pop methods))
       (when (and (string-match method type)
@@ -452,7 +460,7 @@ external if displayed external."
 (defun mm-attachment-override-p (handle)
   "Say whether HANDLE should have attachment behavior overridden."
   (let ((types mm-attachment-override-types)
 (defun mm-attachment-override-p (handle)
   "Say whether HANDLE should have attachment behavior overridden."
   (let ((types mm-attachment-override-types)
-       (type (car (mm-handle-type handle)))
+       (type (mm-handle-media-type handle))
        ty)
     (catch 'found
       (while (setq ty (pop types))
        ty)
     (catch 'found
       (while (setq ty (pop types))
@@ -495,13 +503,12 @@ external if displayed external."
   "Insert the contents of HANDLE in the current buffer."
   (let ((cur (current-buffer)))
     (save-excursion
   "Insert the contents of HANDLE in the current buffer."
   (let ((cur (current-buffer)))
     (save-excursion
-      (if (member (car (split-string (car (mm-handle-type handle)) "/"))
-                 '("text" "message"))
+      (if (member (mm-handle-media-supertype handle) '("text" "message"))
          (with-temp-buffer
            (insert-buffer-substring (mm-handle-buffer handle))
            (mm-decode-content-transfer-encoding
             (mm-handle-encoding handle)
          (with-temp-buffer
            (insert-buffer-substring (mm-handle-buffer handle))
            (mm-decode-content-transfer-encoding
             (mm-handle-encoding handle)
-            (car (mm-handle-type handle)))
+            (mm-handle-media-type handle))
            (let ((temp (current-buffer)))
              (set-buffer cur)
              (insert-buffer-substring temp)))
            (let ((temp (current-buffer)))
              (set-buffer cur)
              (insert-buffer-substring temp)))
@@ -509,7 +516,7 @@ external if displayed external."
          (insert-buffer-substring (mm-handle-buffer handle))
          (mm-decode-content-transfer-encoding
           (mm-handle-encoding handle)
          (insert-buffer-substring (mm-handle-buffer handle))
          (mm-decode-content-transfer-encoding
           (mm-handle-encoding handle)
-          (car (mm-handle-type handle)))
+          (mm-handle-media-type handle))
          (let ((temp (current-buffer)))
            (set-buffer cur)
            (insert-buffer-substring temp)))))))
          (let ((temp (current-buffer)))
            (set-buffer cur)
            (insert-buffer-substring temp)))))))
@@ -541,8 +548,7 @@ external if displayed external."
     ;; Now every coding system is 100% binary within mm-with-unibyte-buffer
     ;; Is text still special?
     (let ((coding-system-for-write
     ;; Now every coding system is 100% binary within mm-with-unibyte-buffer
     ;; Is text still special?
     (let ((coding-system-for-write
-          (if (equal "text" (car (split-string
-                                  (car (mm-handle-type handle)) "/")))
+          (if (equal "text" (mm-handle-media-supertype handle))
               buffer-file-coding-system
             'binary))
          ;; Don't re-compress .gz & al.  Arguably we should make
               buffer-file-coding-system
             'binary))
          ;; Don't re-compress .gz & al.  Arguably we should make
@@ -550,7 +556,7 @@ external if displayed external."
          ;; ange-ftp which it's reasonable to use here.
          (inhibit-file-name-operation 'write-region)
          (inhibit-file-name-handlers
          ;; ange-ftp which it's reasonable to use here.
          (inhibit-file-name-operation 'write-region)
          (inhibit-file-name-handlers
-          (if (equal (car (mm-handle-type handle))
+          (if (equal (mm-handle-media-type handle)
                      "application/octet-stream")
               (cons 'jka-compr-handler inhibit-file-name-handlers)
             inhibit-file-name-handlers)))
                      "application/octet-stream")
               (cons 'jka-compr-handler inhibit-file-name-handlers)
             inhibit-file-name-handlers)))
@@ -567,7 +573,7 @@ external if displayed external."
 
 (defun mm-interactively-view-part (handle)
   "Display HANDLE using METHOD."
 
 (defun mm-interactively-view-part (handle)
   "Display HANDLE using METHOD."
-  (let* ((type (car (mm-handle-type handle)))
+  (let* ((type (mm-handle-media-type handle))
         (methods
          (mapcar (lambda (i) (list (cdr (assoc 'viewer i))))
                  (mailcap-mime-info type 'all)))
         (methods
          (mapcar (lambda (i) (list (cdr (assoc 'viewer i))))
                  (mailcap-mime-info type 'all)))
@@ -582,18 +588,15 @@ external if displayed external."
     (while (setq p (pop prec))
       (setq h handles)
       (while h
     (while (setq p (pop prec))
       (setq h handles)
       (while h
-       (setq type
-             (if (stringp (caar h))
-                 (caar h)
-               (car (mm-handle-type (car h)))))
        (setq handle (car h))
        (setq handle (car h))
+       (setq type (mm-handle-media-type handle))
        (when (and (equal p type)
        (when (and (equal p type)
-                  (mm-automatic-display-p (car h))
-                  (or (stringp (caar h))
-                      (not (mm-handle-disposition (car h)))
-                      (equal (car (mm-handle-disposition (car h)))
+                  (mm-automatic-display-p handle)
+                  (or (stringp (car handle))
+                      (not (mm-handle-disposition handle))
+                      (equal (car (mm-handle-disposition handle))
                              "inline")))
                              "inline")))
-         (setq result (car h)
+         (setq result handle
                h nil
                prec nil))
        (pop h)))
                h nil
                prec nil))
        (pop h)))
@@ -602,7 +605,8 @@ external if displayed external."
 (defun mm-preferred-alternative-precedence (handles)
   "Return the precedence based on HANDLES and mm-discouraged-alternatives."
   (let ((seq (nreverse (mapcar (lambda (h)
 (defun mm-preferred-alternative-precedence (handles)
   "Return the precedence based on HANDLES and mm-discouraged-alternatives."
   (let ((seq (nreverse (mapcar (lambda (h)
-                                (car (mm-handle-type h))) handles))))
+                                (mm-handle-media-type h))
+                              handles))))
     (dolist (disc (reverse mm-discouraged-alternatives))
       (dolist (elem (copy-sequence seq))
        (when (string-match disc elem)
     (dolist (disc (reverse mm-discouraged-alternatives))
       (dolist (elem (copy-sequence seq))
        (when (string-match disc elem)
@@ -615,7 +619,7 @@ external if displayed external."
 
 (defun mm-get-image (handle)
   "Return an image instance based on HANDLE."
 
 (defun mm-get-image (handle)
   "Return an image instance based on HANDLE."
-  (let ((type (cadr (split-string (car (mm-handle-type handle)) "/")))
+  (let ((type (mm-handle-media-subtype handle))
        spec)
     ;; Allow some common translations.
     (setq type
        spec)
     ;; Allow some common translations.
     (setq type
index 161d2ca..0fa5e3c 100644 (file)
     (x-ctext . ctext))
   "A mapping from invalid charset names to the real charset names.")
 
     (x-ctext . ctext))
   "A mapping from invalid charset names to the real charset names.")
 
+(defconst mm-auto-save-coding-system
+  (cond 
+   ((memq 'emacs-mule (mm-get-coding-system-list))
+    (if (memq system-type '(windows-nt ms-dos ms-windows))
+       'emacs-mule-dos 'emacs-mule))
+   ((memq 'escape-quoted (mm-get-coding-system-list))
+    'escape-quoted)
+   ((memq 'no-conversion (mm-get-coding-system-list))
+    'no-conversion)
+   (t nil))
+  "Coding system of auto save file.")
+
 ;;; Internal variables:
 
 ;;; Functions:
 ;;; Internal variables:
 
 ;;; Functions:
index e360071..c3991c3 100644 (file)
 (defconst mm-uu-postscript-begin-line "^%!PS-")
 (defconst mm-uu-postscript-end-line "^%%EOF$")
 
 (defconst mm-uu-postscript-begin-line "^%!PS-")
 (defconst mm-uu-postscript-end-line "^%%EOF$")
 
-(defconst mm-uu-uu-begin-line "^begin[ \t]+[0-7][0-7][0-7][ \t]+\\(.*\\)$")
+(defconst mm-uu-uu-begin-line "^begin[ \t]+[0-7][0-7][0-7][ \t]+")
 (defconst mm-uu-uu-end-line "^end[ \t]*$")
 (defconst mm-uu-uu-end-line "^end[ \t]*$")
-(defvar mm-uu-decode-function 'uudecode-decode-region)
+
+(defcustom mm-uu-decode-function 'uudecode-decode-region
+  "*Function to uudecode.
+Internal function is done in elisp by default, therefore decoding may
+appear to be horribly slow . You can make Gnus use the external Unix
+decoder, such as uudecode."
+  :type '(choice (item :tag "internal" uudecode-decode-region)
+                (item :tag "external" uudecode-decode-region-external))
+  :group 'gnus-article-mime) 
 
 (defconst mm-uu-binhex-begin-line
   "^:...............................................................$")
 (defconst mm-uu-binhex-end-line ":$")
 
 (defconst mm-uu-binhex-begin-line
   "^:...............................................................$")
 (defconst mm-uu-binhex-end-line ":$")
-(defvar mm-uu-binhex-decode-function 'binhex-decode-region)
+
+(defcustom mm-uu-binhex-decode-function 'binhex-decode-region
+  "*Function to binhex decode.
+Internal function is done in elisp by default, therefore decoding may
+appear to be horribly slow . You can make Gnus use the external Unix
+decoder, such as hexbin."
+  :type '(choice (item :tag "internal" binhex-decode-region)
+                (item :tag "external" binhex-decode-region-external))
+  :group 'gnus-article-mime) 
 
 (defconst mm-uu-shar-begin-line "^#! */bin/sh")
 
 (defconst mm-uu-shar-begin-line "^#! */bin/sh")
-(defconst mm-uu-shar-end-line "^exit 0")
+(defconst mm-uu-shar-end-line "^exit 0\\|^$")
 
 ;;; Thanks to Edward J. Sabol <sabol@alderaan.gsfc.nasa.gov> and 
 ;;; Peter von der Ah\'e <pahe@daimi.au.dk>
 
 ;;; Thanks to Edward J. Sabol <sabol@alderaan.gsfc.nasa.gov> and 
 ;;; Peter von der Ah\'e <pahe@daimi.au.dk>
-(defconst mm-uu-forward-begin-line "^-+ \\(Start of \\)?Forwarded message")
+(defconst mm-uu-forward-begin-line "^-+ \\(?:Start of \\)?Forwarded message")
 (defconst mm-uu-forward-end-line "^-+ End of forwarded message")
 
 (defconst mm-uu-forward-end-line "^-+ End of forwarded message")
 
-(defconst mm-uu-begin-line
-  (concat mm-uu-postscript-begin-line "\\|"
-         mm-uu-uu-begin-line "\\|"
-         mm-uu-binhex-begin-line "\\|"
-         mm-uu-shar-begin-line "\\|"
-         mm-uu-forward-begin-line))
+(defvar mm-uu-begin-line nil)
 
 (defconst mm-uu-identifier-alist
   '((?% . postscript) (?b . uu) (?: . binhex) (?# . shar)
 
 (defconst mm-uu-identifier-alist
   '((?% . postscript) (?b . uu) (?: . binhex) (?# . shar)
   "The default disposition of uu parts.
 This can be either \"inline\" or \"attachment\".")
 
   "The default disposition of uu parts.
 This can be either \"inline\" or \"attachment\".")
 
+(defun mm-uu-configure-p  (key val)
+  (member (cons key val) mm-uu-configure-list))
+
+(defun mm-uu-configure (&optional symbol value)
+  (if symbol (set-default symbol value))
+  (setq mm-uu-begin-line nil)
+  (mapcar '(lambda (type)
+            (if (mm-uu-configure-p type 'disabled) 
+                nil
+              (setq mm-uu-begin-line
+                    (concat mm-uu-begin-line
+                            (if mm-uu-begin-line "\\|")
+                            (symbol-value
+                             (intern (concat "mm-uu-" (symbol-name type)
+                                             "-begin-line")))))))
+         '(uu postscript binhex shar forward)))
+
+(defcustom mm-uu-configure-list nil
+  "A list of mm-uu configuration.
+To disable dissecting shar codes, for instance, add
+`(shar . disabled)' to this list."
+  :type '(repeat (cons 
+                 (choice (item postscript)
+                         (item uu) 
+                         (item binhex)
+                         (item shar)
+                         (item forward))
+                 (choice (item disabled))))
+  :group 'gnus-article-mime
+  :set 'mm-uu-configure) 
+
+(mm-uu-configure)
+
 ;;;### autoload
 
 (defun mm-uu-dissect ()
 ;;;### autoload
 
 (defun mm-uu-dissect ()
@@ -111,20 +155,22 @@ This can be either \"inline\" or \"attachment\".")
                                      (list (cons 'charset charset)))))
       (while (re-search-forward mm-uu-begin-line nil t)
        (setq start-char (match-beginning 0))
                                      (list (cons 'charset charset)))))
       (while (re-search-forward mm-uu-begin-line nil t)
        (setq start-char (match-beginning 0))
-       (forward-line) ;; in case of failure
-       (setq start-char-1 (point))
        (setq type (cdr (assq (aref (match-string 0) 0)
                              mm-uu-identifier-alist)))
        (setq file-name
        (setq type (cdr (assq (aref (match-string 0) 0)
                              mm-uu-identifier-alist)))
        (setq file-name
-             (if (eq type 'uu)
+             (if (and (eq type 'uu)
+                      (looking-at "\\(.+\\)$"))
                  (and (match-string 1)
                       (let ((nnheader-file-name-translation-alist
                              '((?/ . ?,) (? . ?_) (?* . ?_) (?$ . ?_))))
                         (nnheader-translate-file-chars (match-string 1))))))
                  (and (match-string 1)
                       (let ((nnheader-file-name-translation-alist
                              '((?/ . ?,) (? . ?_) (?* . ?_) (?$ . ?_))))
                         (nnheader-translate-file-chars (match-string 1))))))
+       (forward-line) ;; in case of failure
+       (setq start-char-1 (point))
        (setq end-line (symbol-value
                        (intern (concat "mm-uu-" (symbol-name type)
                                        "-end-line"))))
        (setq end-line (symbol-value
                        (intern (concat "mm-uu-" (symbol-name type)
                                        "-end-line"))))
-       (when (re-search-forward end-line nil t)
+       (when (and (re-search-forward end-line nil t)
+                  (not (eq (match-beginning 0) (match-end 0))))
          (setq end-char-1 (match-beginning 0))
          (forward-line)
          (setq end-char (point))
          (setq end-char-1 (match-beginning 0))
          (forward-line)
          (setq end-char (point))
@@ -191,14 +237,16 @@ This can be either \"inline\" or \"attachment\".")
     (forward-line)
     (let (type end-line result
               (case-fold-search t))
     (forward-line)
     (let (type end-line result
               (case-fold-search t))
-      (while (and (not result) (re-search-forward mm-uu-begin-line nil t))
+      (while (and mm-uu-begin-line
+                 (not result) (re-search-forward mm-uu-begin-line nil t))
        (forward-line)
        (setq type (cdr (assq (aref (match-string 0) 0)
                              mm-uu-identifier-alist)))
        (setq end-line (symbol-value
                        (intern (concat "mm-uu-" (symbol-name type)
                                        "-end-line"))))
        (forward-line)
        (setq type (cdr (assq (aref (match-string 0) 0)
                              mm-uu-identifier-alist)))
        (setq end-line (symbol-value
                        (intern (concat "mm-uu-" (symbol-name type)
                                        "-end-line"))))
-       (if (re-search-forward end-line nil t)
+       (if (and (re-search-forward end-line nil t)
+                (not (eq (match-beginning 0) (match-end 0))))
            (setq result t)))
       result)))
 
            (setq result t)))
       result)))
 
index a4ef24e..c2131a7 100644 (file)
@@ -66,7 +66,7 @@
     (setq mm-w3-setup t)))
 
 (defun mm-inline-text (handle)
     (setq mm-w3-setup t)))
 
 (defun mm-inline-text (handle)
-  (let ((type (cadr (split-string (car (mm-handle-type handle)) "/")))
+  (let ((type (mm-handle-media-subtype handle))
        text buffer-read-only)
     (cond
      ((equal type "html")
        text buffer-read-only)
     (cond
      ((equal type "html")
index f70efc6..286c8e4 100644 (file)
            (cond
             ((cdr (assq 'buffer cont))
              (insert-buffer-substring (cdr (assq 'buffer cont))))
            (cond
             ((cdr (assq 'buffer cont))
              (insert-buffer-substring (cdr (assq 'buffer cont))))
-            ((setq filename (cdr (assq 'filename cont)))
+            ((and (setq filename (cdr (assq 'filename cont)))
+                  (not (equal (cdr (assq 'nofile cont)) "yes")))
              (mm-insert-file-contents filename))
             (t
              (save-restriction
              (mm-insert-file-contents filename))
             (t
              (save-restriction
          (cond
           ((cdr (assq 'buffer cont))
            (insert-buffer-substring (cdr (assq 'buffer cont))))
          (cond
           ((cdr (assq 'buffer cont))
            (insert-buffer-substring (cdr (assq 'buffer cont))))
-          ((setq filename (cdr (assq 'filename cont)))
+          ((and (setq filename (cdr (assq 'filename cont)))
+                (not (equal (cdr (assq 'nofile cont)) "yes")))
            (mm-insert-file-contents filename))
           (t
            (insert (cdr (assq 'contents cont)))))
            (mm-insert-file-contents filename))
           (t
            (insert (cdr (assq 'contents cont)))))
        (cond
         ((cdr (assq 'buffer cont))
          (insert-buffer-substring (cdr (assq 'buffer cont))))
        (cond
         ((cdr (assq 'buffer cont))
          (insert-buffer-substring (cdr (assq 'buffer cont))))
-        ((setq filename (cdr (assq 'filename cont)))
+        ((and (setq filename (cdr (assq 'filename cont)))
+              (not (equal (cdr (assq 'nofile cont)) "yes")))
          (mm-insert-file-contents filename))
         (t
          (insert (cdr (assq 'contents cont)))))
          (mm-insert-file-contents filename))
         (t
          (insert (cdr (assq 'contents cont)))))
   (let (textp buffer)
     ;; Determine type and stuff.
     (unless (stringp (car handle))
   (let (textp buffer)
     ;; Determine type and stuff.
     (unless (stringp (car handle))
-      (unless (setq textp (equal
-                          (car (split-string
-                                (car (mm-handle-type handle)) "/"))
-                          "text"))
+      (unless (setq textp (equal (mm-handle-media-supertype handle)
+                                "text"))
        (save-excursion
          (set-buffer (setq buffer (generate-new-buffer " *mml*")))
          (mm-insert-part handle))))
     (unless no-markup
        (save-excursion
          (set-buffer (setq buffer (generate-new-buffer " *mml*")))
          (mm-insert-part handle))))
     (unless no-markup
-      (mml-insert-mml-markup handle buffer))
+      (mml-insert-mml-markup handle buffer textp))
     (cond
      ((stringp (car handle))
       (mapcar 'mml-insert-mime (cdr handle))
     (cond
      ((stringp (car handle))
       (mapcar 'mml-insert-mime (cdr handle))
      (t
       (insert "<#/part>\n")))))
 
      (t
       (insert "<#/part>\n")))))
 
-(defun mml-insert-mml-markup (handle &optional buffer)
+(defun mml-insert-mml-markup (handle &optional buffer nofile)
   "Take a MIME handle and insert an MML tag."
   (if (stringp (car handle))
   "Take a MIME handle and insert an MML tag."
   (if (stringp (car handle))
-      (insert "<#multipart type=" (cadr (split-string (car handle) "/"))
+      (insert "<#multipart type=" (mm-handle-media-subtype handle)
              ">\n")
              ">\n")
-    (insert "<#part type=" (car (mm-handle-type handle)))
+    (insert "<#part type=" (mm-handle-media-type handle))
     (dolist (elem (append (cdr (mm-handle-type handle))
                          (cdr (mm-handle-disposition handle))))
       (insert " " (symbol-name (car elem)) "=\"" (cdr elem) "\""))
     (dolist (elem (append (cdr (mm-handle-type handle))
                          (cdr (mm-handle-disposition handle))))
       (insert " " (symbol-name (car elem)) "=\"" (cdr elem) "\""))
       (insert " disposition=" (car (mm-handle-disposition handle))))
     (when buffer
       (insert " buffer=\"" (buffer-name buffer) "\""))
       (insert " disposition=" (car (mm-handle-disposition handle))))
     (when buffer
       (insert " buffer=\"" (buffer-name buffer) "\""))
+    (when nofile
+      (insert " nofile=yes"))
     (when (mm-handle-description handle)
       (insert " description=\"" (mm-handle-description handle) "\""))
     (when (mm-handle-description handle)
       (insert " description=\"" (mm-handle-description handle) "\""))
-    (equal (split-string (car (mm-handle-type handle)) "/") "text")
     (insert ">\n")))
 
 (defun mml-insert-parameter (&rest parameters)
     (insert ">\n")))
 
 (defun mml-insert-parameter (&rest parameters)
index 2d5225f..7d98d8c 100644 (file)
@@ -1127,40 +1127,40 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
            (setq value (cdr (assq value nnmail-split-abbrev-alist))))
        (while (and (goto-char end-point)
                    (re-search-backward (cdr cached-pair) nil t))
            (setq value (cdr (assq value nnmail-split-abbrev-alist))))
        (while (and (goto-char end-point)
                    (re-search-backward (cdr cached-pair) nil t))
-       (when nnmail-split-tracing
-         (push (cdr cached-pair) nnmail-split-trace))
-       (let ((split-rest (cddr split))
-             (end (match-end 0))
-             ;; The searched regexp is \(\(FIELD\).*\)\(VALUE\).  So,
-             ;; start-of-value is the the point just before the
-             ;; beginning of the value, whereas after-header-name is
-             ;; the point just after the field name.
-             (start-of-value (match-end 1))
-             (after-header-name (match-end 2)))
+         (when nnmail-split-tracing
+           (push (cdr cached-pair) nnmail-split-trace))
+         (let ((split-rest (cddr split))
+               (end (match-end 0))
+               ;; The searched regexp is \(\(FIELD\).*\)\(VALUE\).  So,
+               ;; start-of-value is the the point just before the
+               ;; beginning of the value, whereas after-header-name is
+               ;; the point just after the field name.
+               (start-of-value (match-end 1))
+               (after-header-name (match-end 2)))
            ;; Start the next search just before the beginning of the
            ;; VALUE match.
            (setq end-point (1- start-of-value))
            ;; Start the next search just before the beginning of the
            ;; VALUE match.
            (setq end-point (1- start-of-value))
-         ;; Handle - RESTRICTs
-         (while (eq (car split-rest) '-)
-           ;; RESTRICT must start after-header-name and
-           ;; end after start-of-value, so that, for
-           ;; (any "foo" - "x-foo" "foo.list")
-           ;; we do not exclude foo.list just because
-           ;; the header is: ``To: x-foo, foo''
-           (goto-char end)
-           (if (and (re-search-backward (cadr split-rest)
-                                        after-header-name t)
-                    (> (match-end 0) start-of-value))
-               (setq split-rest nil)
-             (setq split-rest (cddr split-rest))))
-         (when split-rest
-           (goto-char end)
-           (let ((value (nth 1 split)))
-             (if (symbolp value)
-                 (setq value (cdr (assq value nnmail-split-abbrev-alist))))
-             ;; Someone might want to do a \N sub on this match, so get the
-             ;; correct match positions.
-             (re-search-backward value start-of-value))
+           ;; Handle - RESTRICTs
+           (while (eq (car split-rest) '-)
+             ;; RESTRICT must start after-header-name and
+             ;; end after start-of-value, so that, for
+             ;; (any "foo" - "x-foo" "foo.list")
+             ;; we do not exclude foo.list just because
+             ;; the header is: ``To: x-foo, foo''
+             (goto-char end)
+             (if (and (re-search-backward (cadr split-rest)
+                                          after-header-name t)
+                      (> (match-end 0) start-of-value))
+                 (setq split-rest nil)
+               (setq split-rest (cddr split-rest))))
+           (when split-rest
+             (goto-char end)
+             (let ((value (nth 1 split)))
+               (if (symbolp value)
+                   (setq value (cdr (assq value nnmail-split-abbrev-alist))))
+               ;; Someone might want to do a \N sub on this match, so get the
+               ;; correct match positions.
+               (re-search-backward value start-of-value))
              (dolist (sp (nnmail-split-it (car split-rest)))
                (unless (memq sp split-result)
                  (push sp split-result))))))
              (dolist (sp (nnmail-split-it (car split-rest)))
                (unless (memq sp split-result)
                  (push sp split-result))))))
index 6b3b2b0..bb0902a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pop3.el --- Post Office Protocol (RFC 1460) interface
 
 ;;; pop3.el --- Post Office Protocol (RFC 1460) interface
 
-;; Copyright (C) 1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999 Free Software Foundation, Inc.
 
 ;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
 ;; Keywords: mail, pop3
 
 ;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
 ;; Keywords: mail, pop3
@@ -94,24 +94,25 @@ Used for APOP authentication.")
           (pop3-pass process))
          (t (error "Invalid POP3 authentication scheme.")))
     (setq message-count (car (pop3-stat process)))
           (pop3-pass process))
          (t (error "Invalid POP3 authentication scheme.")))
     (setq message-count (car (pop3-stat process)))
-    (while (<= n message-count)
-      (message (format "Retrieving message %d of %d from %s..."
-                      n message-count pop3-mailhost))
-      (pop3-retr process n crashbuf)
-      (save-excursion
-       (set-buffer crashbuf)
-       (write-region-as-binary (point-min) (point-max)
-                               crashbox 'append 'nomesg)
-       (set-buffer (process-buffer process))
-       (while (> (buffer-size) 5000)
-         (goto-char (point-min))
-         (forward-line 50)
-         (delete-region (point-min) (point))))
-      (pop3-dele process n)
-      (setq n (+ 1 n))
-      (if pop3-debug (sit-for 1) (sit-for 0.1))
-      )
-    (pop3-quit process)
+    (unwind-protect
+       (while (<= n message-count)
+         (message (format "Retrieving message %d of %d from %s..."
+                          n message-count pop3-mailhost))
+         (pop3-retr process n crashbuf)
+         (save-excursion
+           (set-buffer crashbuf)
+           (write-region-as-binary (point-min) (point-max)
+                                   crashbox 'append 'nomesg)
+           (set-buffer (process-buffer process))
+           (while (> (buffer-size) 5000)
+             (goto-char (point-min))
+             (forward-line 50)
+             (delete-region (point-min) (point))))
+         (pop3-dele process n)
+         (setq n (+ 1 n))
+         (if pop3-debug (sit-for 1) (sit-for 0.1))
+         )
+      (pop3-quit process))
     (kill-buffer crashbuf)
     )
   t)
     (kill-buffer crashbuf)
     )
   t)
@@ -127,11 +128,13 @@ Returns the process associated with the connection."
       (erase-buffer)
       (setq pop3-read-point (point-min))
       )
       (erase-buffer)
       (setq pop3-read-point (point-min))
       )
-    (setq process
-         (cond ((eq pop3-connection-type 'ssl)
-                (pop3-open-ssl-stream "POP" process-buffer mailhost port))
-               (t
-                (open-network-stream-as-binary "POP" process-buffer mailhost port))))
+    (setq
+     process
+     (cond
+      ((eq pop3-connection-type 'ssl)
+       (pop3-open-ssl-stream "POP" process-buffer mailhost port))
+      (t
+       (open-network-stream-as-binary "POP" process-buffer mailhost port))))
     (let ((response (pop3-read-response process t)))
       (setq pop3-timestamp
            (substring response (or (string-match "<" response) 0)
     (let ((response (pop3-read-response process t)))
       (setq pop3-timestamp
            (substring response (or (string-match "<" response) 0)
index 82e9ed7..893bd16 100644 (file)
@@ -1,3 +1,7 @@
+1999-07-07 10:26:59  Robin S. Socha  <robin@socha.net>
+
+       * gnus.texi (Scoring Tips): Typo.
+
 1999-07-06 11:41:59  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Mail Source Specifiers): Fix.
 1999-07-06 11:41:59  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Mail Source Specifiers): Fix.
index a196c04..fdae084 100644 (file)
@@ -8302,9 +8302,11 @@ Gnus \e$B$O30$X=P$F9T$/A4$F$N%a%C%;!<%8$K!"0l$D$+$=$l0J>e$N$=$N%5!<%P!<$N%0%k!<\e(
 \e$B@-L>$OJ8;zNs$G$"$k;v$b$G$-$^$9!#$=$N>l9g$O!"$3$l$O%X%C%@!<L>$H$7$F;H$o$l!"\e(B
 \e$B$=$NCM$,5-;v$N%X%C%@!<$KA^F~$5$l$^$9!#\e(B
 
 \e$B@-L>$OJ8;zNs$G$"$k;v$b$G$-$^$9!#$=$N>l9g$O!"$3$l$O%X%C%@!<L>$H$7$F;H$o$l!"\e(B
 \e$B$=$NCM$,5-;v$N%X%C%@!<$KA^F~$5$l$^$9!#\e(B
 
-\e$BB0@-CM$OJ8;zNs\e(B (\e$B$=$N$^$^;H$o$l$^$9\e(B)\e$B!"4X?t\e(B (\e$BJV$jCM$,;H$o$l$^$9\e(B)\e$B!"JQ?t\e(B (\e$B$=\e(B
-\e$B$NCM$,;H$o$l$^$9\e(B)\e$B!"%j%9%H\e(B (\e$B$=$l$O\e(B @code{\e$BI>2A\e(B} \e$B$5$l$F!"JV$jCM$,;H$o$l$^$9\e(B) 
-\e$B$G$"$k;v$,$G$-$^$9!#\e(B
+\e$BB0@-CM$OJ8;zNs\e(B (\e$B$=$N$^$^;H$o$l$^$9\e(B)\e$B!"0z?t$NL5$$4X?t\e(B (\e$BJV$jCM$,;H$o$l$^$9\e(B)\e$B!"\e(B
+\e$BJQ?t\e(B (\e$B$=$NCM$,;H$o$l$^$9\e(B) \e$B$^$?$O%j%9%H\e(B (\e$B$=$l$O\e(B @code{\e$BI>2A\e(B} \e$B$5$l$F!"JV$j\e(B
+\e$BCM$,;H$o$l$^$9\e(B) \e$B$G$"$k;v$,$G$-$^$9!#4X?t$O%;%C%H%"%C%W$5$l$?%a%C%;!<%8\e(B
+\e$B%P%C%U%!$G8F$P$l\e(B (@code{eval} \e$B$5$l\e(B) \e$B$^$9!#8=:_$N5-;v$N%X%C%@!<$OJQ?t\e(B 
+@code{message-reply-headers} \e$B$+$iF@$i$l$^$9!#\e(B
 
 \e$B$b$7!":n@.$7$h$&$H$7$F$$$k%a%C%;!<%8$,%K%e!<%95-;v$+%a!<%k%a%C%;!<%8$G$"\e(B
 \e$B$k$+$rD4$Y$?$$$H$-$O!"\e(B2\e$B$D$N4X?t\e(B @code{message-news-p} \e$B$H\e(B 
 
 \e$B$b$7!":n@.$7$h$&$H$7$F$$$k%a%C%;!<%8$,%K%e!<%95-;v$+%a!<%k%a%C%;!<%8$G$"\e(B
 \e$B$k$+$rD4$Y$?$$$H$-$O!"\e(B2\e$B$D$N4X?t\e(B @code{message-news-p} \e$B$H\e(B 
index fdb7278..050776d 100644 (file)
@@ -7023,7 +7023,7 @@ positives.
 
 @vindex gnus-signature-limit
 @code{gnus-signature-limit} provides a limit to what is considered a
 
 @vindex gnus-signature-limit
 @code{gnus-signature-limit} provides a limit to what is considered a
-signature.
+signature when displaying articles.
 
 @enumerate
 @item
 
 @enumerate
 @item
@@ -8453,7 +8453,6 @@ group.
 @item gnus-treat-strip-trailing-blank-lines
 @item gnus-treat-strip-leading-blank-lines
 @item gnus-treat-strip-multiple-blank-lines
 @item gnus-treat-strip-trailing-blank-lines
 @item gnus-treat-strip-leading-blank-lines
 @item gnus-treat-strip-multiple-blank-lines
-@item gnus-treat-strip-blank-lines
 @item gnus-treat-overstrike
 @item gnus-treat-display-xface
 @item gnus-treat-display-smileys
 @item gnus-treat-overstrike
 @item gnus-treat-display-xface
 @item gnus-treat-display-smileys
@@ -8934,9 +8933,12 @@ attribute name can also be a string.  In that case, this will be used as
 a header name, and the value will be inserted in the headers of the
 article.
 
 a header name, and the value will be inserted in the headers of the
 article.
 
-The attribute value can be a string (used verbatim), a function (the
-return value will be used), a variable (its value will be used) or a
-list (it will be @code{eval}ed and the return value will be used).
+The attribute value can be a string (used verbatim), a function with
+zero arguments (the return value will be used), a variable (its value
+will be used) or a list (it will be @code{eval}ed and the return value
+will be used).  The functions and sexps are called/@code{eval}ed in the
+message buffer that is being set up.  The headers of the current article
+are available through the @code{message-reply-headers} variable.
 
 If you wish to check whether the message you are about to compose is
 meant to be a news article or a mail message, you can check the values
 
 If you wish to check whether the message you are about to compose is
 meant to be a news article or a mail message, you can check the values
@@ -14129,7 +14131,7 @@ will be fetched @emph{twice}.  If you want to match a bit on the
 the matches.
 
 @item Marking as read
 the matches.
 
 @item Marking as read
-You will probably want to mark articles that has a score below a certain
+You will probably want to mark articles that have scores below a certain
 number as read.  This is most easily achieved by putting the following
 in your @file{all.SCORE} file:
 @lisp
 number as read.  This is most easily achieved by putting the following
 in your @file{all.SCORE} file:
 @lisp