Synch to No Gnus 200403230826.
authoryamaoka <yamaoka>
Tue, 23 Mar 2004 08:27:24 +0000 (08:27 +0000)
committeryamaoka <yamaoka>
Tue, 23 Mar 2004 08:27:24 +0000 (08:27 +0000)
lisp/ChangeLog
lisp/gnus-art.el
lisp/mml.el

index 9196f2c..61ec3e5 100644 (file)
@@ -1,3 +1,20 @@
+2004-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-mime-recompute-hierarchical-structure): Remove.
+       (gnus-mime-multipart-functions): Revert 2004-03-19 change.
+       (gnus-article-mime-hierarchy): Remove.
+       (gnus-article-mime-hierarchy-next): Remove.
+       (gnus-article-mode): Revert 2004-03-19 change.
+       (gnus-article-setup-buffer): Revert 2004-03-19 change.
+       (gnus-insert-mime-button): Revert 2004-03-19 change.
+       (gnus-mime-accumulate-hierarchy): Remove.
+       (gnus-mime-enter-multipart): Remove.
+       (gnus-mime-leave-multipart): Remove,
+       (gnus-mime-display-part): Revert 2004-03-19 change.
+       (gnus-mime-display-alternative): Revert 2004-03-19 change.
+
+       * mml.el (mml-preview): Revert 2004-03-19 change.
+
 2004-03-18  Helmut Waitzmann  <Helmut.Waitzmann@web.de>  (tiny change)
 
        * gnus-sum.el (gnus-newsgroup-variables): Doc fix.
index dcab657..8173c11 100644 (file)
@@ -814,12 +814,6 @@ as described by the variables `gnus-buttonized-mime-types' and
   :group 'gnus-article-mime
   :type 'boolean)
 
-(defcustom gnus-mime-recompute-hierarchical-structure nil
-  "Non-nil means recompute article's hierarchical MIME structure.
-The hierarchy numbers will be displayed in MIME buttons."
-  :group 'gnus-article-mime
-  :type 'boolean)
-
 (defcustom gnus-body-boundary-delimiter "_"
   "String used to delimit header and body.
 This variable is used by `gnus-article-treat-body-boundary' which can
