*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 2 Dec 1998 01:44:16 +0000 (01:44 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 2 Dec 1998 01:44:16 +0000 (01:44 +0000)
14 files changed:
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.texi
texi/message.texi

index 3338e4d..296d269 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çois 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 b912b57..67ea432 100644 (file)
@@ -637,33 +637,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))
@@ -2287,11 +2282,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...")))
 
@@ -2355,8 +2350,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)
@@ -2364,17 +2358,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)
@@ -2383,7 +2382,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)
@@ -2398,12 +2397,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)
@@ -2594,7 +2607,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 a3b5418..11d0560 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 2198a03..d01676a 100644 (file)
@@ -9213,7 +9213,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 bc7c8be..fb57c2a 100644 (file)
@@ -254,7 +254,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.58"
+(defconst gnus-version-number "0.59"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
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 f208252..6f12485 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 6b26959..eff0691 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: 5.3 $
+;; $Revision: 5.4 $
 ;; 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 d9f3f21..363a3cc 100644 (file)
@@ -452,18 +452,18 @@ 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)
   (let* ((entry (cdr (assq article nndoc-dissection-alist)))
         (headers (nth 5 entry)))
     (when headers
       t)))
 
 (defun nndoc-transform-mime-parts (article)
   (let* ((entry (cdr (assq article nndoc-dissection-alist)))
         (headers (nth 5 entry)))
     (when headers
-    (goto-char (point-min))
+      (goto-char (point-min))
       (insert headers))))
 
 (defun nndoc-generate-mime-parts-head (article)
       (insert headers))))
 
 (defun nndoc-generate-mime-parts-head (article)
index 0cecc0b..700c4ad 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 b24ab75..64e2832 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Pterodactyl Gnus 0.58 Manual
+@settitle Pterodactyl Gnus 0.59 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 Pterodactyl Gnus 0.58 Manual
+@title Pterodactyl Gnus 0.59 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -354,7 +354,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Pterodactyl Gnus 0.58.
+This manual corresponds to Pterodactyl Gnus 0.59.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -16208,15 +16208,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 d65d8d4..68fb7e9 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Pterodactyl Message 0.58 Manual
+@settitle Pterodactyl Message 0.59 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 Pterodactyl Message 0.58 Manual
+@title Pterodactyl Message 0.59 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 Pterodactyl Message 0.58.  Message is
+This manual corresponds to Pterodactyl Message 0.59.  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.