*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sun, 7 Nov 1999 00:29:46 +0000 (00:29 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sun, 7 Nov 1999 00:29:46 +0000 (00:29 +0000)
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-topic.el
lisp/mm-decode.el
lisp/nndraft.el
lisp/smiley.el
texi/ChangeLog
texi/emacs-mime.texi
texi/gnus.texi

index c579b3f..1f5d50d 100644 (file)
@@ -1,3 +1,37 @@
+1999-11-07 01:17:53  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nndraft.el (nndraft-request-expire-articles): Do all the backup
+       files. 
+
+1999-10-29  David S. Goldberg  <dsg@mitre.org>
+
+       * emacs-mime.texi (Customization): Document mm-inline-override-types
+
+1999-10-29  David S. Goldberg  <dsg@mitre.org>
+
+       * emacs-mime.texi (Customization): Document mm-inline-override-types
+
+1999-10-29  David S. Goldberg  <dsg@mitre.org>
+
+       * emacs-mime.texi (Customization): Document mm-inline-override-types
+
+1999-10-26  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * smiley.el (gnus-smiley-display): Use `smiley-toggle-buffer'.
+       (smiley-toggle-buffer): New function.
+       (smiley-buffer): Don't quote the function.
+       (smiley-toggle-extents): Ditto.
+
+1999-11-07 01:00:32  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-topic.el (gnus-topic-goto-missing-topic): Work even in
+       empty buffers.
+
+1999-11-06 23:16:24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-article-mode-map): Use the summary article
+       edit. 
+
 1999-11-06 22:56:49  Jens-Ulrik Petersen  <Jens-Ulrik.Petersen@nokia.com>
 
        * gnus-group.el (gnus-group-read-ephemeral-group): Doc fix.
@@ -299,9 +333,17 @@ Fri Nov  5 19:10:02 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * mm-decode.el mm-inline-override-types: New variable
 
-       * mm-decode.el (mm-inline-override-p): Use it
+       * mm-decode.el (mm-inline-override-p): New function
+
+       * mm-decode.el (mm-inlined-p): Use it
+
+1999-10-20  David S. Goldberg  <dsg@mitre.org>
+
+       * mm-decode.el mm-inline-override-types: New variable
+
+       * mm-decode.el (mm-inline-override-p): New function
 
-       * gnus-art.el (gnus-mime-display-single): Then use that
+       * mm-decode.el (mm-inlined-p): Use it
 
 Mon Sep 27 15:18:05 1999  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
index 47d07bf..b0d417a 100644 (file)
@@ -2458,7 +2458,7 @@ If variable `gnus-use-long-file-name' is non-nil, it is
   "s" gnus-article-show-summary
   "\C-c\C-m" gnus-article-mail
   "?" gnus-article-describe-briefly
-  "e" gnus-article-edit
+  "e" gnus-summary-article-edit
   "<" beginning-of-buffer
   ">" end-of-buffer
   "\C-c\C-i" gnus-info-find-node
@@ -3177,11 +3177,11 @@ If ALL-HEADERS is non-nil, no headers are hidden."
          (when (string-match (pop ignored) type)
            (throw 'ignored nil)))
        (if (and (setq not-attachment
-                      (or (not (mm-handle-disposition handle))
-                          (equal (car (mm-handle-disposition handle))
-                                 "inline")
-                          (mm-attachment-override-p handle)
-                          (not (mm-inline-override-p handle))))
+                      (and (not (mm-inline-override-p handle))
+                           (or (not (mm-handle-disposition handle))
+                               (equal (car (mm-handle-disposition handle))
+                                      "inline")
+                               (mm-attachment-override-p handle))))
                 (mm-automatic-display-p handle)
                 (or (mm-inlined-p handle)
                     (mm-automatic-external-display-p type)))
index b8235cf..57452c7 100644 (file)
@@ -618,15 +618,18 @@ articles in the topic and its subtopics."
     (let* ((top (gnus-topic-find-topology
                 (gnus-topic-parent-topic topic)))
           (tp (reverse (cddr top))))
-      (while (not (equal (caaar tp) topic))
-       (setq tp (cdr tp)))
-      (pop tp)
-      (while (and tp
-                 (not (gnus-topic-goto-topic (caaar tp))))
-       (pop tp))
-      (if tp
-         (gnus-topic-forward-topic 1)
-       (gnus-topic-goto-missing-topic (caadr top))))
+      (if (not top)
+         (gnus-topic-insert-topic-line
+          topic t t (car (gnus-topic-find-topology topic)) nil 0)
+       (while (not (equal (caaar tp) topic))
+         (setq tp (cdr tp)))
+       (pop tp)
+       (while (and tp
+                   (not (gnus-topic-goto-topic (caaar tp))))
+         (pop tp))
+       (if tp
+           (gnus-topic-forward-topic 1)
+         (gnus-topic-goto-missing-topic (caadr top)))))
     nil))
 
 (defun gnus-topic-update-topic-line (topic-name &optional reads)
index f3495a8..8f41da5 100644 (file)
      (lambda (handle)
        (and (or (featurep 'nas-sound) (featurep 'native-sound))
            (device-sound-enabled-p))))
