(restore-buffer-modified-p nil)))))))
\f
;;; Speedbar support for RMAIL files.
-(eval-when-compile (require 'speedbar))
-
(defcustom rmail-speedbar-match-folder-regexp "^[A-Z0-9]+\\(\\.[A-Z0-9]+\\)?$"
"Regexp matching Rmail folder names to be displayed in Speedbar.
Enabling this permits Speedbar to display your folders for easy
(defvar rmail-speedbar-key-map nil
"Keymap used when in rmail display mode.")
+(declare-function speedbar-make-specialized-keymap "speedbar" ())
+
(defun rmail-install-speedbar-variables ()
"Install those variables used by speedbar to enhance rmail."
- (if rmail-speedbar-key-map
- nil
+ (unless rmail-speedbar-key-map
(setq rmail-speedbar-key-map (speedbar-make-specialized-keymap))
-
(define-key rmail-speedbar-key-map "e" 'speedbar-edit-line)
(define-key rmail-speedbar-key-map "r" 'speedbar-edit-line)
(define-key rmail-speedbar-key-map "\C-m" 'speedbar-edit-line)
(looking-at "<M> "))])
"Additional menu-items to add to speedbar frame.")
+(declare-function speedbar-insert-button "speedbar"
+ (text face mouse function &optional token prevline))
+
;; Make sure our special speedbar major mode is loaded
(if (featurep 'speedbar)
(rmail-install-speedbar-variables)
(speedbar-insert-button file 'speedbar-file-face 'highlight
'rmail-speedbar-find-file nil t)))))))
+(eval-when-compile (require 'dframe))
+;; Part of the macro expansion of dframe-with-attached-buffer.
+;; At runtime, will be pulled in as a require of speedbar.
+(declare-function dframe-select-attached-frame "dframe" (&optional frame))
+(declare-function dframe-maybee-jump-to-attached-frame "dframe" ())
+
(defun rmail-speedbar-button (text token indent)
"Execute an rmail command specified by TEXT.
The command used is TOKEN. INDENT is not used."
- (speedbar-with-attached-buffer
+ (dframe-with-attached-buffer
(funcall token t)))
(defun rmail-speedbar-find-file (text token indent)
"Load in the rmail file TEXT.
TOKEN and INDENT are not used."
- (speedbar-with-attached-buffer
+ (dframe-with-attached-buffer
(message "Loading in RMAIL file %s..." text)
(rmail text)))
+(declare-function speedbar-do-function-pointer "speedbar" ())
+
(defun rmail-speedbar-move-message-to-folder-on-line ()
"If the current line is a folder, move current message to it."
(interactive)
(defun rmail-speedbar-move-message (text token indent)
"From button TEXT, copy current message to the rmail file specified by TOKEN.
TEXT and INDENT are not used."
- (speedbar-with-attached-buffer
+ (dframe-with-attached-buffer
(message "Moving message to %s" token)
;; expand-file-name is needed due to the unhelpful way in which
;; rmail-output expands non-absolute filenames against rmail-default-file.