Add 2011 to FSF/AIST copyright years.
[bpt/emacs.git] / lisp / mh-e / mh-folder.el
index 75cebfe..b225474 100644 (file)
@@ -1,6 +1,7 @@
 ;;; mh-folder.el --- MH-Folder mode
 
-;; Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+;;   Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,9 +21,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -351,7 +350,7 @@ annotation.")
   "\M-\t"       mh-prev-button)
 
 (cond
- (mh-xemacs-flag
+ ((featurep 'xemacs)
   (define-key mh-folder-mode-map [button2] 'mh-show-mouse))
  (t
   (define-key mh-folder-mode-map [mouse-2] 'mh-show-mouse)))
@@ -391,8 +390,9 @@ annotation.")
     (?/ "Limit to [c]c, ran[g]e, fro[m], [s]ubject, [t]o; [w]iden")
     (?X "un[s]har, [u]udecode message")
     (?D "[b]urst digest")
-    (?K "[v]iew, [i]nline, [o]utput/save MIME part; save [a]ll parts; \n"
-        "[TAB] next; [SHIFT-TAB] previous")
+    (?K "[v]iew, [i]nline, with [e]xternal viewer; \n"
+        "[o]utput/save MIME part; save [a]ll parts; \n"
+        "[t]oggle buttons; [TAB] next; [SHIFT-TAB] previous")
     (?J "[b]lacklist, [w]hitelist message"))
   "Key binding cheat sheet.
 See `mh-set-help'.")
@@ -513,7 +513,7 @@ font-lock is done highlighting.")
 
 (defmacro mh-remove-xemacs-horizontal-scrollbar ()
   "Get rid of the horizontal scrollbar that XEmacs insists on putting in."
-  (when mh-xemacs-flag
+  (when (featurep 'xemacs)
     `(if (and (featurep 'scrollbar)
               (fboundp 'set-specifier))
          (set-specifier horizontal-scrollbar-visible-p nil
@@ -529,7 +529,7 @@ font-lock is done highlighting.")
 (defvar font-lock-auto-fontify)
 (defvar font-lock-defaults)             ; XEmacs
 
-;; Ensure new buffers won't get this mode if default-major-mode is nil.
+;; Ensure new buffers won't get this mode if default major-mode is nil.
 (put 'mh-folder-mode 'mode-class 'special)
 
 ;; Autoload cookie needed by desktop.el
@@ -592,7 +592,8 @@ perform the operation on all messages in that region.
   (mh-do-in-gnu-emacs
     (unless mh-folder-tool-bar-map
         (mh-tool-bar-folder-buttons-init))
-    (set (make-local-variable 'tool-bar-map) mh-folder-tool-bar-map))
+    (if (boundp 'tool-bar-map)
+        (set (make-local-variable 'tool-bar-map) mh-folder-tool-bar-map)))
   (mh-do-in-xemacs
     (mh-tool-bar-init :folder))
   (make-local-variable 'font-lock-defaults)
@@ -656,7 +657,7 @@ perform the operation on all messages in that region.
   (easy-menu-add mh-folder-folder-menu)
   (mh-inc-spool-make)
   (mh-set-help mh-folder-mode-help-messages)
-  (if (and mh-xemacs-flag
+  (if (and (featurep 'xemacs)
            font-lock-auto-fontify)
       (turn-on-font-lock)))             ; Force font-lock in XEmacs.
 
@@ -839,8 +840,8 @@ From a program, edit MESSAGE; nil means edit current message."
     ;; Invalidate the show buffer if it is showing the same message that is
     ;; to be edited.
     (when (and (buffer-live-p (get-buffer mh-show-buffer))
-               (equal (save-excursion (set-buffer mh-show-buffer)
-                                      buffer-file-name)
+               (equal (with-current-buffer mh-show-buffer
+                        buffer-file-name)
                       msg-filename))
       (mh-invalidate-show-buffer))
 
@@ -1236,9 +1237,8 @@ structures."
         (current-buffer (current-buffer))
         (threaded-view-flag mh-show-threads-flag))
     (delete-other-windows)
-    (save-excursion
-      (when (get-buffer folder)
-        (set-buffer folder)
+    (when (get-buffer folder)
+      (with-current-buffer folder
         (setq threaded-view-flag (memq 'unthread mh-view-ops))))
     (when index-data
       (mh-make-folder folder)
@@ -1288,8 +1288,7 @@ the command \\[mh-refile-or-write-again]."
         (output-file (mh-expand-file-name file)))
     (setq mh-last-destination (list 'write file (if no-header 'no-header))
           mh-last-destination-write mh-last-destination)
-    (save-excursion
-      (set-buffer (get-buffer-create mh-temp-buffer))
+    (with-current-buffer (get-buffer-create mh-temp-buffer)
       (erase-buffer)
       (insert-file-contents msg-file-to-output)
       (goto-char (point-min))
@@ -1758,7 +1757,7 @@ If UPDATE, append the scan lines, otherwise replace."
       (goto-char scan-start)
       (cond ((looking-at "scan: no messages in")
              (keep-lines mh-scan-valid-regexp)) ; Flush random scan lines
-            ((looking-at (if (mh-variant-p 'mu-mh)
+            ((looking-at (if (mh-variant-p 'gnu-mh)
                              "scan: message set .* does not exist"
                            "scan: bad message list "))
              (keep-lines mh-scan-valid-regexp))
@@ -1823,8 +1822,7 @@ The default folder name is generated by the option
    "Destination"
    (let ((refile-file (ignore-errors (mh-msg-filename (mh-get-msg-num t)))))
      (if (null refile-file) ""
-       (save-excursion
-         (set-buffer (get-buffer-create mh-temp-buffer))
+       (with-current-buffer (get-buffer-create mh-temp-buffer)
          (erase-buffer)
          (insert-file-contents refile-file)
          (or (and mh-default-folder-for-message-function