@@ -854,16 +848,7 @@ on parts -- for instance, adding Vcard info to a database."
   :type 'function)
 
 (defcustom gnus-mime-multipart-functions nil
-  "An alist of MIME types to functions to display them.
-Consider using `gnus-mime-accumulate-hierarchy' for each MIME handle
-when defining your function.  For example:
-
-\(setq gnus-mime-multipart-functions
-      (list (cons \"multipart/examples\"
-                 (lambda (handles)
-                   (dolist (handle (cdr handles))
-                     (gnus-mime-accumulate-hierarchy handle)
-                     (function-to-display-an-example handle))))))"
+  "An alist of MIME types to functions to display them."
   :version "21.1"
   :group 'gnus-article-mime
   :type '(repeat (cons :format "%v" (string :tag "MIME type") function)))
@@ -1574,8 +1559,6 @@ This requires GNU Libidn, and by default only enabled if it is found."
 (defvar gnus-article-mime-handle-alist nil)
 (defvar article-lapsed-timer nil)
 (defvar gnus-article-current-summary nil)
-(defvar gnus-article-mime-hierarchy nil)
-(defvar gnus-article-mime-hierarchy-next nil)
 
 (defvar gnus-article-mode-syntax-table
   (let ((table (copy-syntax-table text-mode-syntax-table)))
@@ -3867,7 +3850,6 @@ commands:
   (make-local-variable 'gnus-article-image-alist)
   (make-local-variable 'gnus-article-charset)
   (make-local-variable 'gnus-article-ignored-charsets)
-  (make-local-variable 'gnus-article-mime-hierarchy)
   (gnus-set-default-directory)
   (buffer-disable-undo)
   (setq buffer-read-only t)
@@ -3885,8 +3867,6 @@ commands:
     (setq gnus-article-buffer name)
     (setq gnus-original-article-buffer original)
     (setq gnus-article-mime-handle-alist nil)
-    (setq gnus-article-mime-hierarchy nil
-         gnus-article-mime-hierarchy-next nil)
     ;; This might be a variable local to the summary buffer.
     (unless gnus-single-article-buffer
       (save-excursion
@@ -4864,17 +4844,11 @@ N is the numerical prefix."
     (setq b (point))
     (gnus-eval-format
      gnus-mime-button-line-format gnus-mime-button-line-format-alist
-     (prog1
-        `(keymap ,gnus-mime-button-map
-                 gnus-callback gnus-mm-display-part
-                 gnus-part ,gnus-tmp-id
-                 article-type annotation
-                 gnus-data ,handle)
-       (when gnus-mime-recompute-hierarchical-structure
-        (setq gnus-tmp-id (mapconcat 'number-to-string
-                                     (car (nth (1- gnus-tmp-id)
-                                               gnus-article-mime-hierarchy))
-                                     ".")))))
+     `(keymap ,gnus-mime-button-map
+             gnus-callback gnus-mm-display-part
+             gnus-part ,gnus-tmp-id
+             article-type annotation
+             gnus-data ,handle))
     (setq e (if (bolp)
                ;; Exclude a newline.
                (1- (point))
@@ -4983,111 +4957,44 @@ If displaying \"text/html\" is discouraged \(see
   :group 'gnus-article-mime
   :type 'boolean)
 
-(defun gnus-mime-accumulate-hierarchy (handle &optional single)
-  "Accumulate the MIME hierarchy."
-  (when gnus-mime-recompute-hierarchical-structure
-    (prog1
-       (setq gnus-article-mime-hierarchy
-             (nconc
-              gnus-article-mime-hierarchy
-              (list
-               (cons
-                (or
-                 gnus-article-mime-hierarchy-next
-                 (if gnus-article-mime-hierarchy
-                     (let ((last (1- (length gnus-article-mime-hierarchy))))
-                       (prog1
-                           (setq last
-                                 (copy-sequence
-                                  (car (nth last
-                                            gnus-article-mime-hierarchy))))
-                         (setq last (nthcdr (1- (length last)) last))
-                         (setcar last (1+ (car last)))))
-                   (list 1)))
-                ;; A placeholder which may be replaced with `handle'.
-                nil))))
-      (if (and single
-              (not (member (mm-handle-media-type handle)
-                           '("message/rfc822"))))
-         (let ((last (copy-sequence
-                      (car (nth (1- (length gnus-article-mime-hierarchy))
-                                gnus-article-mime-hierarchy)))))
-           (setq gnus-article-mime-hierarchy-next last
-                 last (nthcdr (1- (length last)) last))
-           (setcar last (1+ (car last))))
-       (setq gnus-article-mime-hierarchy-next nil)))))
-
-(defun gnus-mime-enter-multipart ()
-  (when gnus-mime-recompute-hierarchical-structure
-    (setq gnus-article-mime-hierarchy-next
-         (cond (gnus-article-mime-hierarchy-next
-                (nconc gnus-article-mime-hierarchy-next (list 1)))
-               (gnus-article-mime-hierarchy
-                (append (car (nth (1- (length gnus-article-mime-hierarchy))
-                                  gnus-article-mime-hierarchy))
-                        (list 1)))
-               (t
-                (list 1))))))
-
-(defun gnus-mime-leave-multipart ()
-  (when gnus-mime-recompute-hierarchical-structure
-    (setq gnus-article-mime-hierarchy-next
-         (when gnus-article-mime-hierarchy
-           (let ((last (car (nth (1- (length gnus-article-mime-hierarchy))
-                                 gnus-article-mime-hierarchy))))
-             (when (cdr last)
-               (prog1
-                   (setq last (butlast last))
-                 (setq last (nthcdr (1- (length last)) last))
-                 (setcar last (1+ (car last))))))))))
-
 (defun gnus-mime-display-part (handle)
-  (if (not (stringp (car handle)))
-      ;; Single part.
-      (progn
-       (gnus-mime-accumulate-hierarchy handle t)
-       (gnus-mime-display-single handle))
-    (gnus-mime-enter-multipart)
-    (prog1
-       (cond
-        ;; User-defined multipart
-        ((cdr (assoc (car handle) gnus-mime-multipart-functions))
-         (gnus-mime-accumulate-hierarchy handle)
-         (funcall (cdr (assoc (car handle) gnus-mime-multipart-functions))
-                  handle))
-        ;; multipart/alternative
-        ((and (equal (car handle) "multipart/alternative")
-              (not (or gnus-mime-display-multipart-as-mixed
-                       gnus-mime-display-multipart-alternative-as-mixed)))
-         (gnus-mime-accumulate-hierarchy handle)
-         (let ((id (1+ (length gnus-article-mime-handle-alist))))
-           (push (cons id handle) gnus-article-mime-handle-alist)
-           (gnus-mime-display-alternative (cdr handle) nil nil id)))
-        ;; multipart/related
-        ((and (equal (car handle) "multipart/related")
-              (not (or gnus-mime-display-multipart-as-mixed
-                       gnus-mime-display-multipart-related-as-mixed)))
-         ;;;!!!We should find the start part, but we just default
-         ;;;!!!to the first part.
-         ;;(gnus-mime-display-part (cadr handle))
-         ;;;!!! Most multipart/related is an HTML message plus images.
-         ;;;!!! Unfortunately we are unable to let W3 display those
-         ;;;!!! included images, so we just display it as a mixed multipart.
-         ;;(gnus-mime-display-mixed (cdr handle))
-         ;;;!!! No, w3 can display everything just fine.
-         (gnus-mime-display-part (cadr handle)))
-        ((equal (car handle) "multipart/signed")
-         (gnus-mime-accumulate-hierarchy handle)
-         (gnus-add-wash-type 'signed)
-         (gnus-mime-display-security handle))
-        ((equal (car handle) "multipart/encrypted")
-         (gnus-mime-accumulate-hierarchy handle)
-         (gnus-add-wash-type 'encrypted)
-         (gnus-mime-display-security handle))
-        ;; Other multiparts are handled like multipart/mixed.
-        (t
-         (gnus-mime-display-mixed (cdr handle))))
-      (gnus-mime-leave-multipart))))
+  (cond
+   ;; Single part.
+   ((not (stringp (car handle)))
+    (gnus-mime-display-single handle))
+   ;; User-defined multipart
+   ((cdr (assoc (car handle) gnus-mime-multipart-functions))
+    (funcall (cdr (assoc (car handle) gnus-mime-multipart-functions))
+            handle))
+   ;; multipart/alternative
+   ((and (equal (car handle) "multipart/alternative")
+        (not (or gnus-mime-display-multipart-as-mixed
+                 gnus-mime-display-multipart-alternative-as-mixed)))
+    (let ((id (1+ (length gnus-article-mime-handle-alist))))
+      (push (cons id handle) gnus-article-mime-handle-alist)
+      (gnus-mime-display-alternative (cdr handle) nil nil id)))
+   ;; multipart/related
+   ((and (equal (car handle) "multipart/related")
+        (not (or gnus-mime-display-multipart-as-mixed
+                 gnus-mime-display-multipart-related-as-mixed)))
+    ;;;!!!We should find the start part, but we just default
+    ;;;!!!to the first part.
+    ;;(gnus-mime-display-part (cadr handle))
+    ;;;!!! Most multipart/related is an HTML message plus images.
+    ;;;!!! Unfortunately we are unable to let W3 display those
+    ;;;!!! included images, so we just display it as a mixed multipart.
+    ;;(gnus-mime-display-mixed (cdr handle))
+    ;;;!!! No, w3 can display everything just fine.
+    (gnus-mime-display-part (cadr handle)))
+   ((equal (car handle) "multipart/signed")
+    (gnus-add-wash-type 'signed)
+    (gnus-mime-display-security handle))
+   ((equal (car handle) "multipart/encrypted")
+    (gnus-add-wash-type 'encrypted)
+    (gnus-mime-display-security handle))
+   ;; Other multiparts are handled like multipart/mixed.
+   (t
+    (gnus-mime-display-mixed (cdr handle)))))
 
 (defun gnus-mime-part-function (handles)
   (if (stringp (car handles))
@@ -5208,14 +5115,7 @@ If displaying \"text/html\" is discouraged \(see
          (gnus-add-text-properties
           (setq from (point))
           (progn
-            (insert (format "%s.  "
-                            (if gnus-mime-recompute-hierarchical-structure
-                                (mapconcat
-                                 'number-to-string
-                                 (car (nth (1- id)
-                                           gnus-article-mime-hierarchy))
-                                 ".")
-                              id)))
+            (insert (format "%d.  " id))
             (point))
           `(gnus-callback
             (lambda (handles)
index 8aa3a2f..81f7f5f 100644 (file)
@@ -1123,8 +1123,6 @@ If RAW, don't highlight the article."
          (let ((gnus-newsgroup-name "dummy")
                (gnus-newsrc-hashtb (or gnus-newsrc-hashtb
                                        (gnus-make-hashtable 5))))
-           (setq gnus-article-mime-hierarchy nil
-                 gnus-article-mime-hierarchy-next nil)
            (gnus-article-prepare-display))))
       ;; Disable article-mode-map.
       (use-local-map nil)