+    ("application/pgp-signature" ignore identity)
     ("multipart/alternative" ignore identity)
     ("multipart/mixed" ignore identity)
     ("multipart/related" ignore identity))
   "Alist of media types/test that say whether the media types can be displayed inline.")
 
 (defvar mm-inlined-types
-  '("image/.*" "text/.*" "message/delivery-status" "message/rfc822")
+  '("image/.*" "text/.*" "message/delivery-status" "message/rfc822"
+    "application/pgp-signature")
   "List of media types that are to be displayed inline.")
   
 (defvar mm-automatic-display
   '("text/plain" "text/enriched" "text/richtext" "text/html"
     "text/x-vcard" "image/.*" "message/delivery-status" "multipart/.*"
-    "message/rfc822" "text/x-patch")
+    "message/rfc822" "text/x-patch" "application/pgp-signature")
   "A list of MIME types to be displayed automatically.")
 
 (defvar mm-attachment-override-types '("text/x-vcard")
 (defvar mm-inline-override-types nil
   "Types that should be treated as attachments even if they can be displayed inline.")
 
+(defvar mm-inline-override-types nil
+  "Types that should be treated as attachments even if they can be displayed inline.")
+
 (defvar mm-automatic-external-display nil
   "List of MIME type regexps that will be displayed externally automatically.")
 
@@ -474,7 +479,8 @@ external if displayed external."
        (type (mm-handle-media-type handle))
        method result)
     (while (setq method (pop methods))
-      (when (and (string-match method type)
+      (when (and (not (mm-inline-override-p handle))
+                (string-match method type)
                 (mm-inlinable-p handle))
        (setq result t
              methods nil)))
@@ -486,7 +492,8 @@ external if displayed external."
        (type (mm-handle-media-type handle))
        method result)
     (while (setq method (pop methods))
-      (when (and (string-match method type)
+      (when (and (not (mm-inline-override-p handle))
+                (string-match method type)
                 (mm-inlinable-p handle))
        (setq result t
              methods nil)))
@@ -513,6 +520,16 @@ external if displayed external."
        (when (string-match ty type)
          (throw 'found t))))))
 
+(defun mm-inline-override-p (handle)
+  "Say whether HANDLE should have inline behavior overridden."
+  (let ((types mm-inline-override-types)
+       (type (mm-handle-media-type handle))
+       ty)
+    (catch 'found
+      (while (setq ty (pop types))
+       (when (string-match ty type)
+         (throw 'found t))))))
+
 (defun mm-automatic-external-display-p (type)
   "Return the user-defined method for TYPE."
   (let ((methods mm-automatic-external-display)
index 196779f..5ec06e6 100644 (file)
        (dolist (backup
                 (let ((kept-new-versions 1)
                       (kept-old-versions 0))
-                  (cdr (find-backup-file-name
-                        (nndraft-article-filename article)))))
+                  (find-backup-file-name
+                   (nndraft-article-filename article))))
          (when (file-exists-p backup)
            (funcall nnmail-delete-file-function backup)))))
     res))
index 610b130..f7bcb3e 100644 (file)
@@ -213,18 +213,17 @@ above them."
 (defun smiley-toggle-extents (e)
   (interactive "e")
   (map-extents
-   '(lambda (e void)
-      (let (ant)
-       (if (annotationp (setq ant (extent-property e 'smiley-annotation)))
-           (progn
-             (if (eq (extent-property e 'invisible) nil)
-                 (progn
-                   (reveal-annotation ant)
-                   (set-extent-property e 'invisible t)
-                   )
-               (hide-annotation ant)
-               (set-extent-property e 'invisible nil))))
-       nil))
+   (lambda (e void)
+     (let (ant)
+       (if (annotationp (setq ant (extent-property e 'smiley-annotation)))
+          (if (eq (extent-property e 'invisible) nil)
+              (progn
+                (reveal-annotation ant)
+                (set-extent-property e 'invisible t)
+                )
+            (hide-annotation ant)
+            (set-extent-property e 'invisible nil)))
+       nil))
    (event-buffer e)))
 
 ;;;###autoload
@@ -241,10 +240,10 @@ above them."
            (case-fold-search nil)
            entry regexp beg group file)
        (map-extents
-        '(lambda (e void)
-           (when (or (extent-property e 'smiley-extent)
-                     (extent-property e 'smiley-annotation))
-             (delete-extent e)))
+        (lambda (e void)
+          (when (or (extent-property e 'smiley-extent)
+                    (extent-property e 'smiley-annotation))
+            (delete-extent e)))
         buffer st nd)
        (goto-char (or st (point-min)))
        (setq beg (point))
@@ -304,15 +303,46 @@ Mouse button3 - menu"))
                   (eq (char-after (1- (point))) ?\()))
       t)))
 
+(defun smiley-toggle-buffer (&optional arg buffer st nd)
+  "Toggle displaying smiley faces.
+With arg, turn displaying on if and only if arg is positive."
+  (interactive "P")
+  (let (on off)
+    (map-extents
+     (lambda (e void)
+       (let (ant)
+        (if (annotationp (setq ant (extent-property e 'smiley-annotation)))
+            (if (eq (extent-property e 'invisible) nil)
+                (setq off (cons (cons ant e) off))
+              (setq on (cons (cons ant e) on)))))
+       nil)
+     buffer st nd)
+    (if (and (not (and (numberp arg) (< arg 0)))
+            (or (and (numberp arg) (> arg 0))
+                (null on)))
+       (if off
+           (while off
+             (reveal-annotation (caar off))
+             (set-extent-property (cdar off) 'invisible t)
+             (setq off (cdr off)))
+         (smiley-buffer))
+      (while on
+       (hide-annotation (caar on))
+       (set-extent-property (cdar on) 'invisible nil)
+       (setq on (cdr on))))))
+
 (defvar gnus-article-buffer)
 ;;;###autoload
-(defun gnus-smiley-display ()
-  "Display \"smileys\" as small graphical icons."
-  (interactive)
+(defun gnus-smiley-display (&optional arg)
+  "Display \"smileys\" as small graphical icons.
+With arg, turn displaying on if and only if arg is positive."
+  (interactive "P")
   (save-excursion
     (set-buffer gnus-article-buffer)
-    (article-goto-body)
-    (smiley-buffer (current-buffer) (point-min) (point-max))))
+    (save-restriction
+      (widen)
+      (article-goto-body)
+      (smiley-toggle-buffer arg (current-buffer) (point) (point-max)))))
 
 (provide 'smiley)
 
index 302c4ec..3625a55 100644 (file)
@@ -1,3 +1,7 @@
+1999-11-07 01:28:07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (MIME Commands): Addition.
+
 1999-11-06 23:09:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Customizing Articles): Fix.
 
        * emacs-mime.texi (New Viewers): Fix.
 
+1999-10-29  David S. Goldberg  <dsg@mitre.org>
+
+       * emacs-mime.texi (Customization): Document mm-inline-override-types
+
 1999-09-25 10:58:17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * message.texi (Forwarding): Updated.
index 08cd7fa..225a5f5 100644 (file)
@@ -899,6 +899,14 @@ library will display it externally (e.g. with @samp{ImageMagick} or
 makes the library display all inline images as inline, regardless of
 their size.
 
+@item mm-inline-override-p
+@code{mm-inlined-types} may include regular expressions, for example to
+specify that all @samp{text/.*} parts be displayed inline.  If a user
+prefers to have a type that matches such a regular expression be treated
+as an attachment, that can be accomplished by setting this variable to a
+list containing that type.  For example assuming @code{mm-inlined-types}
+includes @samp{text/.*}, then including @samp{text/html} in this
+variable will cause @samp{text/html} parts to be treated as attachments.
 
 @end table
 
index 026905e..37cb6ac 100644 (file)
@@ -7108,7 +7108,51 @@ Translate the article from one language to another
 @section @sc{mime} Commands
 @cindex MIME decoding
 
+The following commands all understand the numerical prefix.  For
+instance, @kbd{3 b} means ``view the third @sc{mime} part''.
+
+@table @kdb
+@item b
+@itemx K b
+@kindex b (Summary)
+@kindex K b (Summary)
+View the @sc{mime} part.
+
+@item K o
+@kindex K o (Summary)
+Save the @sc{mime} part.
+
+@item K c
+@kindex K c (Summary)
+Copy the @sc{mime} part.
+
+@item K e
+@kindex K e (Summary)
+View the @sc{mime} part externally.
+
+@item K i
+@kindex K i (Summary)
+View the @sc{mime} part internally.
+
+@item K |
+@kindex K | (Summary)
+Pipe the @sc{mime} part to an external command.
+@end table
+
+The rest of these @sc{mime} commands do not use the numerical prefix in
+the same manner:
+
 @table @kbd
+@item K b
+@kindex K b (Summary)
+Make all the @sc{mime} parts have buttons in from of them.
+
+@item K m
+@kindex K m (Summary)
+Some multipart messages are transmitted with missing or faulty headers.
+This command will attempt to ``repair'' these messages so that they can
+be viewed in a more pleasant manner.
+
 @item X m
 @kindex X m (Summary)
 @findex gnus-summary-save-parts