Implement variable imail-mime-show-alternatives.
authorChris Hanson <org/chris-hanson/cph>
Mon, 26 Jun 2000 15:28:37 +0000 (15:28 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 26 Jun 2000 15:28:37 +0000 (15:28 +0000)
v7/src/imail/imail-top.scm
v7/src/imail/imail.pkg
v7/src/imail/todo.txt

index a3a1cdeae48ff9be37da95cab624d0681c131cb6..6e4a032f03dfc920a1aaaa3418609967384e424f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-top.scm,v 1.188 2000/06/24 01:39:16 cph Exp $
+;;; $Id: imail-top.scm,v 1.189 2000/06/26 15:28:25 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
@@ -180,6 +180,13 @@ Otherwise, simple dashed-line separators are used."
 Either #F or a pathname."
   #f
   (lambda (x) (or (not x) (string? x) (pathname? x))))
+
+(define-variable imail-mime-show-alternatives
+  "If true, all parts of a multipart/alternative message are shown.
+\(Only one of the parts will be shown in line; the others as attachments.)
+Otherwise, only one of the parts is shown."
+  #f
+  boolean?)
 \f
 (define-command imail
   "Read and edit incoming mail.
@@ -1998,7 +2005,9 @@ Negative argument means search in reverse."
          body
          (if (ref-variable imail-use-original-mime-boundaries mark)
              (mime-body-parameter body 'BOUNDARY "----------")
-             'SIMPLE))))
+             'SIMPLE)))
+       (show-alternatives?
+        (ref-variable imail-mime-show-alternatives mark)))
     (do ((parts (mime-body-multipart-parts body) (cdr parts))
         (i 0 (fix:+ i 1)))
        ((null? parts))
@@ -2006,8 +2015,9 @@ Negative argument means search in reverse."
            (selector `(,@selector ,i)))
        (if (and (fix:> i 0)
                 (eq? (mime-body-subtype body) 'ALTERNATIVE))
-           (insert-mime-message-attachment 'ALTERNATIVE part selector context
-                                           mark)
+           (if show-alternatives?
+               (insert-mime-message-attachment 'ALTERNATIVE part selector
+                                               context mark))
            (insert-mime-message-part message part selector context mark))))))
 
 (define-method insert-mime-message-part
index 8920961a4e06a1427656942c4e490f83f3869081..11d0a9904fbf4303f280348f0b7ea1e570e11c24 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail.pkg,v 1.65 2000/06/20 19:27:27 cph Exp $
+;;; $Id: imail.pkg,v 1.66 2000/06/26 15:28:14 cph Exp $
 ;;;
 ;;; Copyright (c) 2000 Massachusetts Institute of Technology
 ;;;
          edwin-variable$imail-pass-phrase-retention-time
          edwin-variable$imail-primary-folder
          edwin-variable$imail-reply-with-re
+         edwin-variable$imail-mime-show-alternatives
          edwin-variable$imail-summary-highlight-message
          edwin-variable$imail-summary-mode-hook
          edwin-variable$imail-summary-pop-up-message
index dc2e651d4ebd36794ebc12f36699348717423240..e8ec7f0b5420f5455f83885695b871932df7ec1c 100644 (file)
@@ -1,5 +1,5 @@
 IMAIL To-Do List
-$Id: todo.txt,v 1.96 2000/06/23 19:29:07 cph Exp $
+$Id: todo.txt,v 1.97 2000/06/26 15:28:37 cph Exp $
 
 Bug fixes
 ---------
@@ -31,12 +31,6 @@ New features
   Use this to extend M-x imail-rename-folder to work in all cases by
   using copy/delete when rename inapplicable.
 
-* Add variable to control how multipart/alternative shows the
-  secondary alternatives.
-
-* For multipart/alternative, choose the part to show by examining each
-  part looking for highest-quality one that is allowed to be inlined.
-
 * Examine spec for text/enriched and see if it can be incorporated
   into the reader.