Convert consecutive FSF copyright years to ranges.
[bpt/emacs.git] / lisp / mh-e / mh-mime.el
index aa12a5c..de0f49e 100644 (file)
@@ -1,7 +1,6 @@
 ;;; mh-mime.el --- MH-E MIME support
 
-;; Copyright (C) 1993, 1995,
-;;  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2001-2011  Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -409,8 +408,7 @@ do the work."
         (message "No directory specified")
       (if (equal nil mh-mime-save-parts-default-directory)
           (setq mh-mime-save-parts-directory directory))
-      (save-excursion
-        (set-buffer (get-buffer-create mh-log-buffer))
+      (with-current-buffer (get-buffer-create mh-log-buffer)
         (cd directory)
         (setq mh-mime-save-parts-directory directory)
         (let ((initial-size (mh-truncate-log-buffer)))
@@ -507,6 +505,15 @@ decoding the same message multiple times."
     (let ((buffer-read-only nil))
       (rfc2047-decode-region (point-min) (mh-mail-header-end)))))
 
+;;;###mh-autoload
+(defun mh-decode-message-subject ()
+  "Decode RFC2047 encoded message header fields."
+  (when mh-decode-mime-flag
+    (save-excursion
+      (let ((buffer-read-only nil))
+        (rfc2047-decode-region (progn (mh-goto-header-field "subject:") (point))
+                               (progn (mh-header-field-end) (point)))))))
+
 ;;;###mh-autoload
 (defun mh-mime-display (&optional pre-dissected-handles)
   "Display (and possibly decode) MIME handles.
@@ -828,9 +835,10 @@ being used to highlight the signature in a MIME part."
 ;;; Button Display
 
 ;; Shush compiler.
-(defvar dots)                           ; XEmacs
-(defvar type)                           ; XEmacs
-(defvar ov)                             ; XEmacs
+(when (featurep 'xemacs)
+  (defvar dots)
+  (defvar type)
+  (defvar ov))
 
 (defun mh-insert-mime-button (handle index displayed)
   "Insert MIME button for HANDLE.
@@ -1072,8 +1080,7 @@ HANDLE is associated with the undisplayer FUNCTION."
       (let ((new-handle (copy-sequence handle)))
         (mm-handle-set-undisplayer new-handle function)
         (mm-handle-set-undisplayer handle nil)
-        (save-excursion
-          (set-buffer folder)
+        (with-current-buffer folder
           (push new-handle (mh-mime-handles (mh-buffer-data)))))
     (mm-handle-set-undisplayer handle function)))
 
@@ -1485,7 +1492,7 @@ The effects of this command can be undone by running
                        "mhn"
                        (if extra-args mh-mh-to-mime-args)
                        buffer-file-name)))
-  (revert-buffer t t)
+  (revert-buffer t t t)
   (message "Running %s...done" (if (mh-variant-p 'nmh) "mhbuild" "mhn"))
   (run-hooks 'mh-mh-to-mime-hook))
 
@@ -1531,7 +1538,7 @@ a prefix argument NOCONFIRM."
     (let ((buffer-read-only nil))
       (erase-buffer)
       (insert-file-contents backup-file))
-    (after-find-file nil)))
+    (after-find-file nil nil nil nil t)))
 
 ;; Shush compiler.
 (defvar mh-identity-pgg-default-user-id)
@@ -1728,9 +1735,8 @@ Returns nil if file command not on system."
               (file-readable-p filename)))
     nil)                               ;no file or not readable, ditto
    (t
-    (save-excursion
-      (let ((tmp-buffer (get-buffer-create mh-temp-buffer)))
-        (set-buffer tmp-buffer)
+    (let ((tmp-buffer (get-buffer-create mh-temp-buffer)))
+      (with-current-buffer tmp-buffer
         (unwind-protect
             (progn
               (call-process "file" nil '(t nil) nil "-b" "-i"
@@ -1827,5 +1833,4 @@ initialized. Always use the command `mh-have-file-command'.")
 ;; sentence-end-double-space: nil
 ;; End:
 
-;; arch-tag: 0dd36518-1b64-4a84-8f4e-59f422d3f002
 ;;; mh-mime.el ends here