Sync up with Pteroductyl Gnus 0.59
authorichikawa <ichikawa>
Wed, 2 Dec 1998 03:47:55 +0000 (03:47 +0000)
committerichikawa <ichikawa>
Wed, 2 Dec 1998 03:47:55 +0000 (03:47 +0000)
18 files changed:
ChangeLog
README.ichikawa
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-picon.el
lisp/gnus-sum.el
lisp/gnus.el
lisp/mm-bodies.el
lisp/mm-decode.el
lisp/mm-uu.el
lisp/mml.el
lisp/nndoc.el
texi/ChangeLog
texi/emacs-mime.texi
texi/gnus-ja.texi
texi/gnus.texi
texi/message-ja.texi
texi/message.texi

index adc5505..ea5eb2f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+1998-12-02  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/smtp.el: Abolished - Use smtp.el in FLIM.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.10.045.
+
+       * Sync up with Pterodactyl Gnus 0.59.
+
 1998-12-01  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.10.044.
 1998-12-01  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.10.044.
index 95d04fe..a4541ea 100644 (file)
@@ -31,4 +31,4 @@ NEWS:
 * T-gnus 6.8.20 is the last version Gnus 5.6 base.
   After this , T-gnus 6.10 - this is based on Pterodactyl Gnus.
 
 * T-gnus 6.8.20 is the last version Gnus 5.6 base.
   After this , T-gnus 6.10 - this is based on Pterodactyl Gnus.
 
