* mime-view.el: (mime-display-text/x-vcard): New function.
authorakr <akr>
Sat, 7 Nov 1998 13:35:33 +0000 (13:35 +0000)
committerakr <akr>
Sat, 7 Nov 1998 13:35:33 +0000 (13:35 +0000)
(mime-preview-condition): Set up for 'mime-preview-text/x-vcard.

ChangeLog
mime-view.el

index 1a8fe9c..482cb93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1998-11-07  Tanaka Akira  <akr@jaist.ac.jp>
+
+        * mime-view.el: (mime-display-text/x-vcard): New function.
+        (mime-preview-condition): Set up for 'mime-preview-text/x-vcard.
+
 1998-10-31  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * SEMI: Version 1.10.2 (Higashi-Kanazawa) released.
index 2804365..a707658 100644 (file)
@@ -390,6 +390,12 @@ Each elements are regexp of field-name.")
 
 (ctree-set-calist-strictly
  'mime-preview-condition
+ '((type . text)(subtype . x-vcard)
+   (body . visible)
+   (body-presentation-method . mime-display-text/x-vcard)))
+
+(ctree-set-calist-strictly
+ 'mime-preview-condition
  '((type . text)(subtype . t)
    (body . visible)
    (body-presentation-method . mime-display-text/plain)))
@@ -454,6 +460,29 @@ Each elements are regexp of field-name.")
       (enriched-decode beg (point-max))
       )))
 
+(defun mime-display-text/x-vcard (entity situation)
+  (save-restriction
+    (narrow-to-region (point-max)(point-max))
+    (insert (mime-entity-content entity))
+    (goto-char (point-min))
+    (while (re-search-forward
+            "\\(;ENCODING=QUOTED-PRINTABLE:\\)\\(\\(=[0-9A-F][0-9A-F]\\|=\r\n\\|[^\r\n]\\)*\\)"
+            nil t)
+      (replace-match
+       (string-as-multibyte
+        (mime-decode-string
+         (decode-coding-string
+          (buffer-substring (match-beginning 2) (match-end 2)) 'raw-text-dos)
+         "quoted-printable"))
+       t t))
+    (decode-coding-region (point-min) (point-max) 'undecided)
+    (goto-char (point-max))
+    (if (not (eq (char-after (1- (point))) ?\n))
+        (insert "\n"))
+    (mime-add-url-buttons)
+    (run-hooks 'mime-display-text/x-vcard-hook)
+    ))
+
 (defvar mime-view-announcement-for-message/partial
   (if (and (>= emacs-major-version 19) window-system)
       "\