;; Store and restore the window configuration
+(setq ff/window-configuration-before-vm nil)
+
(defadvice vm (before ff/store-window-configuration nil activate)
- (unless (boundp 'ff/window-configuration-before-vm)
+ (unless ff/window-configuration-before-vm
(setq ff/window-configuration-before-vm (current-window-configuration)))
)
(defadvice vm-quit (after ff/restore-window-configuration nil activate)
- (when (boundp 'ff/window-configuration-before-vm)
+ (when ff/window-configuration-before-vm
(set-window-configuration ff/window-configuration-before-vm)
- (makunbound 'ff/window-configuration-before-vm)
+ (setq ff/window-configuration-before-vm nil)
)
)
;; (define-key vm-mail-mode-map [(shift iso-lefttab)] 'mail-mode-smart-tab)
(define-key vm-mail-mode-map [(shift iso-lefttab)] 'bbdb-complete-name)
+(defun ff/kill-to-signature () (interactive)
+ (save-excursion
+ (delete-region
+ (point)
+ (progn
+ (search-forward-regexp "^-- *$")
+ (- (match-beginning 0) 1))
+ )
+ )
+ )
+
+(define-key vm-mail-mode-map [(control c) (k)] 'ff/kill-to-signature)
+
;; The definition of "\t" is forced through a hook defined in
;; vm-init.el, so I add mine. This is ugly.
(defun ff/first-buffer-in-mode (l m)
(if l
- (if (eq (save-excursion
- (set-buffer (car l)) major-mode) m)
+ (if (eq
+ ;; (save-excursion (set-buffer (car l)) major-mode)
+ (with-current-buffer (car l) major-mode)
+ m)
(car l)
(ff/first-buffer-in-mode (cdr l) m))))
;; bbdb
(load "bbdb")
-(load "bbdb-hooks")
+;; (load "bbdb-hooks")
(when (load "bbdb-vm" t)