+
+(defun pmail-summary-save-buffer ()
+ "Save the buffer associated with this PMAIL summary."
+ (interactive)
+ (save-window-excursion
+ (save-excursion
+ (switch-to-buffer pmail-buffer)
+ (save-buffer))))
+
+\f
+(if pmail-summary-mode-map
+ nil
+ (setq pmail-summary-mode-map (make-keymap))
+ (suppress-keymap pmail-summary-mode-map)
+
+ (define-key pmail-summary-mode-map [mouse-2] 'pmail-summary-mouse-goto-message)
+ (define-key pmail-summary-mode-map "a" 'pmail-summary-add-label)
+ (define-key pmail-summary-mode-map "b" 'pmail-summary-bury)
+ (define-key pmail-summary-mode-map "c" 'pmail-summary-continue)
+ (define-key pmail-summary-mode-map "d" 'pmail-summary-delete-forward)
+ (define-key pmail-summary-mode-map "\C-d" 'pmail-summary-delete-backward)
+ (define-key pmail-summary-mode-map "e" 'pmail-summary-edit-current-message)
+ (define-key pmail-summary-mode-map "f" 'pmail-summary-forward)
+ (define-key pmail-summary-mode-map "g" 'pmail-summary-get-new-mail)
+ (define-key pmail-summary-mode-map "h" 'pmail-summary)
+ (define-key pmail-summary-mode-map "i" 'pmail-summary-input)
+ (define-key pmail-summary-mode-map "j" 'pmail-summary-goto-msg)
+ (define-key pmail-summary-mode-map "\C-m" 'pmail-summary-goto-msg)
+ (define-key pmail-summary-mode-map "k" 'pmail-summary-kill-label)
+ (define-key pmail-summary-mode-map "l" 'pmail-summary-by-labels)
+ (define-key pmail-summary-mode-map "\e\C-h" 'pmail-summary)
+ (define-key pmail-summary-mode-map "\e\C-l" 'pmail-summary-by-labels)
+ (define-key pmail-summary-mode-map "\e\C-r" 'pmail-summary-by-recipients)
+ (define-key pmail-summary-mode-map "\e\C-s" 'pmail-summary-by-regexp)
+ (define-key pmail-summary-mode-map "\e\C-t" 'pmail-summary-by-topic)
+ (define-key pmail-summary-mode-map "m" 'pmail-summary-mail)
+ (define-key pmail-summary-mode-map "\M-m" 'pmail-summary-retry-failure)
+ (define-key pmail-summary-mode-map "n" 'pmail-summary-next-msg)
+ (define-key pmail-summary-mode-map "\en" 'pmail-summary-next-all)
+ (define-key pmail-summary-mode-map "\e\C-n" 'pmail-summary-next-labeled-message)
+ (define-key pmail-summary-mode-map "o" 'pmail-summary-output-to-babyl-file)
+ (define-key pmail-summary-mode-map "\C-o" 'pmail-summary-output)
+ (define-key pmail-summary-mode-map "p" 'pmail-summary-previous-msg)
+ (define-key pmail-summary-mode-map "\ep" 'pmail-summary-previous-all)
+ (define-key pmail-summary-mode-map "\e\C-p" 'pmail-summary-previous-labeled-message)
+ (define-key pmail-summary-mode-map "q" 'pmail-summary-quit)
+ (define-key pmail-summary-mode-map "Q" 'pmail-summary-wipe)
+ (define-key pmail-summary-mode-map "r" 'pmail-summary-reply)
+ (define-key pmail-summary-mode-map "s" 'pmail-summary-expunge-and-save)
+ (define-key pmail-summary-mode-map "\es" 'pmail-summary-search)
+ (define-key pmail-summary-mode-map "t" 'pmail-summary-toggle-header)
+ (define-key pmail-summary-mode-map "u" 'pmail-summary-undelete)
+ (define-key pmail-summary-mode-map "\M-u" 'pmail-summary-undelete-many)
+ (define-key pmail-summary-mode-map "x" 'pmail-summary-expunge)
+ (define-key pmail-summary-mode-map "w" 'pmail-summary-output-body)
+ (define-key pmail-summary-mode-map "." 'pmail-summary-beginning-of-message)
+ (define-key pmail-summary-mode-map "/" 'pmail-summary-end-of-message)
+ (define-key pmail-summary-mode-map "<" 'pmail-summary-first-message)
+ (define-key pmail-summary-mode-map ">" 'pmail-summary-last-message)
+ (define-key pmail-summary-mode-map " " 'pmail-summary-scroll-msg-up)
+ (define-key pmail-summary-mode-map "\177" 'pmail-summary-scroll-msg-down)
+ (define-key pmail-summary-mode-map "?" 'describe-mode)
+ (define-key pmail-summary-mode-map "\C-c\C-n" 'pmail-summary-next-same-subject)
+ (define-key pmail-summary-mode-map "\C-c\C-p" 'pmail-summary-previous-same-subject)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-d"
+ 'pmail-summary-sort-by-date)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-s"
+ 'pmail-summary-sort-by-subject)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-a"
+ 'pmail-summary-sort-by-author)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-r"
+ 'pmail-summary-sort-by-recipient)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-c"
+ 'pmail-summary-sort-by-correspondent)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-l"
+ 'pmail-summary-sort-by-lines)
+ (define-key pmail-summary-mode-map "\C-c\C-s\C-k"
+ 'pmail-summary-sort-by-labels)
+ (define-key pmail-summary-mode-map "\C-x\C-s" 'pmail-summary-save-buffer)
+ )
+\f
+;;; Menu bar bindings.
+
+(define-key pmail-summary-mode-map [menu-bar] (make-sparse-keymap))
+
+(define-key pmail-summary-mode-map [menu-bar classify]
+ (cons "Classify" (make-sparse-keymap "Classify")))
+
+(define-key pmail-summary-mode-map [menu-bar classify output-menu]
+ '("Output (Pmail Menu)..." . pmail-summary-output-menu))
+
+(define-key pmail-summary-mode-map [menu-bar classify input-menu]
+ '("Input Pmail File (menu)..." . pmail-input-menu))
+
+(define-key pmail-summary-mode-map [menu-bar classify input-menu]
+ '(nil))
+
+(define-key pmail-summary-mode-map [menu-bar classify output-menu]
+ '(nil))
+
+(define-key pmail-summary-mode-map [menu-bar classify output-body]
+ '("Output (body)..." . pmail-summary-output-body))
+
+(define-key pmail-summary-mode-map [menu-bar classify output-inbox]
+ '("Output (inbox)..." . pmail-summary-output))
+
+(define-key pmail-summary-mode-map [menu-bar classify output]
+ '("Output (Pmail)..." . pmail-summary-output-to-babyl-file))
+
+(define-key pmail-summary-mode-map [menu-bar classify kill-label]
+ '("Kill Label..." . pmail-summary-kill-label))
+
+(define-key pmail-summary-mode-map [menu-bar classify add-label]
+ '("Add Label..." . pmail-summary-add-label))
+
+(define-key pmail-summary-mode-map [menu-bar summary]
+ (cons "Summary" (make-sparse-keymap "Summary")))
+
+(define-key pmail-summary-mode-map [menu-bar summary senders]
+ '("By Senders..." . pmail-summary-by-senders))
+
+(define-key pmail-summary-mode-map [menu-bar summary labels]
+ '("By Labels..." . pmail-summary-by-labels))
+
+(define-key pmail-summary-mode-map [menu-bar summary recipients]
+ '("By Recipients..." . pmail-summary-by-recipients))
+
+(define-key pmail-summary-mode-map [menu-bar summary topic]
+ '("By Topic..." . pmail-summary-by-topic))
+
+(define-key pmail-summary-mode-map [menu-bar summary regexp]
+ '("By Regexp..." . pmail-summary-by-regexp))
+
+(define-key pmail-summary-mode-map [menu-bar summary all]
+ '("All" . pmail-summary))
+
+(define-key pmail-summary-mode-map [menu-bar mail]
+ (cons "Mail" (make-sparse-keymap "Mail")))
+
+(define-key pmail-summary-mode-map [menu-bar mail pmail-summary-get-new-mail]
+ '("Get New Mail" . pmail-summary-get-new-mail))
+
+(define-key pmail-summary-mode-map [menu-bar mail lambda]
+ '("----"))
+
+(define-key pmail-summary-mode-map [menu-bar mail continue]
+ '("Continue" . pmail-summary-continue))
+
+(define-key pmail-summary-mode-map [menu-bar mail resend]
+ '("Re-send..." . pmail-summary-resend))
+
+(define-key pmail-summary-mode-map [menu-bar mail forward]
+ '("Forward" . pmail-summary-forward))
+
+(define-key pmail-summary-mode-map [menu-bar mail retry]
+ '("Retry" . pmail-summary-retry-failure))
+
+(define-key pmail-summary-mode-map [menu-bar mail reply]
+ '("Reply" . pmail-summary-reply))
+
+(define-key pmail-summary-mode-map [menu-bar mail mail]
+ '("Mail" . pmail-summary-mail))
+
+(define-key pmail-summary-mode-map [menu-bar delete]
+ (cons "Delete" (make-sparse-keymap "Delete")))
+
+(define-key pmail-summary-mode-map [menu-bar delete expunge/save]
+ '("Expunge/Save" . pmail-summary-expunge-and-save))
+
+(define-key pmail-summary-mode-map [menu-bar delete expunge]
+ '("Expunge" . pmail-summary-expunge))
+
+(define-key pmail-summary-mode-map [menu-bar delete undelete]
+ '("Undelete" . pmail-summary-undelete))
+
+(define-key pmail-summary-mode-map [menu-bar delete delete]
+ '("Delete" . pmail-summary-delete-forward))
+
+(define-key pmail-summary-mode-map [menu-bar move]
+ (cons "Move" (make-sparse-keymap "Move")))
+
+(define-key pmail-summary-mode-map [menu-bar move search-back]
+ '("Search Back..." . pmail-summary-search-backward))
+
+(define-key pmail-summary-mode-map [menu-bar move search]
+ '("Search..." . pmail-summary-search))
+
+(define-key pmail-summary-mode-map [menu-bar move previous]
+ '("Previous Nondeleted" . pmail-summary-previous-msg))
+
+(define-key pmail-summary-mode-map [menu-bar move next]
+ '("Next Nondeleted" . pmail-summary-next-msg))
+
+(define-key pmail-summary-mode-map [menu-bar move last]
+ '("Last" . pmail-summary-last-message))
+
+(define-key pmail-summary-mode-map [menu-bar move first]
+ '("First" . pmail-summary-first-message))
+
+(define-key pmail-summary-mode-map [menu-bar move previous]
+ '("Previous" . pmail-summary-previous-all))
+
+(define-key pmail-summary-mode-map [menu-bar move next]
+ '("Next" . pmail-summary-next-all))