-  The latest T-gnus is T-gnus 6.10.044 (Based on pgnus-0.58).
+  The latest T-gnus is T-gnus 6.10.045 (Based on pgnus-0.59).
index 3f0b080..c93ef26 100644 (file)
@@ -1,3 +1,53 @@
+Wed Dec  2 01:43:48 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.59 is released.
+
+1998-12-02 01:38:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mml.el (mml-insert-mime-headers): Beep at multiple charsets.
+
+       * gnus-art.el (gnus-mime-copy-part): Set buffer-file-name.
+
+1998-11-30  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * mml.el (mml-generate-mime-1): Handle unquoting end-tags.
+
+1998-12-02 00:15:30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-decode.el (mm-all-images-fit): New variable.
+       (mm-image-fit-p): Use it.
+
+       * gnus-art.el (gnus-mime-display-single): Use it.
+       (gnus-mime-internalize-part): New command and keystroke.
+
+       * mm-decode.el (mm-user-automatic-external-display): New
+       variable. 
+       (mm-automatic-external-display-p): New function.
+
+       * gnus-picon.el (gnus-picons-xbm-face): Default to sensible
+       colors. 
+
+1998-12-01 23:52:05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-repair-multipart): Reselect article. 
+
+       * gnus-art.el (gnus-with-article): Work in the original article
+       buffer. 
+       (gnus-with-article): Work in read-only groups.
+
+Tue Dec  1 00:15:36 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-bodies.el (mm-decode-string): Return original string if not
+       decode.
+
+Mon Nov 30 23:38:02 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * mm-uu.el (mm-uu-dissect): Use mm-make-handle.
+
+1998-12-01 01:53:49  Fran\e$BmP\e(Bis Pinard  <pinard@iro.umontreal.ca>
+
+       * nndoc.el (nndoc-mime-parts-type-p): Do related.
+
 Tue Dec  1 00:46:20 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.58 is released.
 Tue Dec  1 00:46:20 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.58 is released.
index 63f05c5..d8395e8 100644 (file)
@@ -660,33 +660,28 @@ Initialized from `text-mode-syntax-table.")
      b 'intangible (cddr (memq 'intangible props)))))
 
 (defmacro gnus-with-article (article &rest forms)
      b 'intangible (cddr (memq 'intangible props)))))
 
 (defmacro gnus-with-article (article &rest forms)
-  "Select ARTICLE, copy the contents of the original article buffer to a new buffer, and then perform FORMS there.
+  "Select ARTICLE and perform FORMS in the original article buffer.
 Then replace the article with the result."
   `(progn
      ;; We don't want the article to be marked as read.
      (let (gnus-mark-article-hook)
        (gnus-summary-select-article t t nil ,article))
      (set-buffer gnus-original-article-buffer)
 Then replace the article with the result."
   `(progn
      ;; We don't want the article to be marked as read.
      (let (gnus-mark-article-hook)
        (gnus-summary-select-article t t nil ,article))
      (set-buffer gnus-original-article-buffer)
-     (let ((buf (format "%s" (buffer-string))))
-       (with-temp-buffer
-        (insert buf)
-        ,@forms
-        (unless (gnus-request-replace-article
-                 ,article (car gnus-article-current)
-                 (current-buffer) t)
-          (error "Couldn't replace article"))
-        ;; The cache and backlog have to be flushed somewhat.
-        (when gnus-keep-backlog
-          (gnus-backlog-remove-article
-           (car gnus-article-current) (cdr gnus-article-current)))
-        ;; Flush original article as well.
-        (save-excursion
-          (when (get-buffer gnus-original-article-buffer)
-            (set-buffer gnus-original-article-buffer)
-            (setq gnus-original-article nil)))
-        (when gnus-use-cache
-          (gnus-cache-update-article
-           (car gnus-article-current) (cdr gnus-article-current)))))))
+     ,@forms
+     (if (not (gnus-check-backend-function
+              'request-replace-article (car gnus-article-current)))
+        (gnus-message 5 "Read-only group; not replacing")
+       (unless (gnus-request-replace-article
+               ,article (car gnus-article-current)
+               (current-buffer) t)
+        (error "Couldn't replace article")))
+     ;; The cache and backlog have to be flushed somewhat.
+     (when gnus-keep-backlog
+       (gnus-backlog-remove-article
+       (car gnus-article-current) (cdr gnus-article-current)))
+     (when gnus-use-cache
+       (gnus-cache-update-article
+       (car gnus-article-current) (cdr gnus-article-current)))))
 
 (put 'gnus-with-article 'lisp-indent-function 1)
 (put 'gnus-with-article 'edebug-form-spec '(form body))
 
 (put 'gnus-with-article 'lisp-indent-function 1)
 (put 'gnus-with-article 'edebug-form-spec '(form body))
@@ -2370,11 +2365,11 @@ If ALL-HEADERS is non-nil, no headers are hidden."
 
 (defvar gnus-mime-button-commands
   '((gnus-article-press-button "\r"    "Toggle Display")
 
 (defvar gnus-mime-button-commands
   '((gnus-article-press-button "\r"    "Toggle Display")
-    ;(gnus-mime-view-part      "\M-\r" "View Interactively...")
     (gnus-mime-view-part       "v"     "View Interactively...")
     (gnus-mime-save-part       "o"     "Save...")
     (gnus-mime-copy-part       "c"     "View As Text, In Other Buffer")
     (gnus-mime-inline-part     "i"     "View As Text, In This Buffer")
     (gnus-mime-view-part       "v"     "View Interactively...")
     (gnus-mime-save-part       "o"     "Save...")
     (gnus-mime-copy-part       "c"     "View As Text, In Other Buffer")
     (gnus-mime-inline-part     "i"     "View As Text, In This Buffer")
+    (gnus-mime-internalize-part        "E"     "View Internally")
     (gnus-mime-externalize-part        "e"     "View Externally")
     (gnus-mime-pipe-part       "|"     "Pipe To Command...")))
 
     (gnus-mime-externalize-part        "e"     "View Externally")
     (gnus-mime-pipe-part       "|"     "Pipe To Command...")))
 
@@ -2438,8 +2433,7 @@ If ALL-HEADERS is non-nil, no headers are hidden."
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data))
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data))
-       ;(url-standalone-mode (not gnus-plugged))
-       )
+       (url-standalone-mode (not gnus-plugged)))
     (mm-interactively-view-part data)))
 
 (defun gnus-mime-copy-part (&optional handle)
     (mm-interactively-view-part data)))
 
 (defun gnus-mime-copy-part (&optional handle)
@@ -2447,17 +2441,22 @@ If ALL-HEADERS is non-nil, no headers are hidden."
   (interactive)
   (gnus-article-check-buffer)
   (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
   (interactive)
   (gnus-article-check-buffer)
   (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
-        (contents (mm-get-part handle))
-        (buffer (generate-new-buffer
-                      (file-name-nondirectory
-                       (or
-                        (mail-content-type-get (mm-handle-type handle) 'name)
-                        (mail-content-type-get (mm-handle-type handle)
-                                               'filename)
-                        "*decoded*")))))
+        (contents (mm-get-part handle))|
+        (base (file-name-nondirectory
+               (or
+                (mail-content-type-get (mm-handle-type handle) 'name)
+                (mail-content-type-get (mm-handle-type handle)
+                                       'filename)
+                "*decoded*")))
+        (buffer (generate-new-buffer base)))
     (switch-to-buffer buffer)
     (insert contents)
     (switch-to-buffer buffer)
     (insert contents)
-    (normal-mode)
+    ;; We do it this way to make `normal-mode' set the appropriate mode.
+    (unwind-protect
+       (progn
+         (setq buffer-file-name (expand-file-name base))
+         (normal-mode))
+      (setq buffer-file-name nil))
     (goto-char (point-min))))
 
 (defun gnus-mime-inline-part (&optional charset)
     (goto-char (point-min))))
 
 (defun gnus-mime-inline-part (&optional charset)
@@ -2466,7 +2465,7 @@ If ALL-HEADERS is non-nil, no headers are hidden."
   (gnus-article-check-buffer)
   (let* ((data (get-text-property (point) 'gnus-data))
         contents
   (gnus-article-check-buffer)
   (let* ((data (get-text-property (point) 'gnus-data))
         contents
-        ;(url-standalone-mode (not gnus-plugged))
+        (url-standalone-mode (not gnus-plugged))
         (b (point))
         buffer-read-only)
     (if (mm-handle-undisplayer data)
         (b (point))
         buffer-read-only)
     (if (mm-handle-undisplayer data)
@@ -2481,12 +2480,26 @@ If ALL-HEADERS is non-nil, no headers are hidden."
       (goto-char b))))
 
 (defun gnus-mime-externalize-part (&optional handle)
       (goto-char b))))
 
 (defun gnus-mime-externalize-part (&optional handle)
-  "Insert the MIME part under point into the current buffer."
+  "View the MIME part under point with an external viewer."
   (interactive)
   (gnus-article-check-buffer)
   (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
   (interactive)
   (gnus-article-check-buffer)
   (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
-        ;(url-standalone-mode (not gnus-plugged))
+        (url-standalone-mode (not gnus-plugged))
         (mm-user-display-methods nil)
         (mm-user-display-methods nil)
+        (mm-all-images-fit t)
+        (rfc2047-default-charset gnus-newsgroup-default-charset)
+        (mm-charset-iso-8859-1-forced gnus-newsgroup-iso-8859-1-forced))
+    (if (mm-handle-undisplayer handle)
+       (mm-remove-part handle)
+      (mm-display-part handle))))
+
+(defun gnus-mime-internalize-part (&optional handle)
+  "View the MIME part under point with an internal viewer."
+  (interactive)
+  (gnus-article-check-buffer)
+  (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
+        (url-standalone-mode (not gnus-plugged))
+        (mm-user-display-methods '(".*"))
         (rfc2047-default-charset gnus-newsgroup-default-charset)
         (mm-charset-iso-8859-1-forced gnus-newsgroup-iso-8859-1-forced))
     (if (mm-handle-undisplayer handle)
         (rfc2047-default-charset gnus-newsgroup-default-charset)
         (mm-charset-iso-8859-1-forced gnus-newsgroup-iso-8859-1-forced))
     (if (mm-handle-undisplayer handle)
@@ -2677,7 +2690,8 @@ If ALL-HEADERS is non-nil, no headers are hidden."
          (when (string-match (pop ignored) type)
            (throw 'ignored nil)))
        (if (and (mm-automatic-display-p type)
          (when (string-match (pop ignored) type)
            (throw 'ignored nil)))
        (if (and (mm-automatic-display-p type)
-                (mm-inlinable-part-p type)
+                (or (mm-inlinable-part-p type)
+                    (mm-automatic-external-display-p type))
                 (setq not-attachment
                       (or (not (mm-handle-disposition handle))
                           (equal (car (mm-handle-disposition handle))
                 (setq not-attachment
                       (or (not (mm-handle-disposition handle))
                           (equal (car (mm-handle-disposition handle))
index fd0d4ec..26e82db 100644 (file)
@@ -144,8 +144,12 @@ please tell me so that we can list it."
                 (string))
   :group 'picons)
 
                 (string))
   :group 'picons)
 
-(defface gnus-picons-xbm-face '((t (:foreground "black" :background "white")))
-  "Face to show X face"
+(defface gnus-picons-xbm-face
+  '((((background dark))
+     (:foreground "green" :background "black"))
+    (t
+     (:foreground "black" :background "blue")))
+  "Face to show xbm picons in."
   :group 'picons)
 
 ;;; Internal variables:
   :group 'picons)
 
 ;;; Internal variables:
index cbdc08f..e06c722 100644 (file)
@@ -9223,7 +9223,9 @@ save those articles instead."
        (insert (format "Content-Type: multipart/mixed; boundary=\"%s\"\n"
                        separator))
        (insert "Mime-Version: 1.0\n")
        (insert (format "Content-Type: multipart/mixed; boundary=\"%s\"\n"
                        separator))
        (insert "Mime-Version: 1.0\n")
-       (widen)))))
+       (widen))))
+  (let (gnus-mark-article-hook)
+    (gnus-summary-select-article t t nil article)))
 
 (defun gnus-summary-toggle-display-buttonized ()
   "Toggle the buttonizing of the article buffer."
 
 (defun gnus-summary-toggle-display-buttonized ()
   "Toggle the buttonizing of the article buffer."
index c972e5e..28843f7 100644 (file)
@@ -259,10 +259,10 @@ is restarted, and sometimes reloaded."
 (defconst gnus-product-name "T-gnus"
   "Product name of this version of gnus.")
 
 (defconst gnus-product-name "T-gnus"
   "Product name of this version of gnus.")
 
-(defconst gnus-version-number "6.10.044"
+(defconst gnus-version-number "6.10.045"
   "Version number for this version of gnus.")
 
   "Version number for this version of gnus.")
 
-(defconst gnus-original-version-number "0.58"
+(defconst gnus-original-version-number "0.59"
     "Version number for this version of Gnus.")
 
 (defconst gnus-original-product-name "Pterodactyl Gnus"
     "Version number for this version of Gnus.")
 
 (defconst gnus-original-product-name "Pterodactyl Gnus"
index 22d2ae4..6662702 100644 (file)
@@ -172,14 +172,16 @@ The characters in CHARSET should then be decoded."
 (defun mm-decode-string (string charset)
   "Decode STRING with CHARSET."
   (setq charset (or charset rfc2047-default-charset))
 (defun mm-decode-string (string charset)
   "Decode STRING with CHARSET."
   (setq charset (or charset rfc2047-default-charset))
-  (when (featurep 'mule)
-    (let (mule-charset)
-      (when (and charset
-                (setq mule-charset (mm-charset-to-coding-system charset))
-                enable-multibyte-characters
-                (or (not (eq mule-charset 'ascii))
-                    (setq mule-charset rfc2047-default-charset)))
-       (mm-decode-coding-string string mule-charset)))))
+  (or
+   (when (featurep 'mule)
+     (let (mule-charset)
+       (when (and charset
+                 (setq mule-charset (mm-charset-to-coding-system charset))
+                 enable-multibyte-characters
+                 (or (not (eq mule-charset 'ascii))
+                     (setq mule-charset rfc2047-default-charset)))
+        (mm-decode-coding-string string mule-charset))))
+   string))
 
 (provide 'mm-bodies)
 
 
 (provide 'mm-bodies)
 
index 165afdd..f7653b6 100644 (file)
@@ -91,6 +91,9 @@
   '("text/plain" "text/enriched" "text/richtext" "text/html" 
     "image/.*" "message/delivery-status" "multipart/.*"))
 
   '("text/plain" "text/enriched" "text/richtext" "text/html" 
     "image/.*" "message/delivery-status" "multipart/.*"))
 
+(defvar mm-user-automatic-external-display nil
+  "List of MIME type regexps that will be displayed externally automatically.")
+
 (defvar mm-alternative-precedence
   '("image/jpeg" "image/gif" "text/html" "text/enriched"
     "text/richtext" "text/plain")
 (defvar mm-alternative-precedence
   '("image/jpeg" "image/gif" "text/html" "text/enriched"
     "text/richtext" "text/plain")
 (defvar mm-tmp-directory "/tmp/"
   "Where mm will store its temporary files.")
 
 (defvar mm-tmp-directory "/tmp/"
   "Where mm will store its temporary files.")
 
+(defvar mm-all-images-fit nil
+  "If non-nil, then all images fit in the buffer.")
+
 ;;; Internal variables.
 
 (defvar mm-dissection-list nil)
 ;;; Internal variables.
 
 (defvar mm-dissection-list nil)
@@ -399,6 +405,16 @@ external if displayed external."
              methods nil)))
     result))
 
              methods nil)))
     result))
 
+(defun mm-automatic-external-display-p (type)
+  "Return the user-defined method for TYPE."
+  (let ((methods mm-user-automatic-external-display)
+       method result)
+    (while (setq method (pop methods))
+      (when (string-match method type)
+       (setq result t
+             methods nil)))
+    result))
+
 (defun add-mime-display-method (type method)
   "Make parts of TYPE be displayed with METHOD.
 This overrides entries in the mailcap file."
 (defun add-mime-display-method (type method)
   "Make parts of TYPE be displayed with METHOD.
 This overrides entries in the mailcap file."
@@ -541,8 +557,9 @@ This overrides entries in the mailcap file."
 (defun mm-image-fit-p (handle)
   "Say whether the image in HANDLE will fit the current window."
   (let ((image (mm-get-image handle)))
 (defun mm-image-fit-p (handle)
   "Say whether the image in HANDLE will fit the current window."
   (let ((image (mm-get-image handle)))
-    (and (< (glyph-width image) (window-pixel-width))
-        (< (glyph-height image) (window-pixel-height)))))
+    (or mm-all-images-fit
+       (and (< (glyph-width image) (window-pixel-width))
+            (< (glyph-height image) (window-pixel-height))))))
 
 (provide 'mm-decode)
 
 
 (provide 'mm-decode)
 
index 1a61a72..30f9da4 100644 (file)
@@ -2,7 +2,7 @@
 ;; Copyright (c) 1998 by Shenghuo Zhu <zsh@cs.rochester.edu>
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Copyright (c) 1998 by Shenghuo Zhu <zsh@cs.rochester.edu>
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
-;; $Revision: 1.1.2.5 $
+;; $Revision: 1.1.2.6 $
 ;; Keywords: news postscript uudecode binhex shar
   
 ;; This file is not part of GNU Emacs, but the same permissions
 ;; Keywords: news postscript uudecode binhex shar
   
 ;; This file is not part of GNU Emacs, but the same permissions
                            (error nil))))
            (if (> start-char text-start)
                (push
                            (error nil))))
            (if (> start-char text-start)
                (push
-                (list (mm-uu-copy-to-buffer text-start start-char) 
-                      text-plain-type cte nil nil nil) 
+                (mm-make-handle (mm-uu-copy-to-buffer text-start start-char) 
+                      text-plain-type cte) 
                 result))
            (push 
             (cond
              ((eq type 'postscript)
                 result))
            (push 
             (cond
              ((eq type 'postscript)
-              (list (mm-uu-copy-to-buffer start-char end-char) 
-                    '("application/postscript") nil nil nil nil))
+              (mm-make-handle (mm-uu-copy-to-buffer start-char end-char) 
+                    '("application/postscript")))
              ((eq type 'uu)
              ((eq type 'uu)
-              (list (mm-uu-copy-to-buffer start-char end-char) 
+              (mm-make-handle (mm-uu-copy-to-buffer start-char end-char) 
                     (list (or (and file-name
                                    (string-match "\\.[^\\.]+$" file-name) 
                                    (mailcap-extension-to-mime 
                     (list (or (and file-name
                                    (string-match "\\.[^\\.]+$" file-name) 
                                    (mailcap-extension-to-mime 
                               "application/octet-stream"))
                     mm-uu-decode-function nil 
                     (if (and file-name (not (equal file-name "")))
                               "application/octet-stream"))
                     mm-uu-decode-function nil 
                     (if (and file-name (not (equal file-name "")))
-                        (list "attachment" (cons 'filename file-name)))
-                  file-name))
+                        (list "attachment" (cons 'filename file-name)))))
              ((eq type 'binhex)
              ((eq type 'binhex)
-              (list (mm-uu-copy-to-buffer start-char end-char) 
+              (mm-make-handle (mm-uu-copy-to-buffer start-char end-char) 
                     (list (or (and file-name
                                    (string-match "\\.[^\\.]+$" file-name) 
                                    (mailcap-extension-to-mime 
                     (list (or (and file-name
                                    (string-match "\\.[^\\.]+$" file-name) 
                                    (mailcap-extension-to-mime 
                               "application/octet-stream"))
                     mm-uu-binhex-decode-function nil 
                     (if (and file-name (not (equal file-name "")))
                               "application/octet-stream"))
                     mm-uu-binhex-decode-function nil 
                     (if (and file-name (not (equal file-name "")))
-                        (list "attachment" (cons 'filename file-name)))
-                    file-name))
+                        (list "attachment" (cons 'filename file-name)))))
              ((eq type 'shar)
              ((eq type 'shar)
-              (list (mm-uu-copy-to-buffer start-char end-char) 
-                    '("application/x-shar") nil nil nil nil))) 
+              (mm-make-handle (mm-uu-copy-to-buffer start-char end-char) 
+                    '("application/x-shar")))) 
             result)
            (setq text-start end-char))))
       (when result
        (if (> (point-max) (1+ text-start))
            (push
             result)
            (setq text-start end-char))))
       (when result
        (if (> (point-max) (1+ text-start))
            (push
-            (list (mm-uu-copy-to-buffer text-start (point-max)) 
-                  text-plain-type cte nil nil nil) 
+            (mm-make-handle (mm-uu-copy-to-buffer text-start (point-max)) 
+                  text-plain-type cte) 
             result))
        (setq result (cons "multipart/mixed" (nreverse result))))
       result)))
             result))
        (setq result (cons "multipart/mixed" (nreverse result))))
       result)))
index 1cc8cc6..f788a9e 100644 (file)
 (defun mml-generate-mime-1 (cont)
   (cond
    ((eq (car cont) 'part)
 (defun mml-generate-mime-1 (cont)
   (cond
    ((eq (car cont) 'part)
-    (let (coded encoding charset filename type parameters)
+    (let (coded encoding charset filename type)
       (setq type (or (cdr (assq 'type cont)) "text/plain"))
       (if (equal (car (split-string type "/")) "text")
          (with-temp-buffer
       (setq type (or (cdr (assq 'type cont)) "text/plain"))
       (if (equal (car (split-string type "/")) "text")
          (with-temp-buffer
                ;; Remove quotes from quoted tags.
                (goto-char (point-min))
                (while (re-search-forward
                ;; Remove quotes from quoted tags.
                (goto-char (point-min))
                (while (re-search-forward
-                       "<#!+\\(part\\|multipart\\|external\\)" nil t)
+                       "<#!+/?\\(part\\|multipart\\|external\\)" nil t)
                  (delete-region (+ (match-beginning 0) 2)
                                 (+ (match-beginning 0) 3)))))
            (setq charset (mm-encode-body)
                  (delete-region (+ (match-beginning 0) 2)
                                 (+ (match-beginning 0) 3)))))
            (setq charset (mm-encode-body)
                    (mml-parameter-string
                     cont '(name access-type expiration size permission)))
              (not (equal type "text/plain")))
                    (mml-parameter-string
                     cont '(name access-type expiration size permission)))
              (not (equal type "text/plain")))
+      (when (listp charset)
+       (error
+        "Can't encode a part with several charsets.  Insert a <#part>."))
       (insert "Content-Type: " type)
       (when charset
        (insert "; " (mail-header-encode-parameter
       (insert "Content-Type: " type)
       (when charset
        (insert "; " (mail-header-encode-parameter
index 9194fec..9f7ef73 100644 (file)
@@ -452,11 +452,11 @@ from the document.")
        (limit (search-forward "\n\n" nil t)))
     (goto-char (point-min))
     (when (and limit
        (limit (search-forward "\n\n" nil t)))
     (goto-char (point-min))
     (when (and limit
-               (re-search-forward
-                (concat "\
-^Content-Type:[ \t]*multipart/[a-z]+ *;\\(.*;\\)*"
-                        "[ \t\n]*[ \t]boundary=\"?[^\"\n]*[^\" \t\n]")
-          limit t))
+              (re-search-forward
+               (concat "\
+ ^Content-Type:[ \t]*multipart/[a-z]+ *;\\(\\(\n[ \t]\\)?.*;\\)*"
+                       "\\(\n[ \t]\\)?[ \t]*boundary=\"?[^\"\n]*[^\" \t\n]")
+               limit t))
       t)))
 
 (defun nndoc-transform-mime-parts (article)
       t)))
 
 (defun nndoc-transform-mime-parts (article)
index c38c6e1..71d0f3d 100644 (file)
@@ -1,3 +1,7 @@
+1998-12-02 01:04:22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Emacsen): Addition.
+
 1998-12-01 00:27:04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * emacs-mime.texi (rfc2045): New.
 1998-12-01 00:27:04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * emacs-mime.texi (rfc2045): New.
index 916878d..d45602a 100644 (file)
@@ -276,8 +276,8 @@ Decode the encoded words in the string and return the result.
 @end table
 
 Currently, @code{mail-parse} is an abstraction over @code{ietf-drums},
 @end table
 
 Currently, @code{mail-parse} is an abstraction over @code{ietf-drums},
-@code{rfc2047} and @code{rfc2231}.  These are documented in the
-subsequent sections.
+@code{rfc2047}, @code{rfc2045} and @code{rfc2231}.  These are documented
+in the subsequent sections.
 
 
 
 
 
 
index 8f89039..9812ef1 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus-ja
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus-ja
-@settitle Semi-gnus 6.10.044 Manual
+@settitle Semi-gnus 6.10.045 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -345,7 +345,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Semi-gnus 6.10.044 Manual
+@title Semi-gnus 6.10.045 Manual
 
 @author by Lars Magne Ingebrigtsen
 @author by members of Semi-gnus mailing-list
 
 @author by Lars Magne Ingebrigtsen
 @author by members of Semi-gnus mailing-list
@@ -399,7 +399,7 @@ Semi-gnus \e$B$O!"Bg$-$J3($,F~$C$F$$$?$j$5$^$6$^$J7A<0$rMQ$$$?$j$7$F$$$k$A$g$C\e(B
 \e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
 \e$B$*BT$A$/$@$5$$!#\e(B
 
 \e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
 \e$B$*BT$A$/$@$5$$!#\e(B
 
-\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.044 \e$B$KBP1~$7$^$9!#\e(B
+\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.045 \e$B$KBP1~$7$^$9!#\e(B
 
 @end ifinfo
 
 
 @end ifinfo
 
index a0ade90..3de251a 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Semi-gnus 6.10.044 Manual
+@settitle Semi-gnus 6.10.045 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Semi-gnus 6.10.044 Manual
+@title Semi-gnus 6.10.045 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -361,7 +361,7 @@ internationalization/localization and multiscript features based on MULE
 API.  So Semi-gnus does not discriminate various language communities.
 Oh, if you are a Klingon, please wait Unicode Next Generation.
 
 API.  So Semi-gnus does not discriminate various language communities.
 Oh, if you are a Klingon, please wait Unicode Next Generation.
 
-This manual corresponds to Semi-gnus 6.10.044.
+This manual corresponds to Semi-gnus 6.10.045.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -16195,15 +16195,16 @@ Gnus should work on :
 @itemize @bullet
 
 @item
 @itemize @bullet
 
 @item
-Emacs 20.2 and up.
+Emacs 20.3 and up.
 
 @item
 XEmacs 20.4 and up.
 
 @end itemize
 
 
 @item
 XEmacs 20.4 and up.
 
 @end itemize
 
-Gnus will absolutely not work on any Emacsen older than that.  Not
-reliably, at least.
+This Gnus version will absolutely not work on any Emacsen older than
+that.  Not reliably, at least.  Older versions of Gnus may work on older 
+Emacs versions.
 
 There are some vague differences between Gnus on the various
 platforms---XEmacs features more graphics (a logo and a toolbar)---but
 
 There are some vague differences between Gnus on the various
 platforms---XEmacs features more graphics (a logo and a toolbar)---but
index 5e52e43..24ec64f 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message-ja
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message-ja
-@settitle Message 6.10.044 Manual
+@settitle Message 6.10.045 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -60,7 +60,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Message 6.10.044 Manual
+@title Message 6.10.045 Manual
 
 @author by Lars Magne Ingebrigtsen
 @translated by members of Semi-gnus mailing-list
 
 @author by Lars Magne Ingebrigtsen
 @translated by members of Semi-gnus mailing-list
@@ -112,7 +112,7 @@ Gnus \e$B$NA4$F$N%a%C%;!<%8$N:n@.\e(B (\e$B%a!<%k$H%K%e!<%9$NN>J}\e(B) \e$B$O%a%C%;!<
 * Key Index::         \e$B%a%C%;!<%8%b!<%I%-!<$N0lMw!#\e(B
 @end menu
 
 * Key Index::         \e$B%a%C%;!<%8%b!<%I%-!<$N0lMw!#\e(B
 @end menu
 
-\e$B$3$N%^%K%e%"%k$O\e(B Message 6.10.044 \e$B$KBP1~$7$^$9!#\e(BMessage \e$B$O$3$N%^%K%e%"%k$H\e(B
+\e$B$3$N%^%K%e%"%k$O\e(B Message 6.10.045 \e$B$KBP1~$7$^$9!#\e(BMessage \e$B$O$3$N%^%K%e%"%k$H\e(B
 \e$BF1$8HGHV9f$N\e(B Gnus \e$B$NG[I[$H6&$KG[I[$5$l$^$9!#\e(B
 
 
 \e$BF1$8HGHV9f$N\e(B Gnus \e$B$NG[I[$H6&$KG[I[$5$l$^$9!#\e(B
 
 
index 9b9c221..286436c 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 6.10.044 Manual
+@settitle Message 6.10.045 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 6.10.044 Manual
+@title Message 6.10.045 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 6.10.044.  Message is
+This manual corresponds to Message 6.10.045.  Message is
 distributed with the Gnus distribution bearing the same version number
 as this manual.
 
 distributed with the Gnus distribution bearing the same version number
 as this manual.