;;; -*- emacs-lisp -*- ;; *************************************************************************** ;; * * ;; * Initialization for reading Mail with VM by Robert Fenk ;; * * ;; * You probably will not need a .vm as outfoxed as this one! * ;; * "Outfoxed" is Bavarian slang, i.e. sophisticated! * ;; * * ;; *************************************************************************** ;; SMPT-sending and server settings for multiple accounts and servers (require 'esmtpmail) (custom-set-variables '(esmtpmail-send-it-by-alist '( ("Robert.Fenk@XXX.de" "mail.gmx.net" (vm-pop-login "pop.gmx.net:110:pass:MYLOGIN:*")) ("Robert.Fenk@YYY.de" "smtp.web.de" (vm-pop-login "pop.web.de:110:pass:MYLOGIN:*")) (t "MYDEFAULTSMTPHOST" nil)))) (setq send-mail-function 'esmtpmail-send-it esmtpmail-default-smtp-server "MYDEFAULTSMTPHOST" esmtpmail-smtp-server "MYDEFAULTSMTPHOST" esmtpmail-smtp-service "smtp" esmtpmail-local-domain nil esmtpmail-debug-info t esmtpmail-code-conv-from nil user-full-name "Robert Fenk" user-mail-address "Robert.Fenk@XXX.de" mail-use-rfc822 nil ) ;;***************************************************************************** ;; Now load additional packages and initialize them (require 'ispell-highlight) (setq ispell-quietly t) (require 'vm-mime) (require 'vm-pine) (require 'vm-ps-print) (vm-ps-print-message-infect-vm) (setq vm-ps-print-message-function 'ps-print-buffer-with-faces) (require 'vm-serial) (require 'vm-avirtual) (require 'vm-vcard) (require 'spookmime) (setq spook-phrases-file (expand-file-name "~/Mail/.spooklines")) ;;***************************************************************************** ;; personal crisis -- a really cool extension to VM (require 'vm-pcrisis) (setq vmpc-conditions '( ("Robert.Fenk@XXX.de" (vmpc-virtual-check-selector "Robert.Fenk@XXX.de")) ("]+") (www 1 "\\(http://\\|www\.\\)[^ \t\n]+") (street 1 "^\\w+.*[0-9/-]+\\w*.*") (zip 1 "\\([A-Z]-\\)?[0-9][0-9][0-9][0-9]+") (city 1 "\\w+[^ ,\n]*") (state 1 "\\w+") (country 1 "\\w+") )) ) (if (and vm-xemacs-p (featurep 'native-sound)) (bbdb-load-touchtones)) (add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook) (setq bbdb-auto-notes-alist ;; header regexp field string replace-true ;; I'd like to save when I last received a message of that person '(("Date" ;((authors . "XFrom") recipients) (".*" lastmail 0 t)) )) (add-hook 'vm-reply-hook 'bbdb-force-record-create) ;;;*************************************************************************** ;; Some hooks and advices (defadvice vm-mime-encode-composition (around disable-font-lock activate) "Disable font-lock-mode and ispell-minor-mode as it mucks up encoding of attachments." (interactive) (font-lock-mode 0) (ispell-minor-mode 0) (flyspell-mode-off) ad-do-it) ;; add my vm-mail-mode-hook (add-hook 'vm-mail-mode-hook 'rf-vm-mail-mode-hook) ;;***************************************************************************** ;; All the MIME stuff (setq vm-mime-alternative-select-method 'best-internal vm-honor-mime-content-disposition nil ; t vm-mime-base64-decoder-program "mmencode" vm-mime-base64-decoder-switches (list "-u") vm-mime-base64-encoder-program "mmencode" vm-mime-base64-encoder-switches (list) vm-mime-qp-decoder-program "qp-decode" vm-mime-qp-decoder-switches nil vm-mime-qp-encoder-program "qp-encode" vm-mime-qp-encoder-switches nil vm-forwarding-digest-type "mime" vm-infer-mime-types t ; guess mime type vm-mime-delete-viewer-processes nil vm-mime-delete-after-saving nil vm-mime-attachment-save-directory (expand-file-name "~/Attachments/") vm-mime-type-converter-alist '( ; ("text/html" "text/plain" "lynx -force_html -dump /dev/stdin") ("text/html" "text/plain" "striptags") ("application/msword" "text/plain" "lhalw -c 80 -f") ("application/winword6" "text/plain" "lhalw -c 80 -f") ("message/delivery-status" "text/plain") ("application/x-zip-compressed" "text/plain" "listzip") ("application/x-www-form-urlencoded" "text/plain") ("message/disposition-notification" "text/plain") ; ("message/external-body" "text/plain") ("application/mac-binhex40" "application/octet-stream" "hexbin -s") ) vm-auto-displayed-mime-content-types '("multipart" "text/plain" "text/enriched" "message/delivery-status" "message/disposition-notification" "message/rfc822" ; "image" ; "message/external-body" ; "text/html" ) vm-mime-internal-content-types '("text/plain" "text/enriched" "message/delivery-status" "message/external-body" "message/rfc822" "image/jpeg" "image/gif" ; "text/html" ) vm-mime-internal-content-type-exceptions '( "text/html" "image" ) vm-mime-external-content-types-alist '( ("image" "xv") ("audio/x-wav" "xplay") ("audio" "xmms") ("video/mpeg" "mpegplay") ("application/x-pn-mpg" "mpegplay") ("video" "xanim") ; ("text/html" "netscape -remote 'openFile(%f)'") ("text/html" "rnetscape") ("application/pdf" "acroread") ("application/postscript" "gv") ) vm-mime-default-face-charsets t vm-mime-default-face-charset-exceptions nil vm-mime-attachment-auto-type-alist '( ("\\.ez$" . "application/andrew-inset") ("\\.hqx$" . "application/mac-binhex40") ("\\.cpt$" . "application/mac-compactpro") ("\\.doc$" . "application/msword") ("\\.\\(bin\\|dms\\|lha\\|lzh\\|exe\\|class\\|arj\\|zoo\\|tgz\\|sit\\|cpt\\|sea\\)$" . "application/octet-stream") ("\\.oda$" . "application/oda") ("\\.pdf$" . "application/pdf") ("\\.\\(ai\\|eps\\|ps\\)$" . "application/postscript") ("\\.rtf$" . "application/rtf") ("\\.\\(smi\\|smil\\)$" . "application/smil") ("\\.mif$" . "application/x-mif") ("\\.mif$" . "application/vnd.mif") ("\\.xls$" . "application/vnd.ms-excel") ("\\.pp[ts]$" . "application/vnd.ms-powerpoint") ("\\.bcpio$" . "application/x-bcpio") ("\\.vcd$" . "application/x-cdlink") ("\\.pgn$" . "application/x-chess-pgn") ("\\.cpio$" . "application/x-cpio") ("\\.csh$" . "application/x-csh") ("\\.\\(dcr\\|dir\\|dxr\\)$" . "application/x-director") ("\\.dvi$" . "application/x-dvi") ("\\.spl$" . "application/x-futuresplash") ("\\.gtar$" . "application/x-gtar") ("\\.gz$" . "application/x-gzip") ("\\.hdf$" . "application/x-hdf") ("\\.js$" . "application/x-javascript") ("\\.\\(skp\\|skd\\|skt\\|skm\\)$" . "application/x-koan") ("\\.latex$" . "application/x-latex") ("\\.\\(nc\\|cdf\\)$" . "application/x-netcdf") ("\\.sh$" . "application/x-sh") ("\\.shar$" . "application/x-shar") ("\\.swf$" . "application/x-shockwave-flash") ("\\.sit$" . "application/x-stuffit") ("\\.sv4cpio$" . "application/x-sv4cpio") ("\\.sv4crc$" . "application/x-sv4crc") ("\\.tar$" . "application/x-tar") ("\\.tcl$" . "application/x-tcl") ("\\.tex$" . "application/x-tex") ("\\.\\(texinfo\\|texi\\)$" . "application/x-texinfo") ("\\.\\(t\\|tr\\|roff\\)$" . "application/x-troff") ("\\.man$" . "application/x-troff-man") ("\\.me$" . "application/x-troff-me") ("\\.ms$" . "application/x-troff-ms") ("\\.ustar$" . "application/x-ustar") ("\\.src$" . "application/x-wais-source") ("\\.zip$" . "application/zip") ("\\.\\(au\\|snd\\)$" . "audio/basic") ("\\.\\(mid\\|midi\\|kar\\)$" . "audio/midi") ("\\.\\(mpga\\|mp2\\|mp3\\)$" . "audio/mpeg") ("\\.\\(aif\\|aiff\\|aifc\\)$" . "audio/x-aiff") ("\\.\\(ram\\|rm\\)$" . "audio/x-pn-realaudio") ("\\.rpm$" . "audio/x-pn-realaudio-plugin") ("\\.ra$" . "audio/x-realaudio") ("\\.wav$" . "audio/x-wav") ("\\.\\(pdb\\|xyz\\)$" . "chemical/x-pdb") ("\\.elektra$" . "elektra/postscript") ("\\.bmp$" . "image/bmp") ("\\.gif$" . "image/gif") ("\\.ief$" . "image/ief") ("\\.pcx$" . "image/pcx") ("\\.\\(jpeg\\|jpg\\|jpe\\)$" . "image/jpeg") ("\\.png$" . "image/png") ("\\.\\(tiff\\|tif\\)$" . "image/tiff") ("\\.ras$" . "image/x-cmu-raster") ("\\.pnm$" . "image/x-portable-anymap") ("\\.pbm$" . "image/x-portable-bitmap") ("\\.pgm$" . "image/x-portable-graymap") ("\\.ppm$" . "image/x-portable-pixmap") ("\\.rgb$" . "image/x-rgb") ("\\.xbm$" . "image/x-xbitmap") ("\\.xpm$" . "image/x-xpixmap") ("\\.xwd$" . "image/x-xwindowdump") ("\\.\\(igs\\|iges\\)$" . "model/iges") ("\\.\\(msh\\|mesh\\|silo\\)$" . "model/mesh") ("\\.\\(wrl\\|vrml\\)$" . "model/vrml") ("\\.css$" . "text/css") ("\\.\\(html\\|htm\\)$" . "text/html") ("\\.\\(asc\\|txt\\)$" . "text/plain") ("\\.rtx$" . "text/richtext") ("\\.rtf$" . "text/rtf") ("\\.\\(sgml\\|sgm\\)$" . "text/sgml") ("\\.tsv$" . "text/tab-separated-values") ("\\.etx$" . "text/x-setext") ("\\.xml$" . "text/xml") ("\\.\\(mpeg\\|mpg\\|mpe\\)$" . "video/mpeg") ("\\.\\(qt\\|mov\\)$" . "video/quicktime") ("\\.avi$" . "video/x-msvideo") ("\\.movie$" . "video/x-sgi-movie") ("\\.ice$" . "x-conference/x-cooltalk") ) ) (defun rf-insert-vm-mime-attachment-auto-type-alist (mime-types-file) (interactive "fMIME types file: ") (let ((b (find-file-noselect mime-types-file)) (type-alist "")) (save-excursion (set-buffer b) (goto-char (point-min)) (while (re-search-forward "^\\([^# \t\n]+\\)[ \t]+\\b\\(\\w.*\\w\\)\\b[ \t]*" (point-max) t) (let ((type (match-string 1)) (extensions (regexp-opt (bbdb-split (match-string 2) " \t")))) (setq extensions (concat "\\.\\(" extensions "\\)$")) (setq type-alist (concat type-alist (format "\t(%-15S . %S)\n" extensions type)))))) (insert type-alist))) ;;; Deal with moronic Windoze `smart quotes' etc: (when vm-xemacs-p (standard-display-ascii ?\200 "euro") (standard-display-ascii ?\221 "\'") (standard-display-ascii ?\222 "\'") (standard-display-ascii ?\223 "\"") (standard-display-ascii ?\224 "\"") (standard-display-ascii ?\213 " -- ") (standard-display-ascii ?\205 "--") (standard-display-ascii ?\226 "--") (standard-display-ascii ?\227 "\-")) (setq vm-url-browser 'vm-mouse-send-url-to-netscape vm-url-regexp "\n]+\\)>\\|\\(\\(file\\|ftp\\|gopher\\|http\\|https\\|news\\|wais\\|www\\):[^ \t\n\f\r>]+[^ \t\n\f\r,.\"'>]\\)\\|\\(mailto:[^] \t\n\f\r\"<>|()]*[^] \t\n\f\r\"<>|.!?(){},]\\)\\|\\(file:/[^ \t\n\f\r\"<>|()]*[^ \t\n\f\r\"<>|.!?(){},]\\)\\|\\(www\\.[^ \t\n]+[^,. \t\n]\\)" vm-url-search-limit 25000) ;;***************************************************************************** ;; My hook for mail-composing (defun rf-vm-mail-mode-hook () "Robert Fenks vm-mail-mode-hook." (interactive) (when (string-match "received" (buffer-name)) (make-local-variable 'vm-confirm-quit) (setq vm-confirm-quit t)) (setq fill-column 60 comment-start "> " indent-line-function 'indent-relative-maybe ;; Uncomment the following lines to highlight to long lines mail-font-lock-keywords (add-to-list 'mail-font-lock-keywords (list (concat "^" (make-string 76 ?.) "\\(.+$\\)") '(1 font-lock-warning-face t)))) (vm-serial-auto-yank-mail nil) (font-lock-mode 1) (turn-on-auto-fill) (flyspell-mode) (when vm-xemacs-p (turn-on-filladapt-mode) (set-case-table (standard-case-table)))) (defun rf-vm-mail-send-and-exit-spellfree () "Deactivate Spell-mode before sending!" (interactive) (when vm-xemacs-p (turn-off-font-lock) (flyspell-mode-off)) (vm-mail-send-and-exit t)) ;;***************************************************************************** ;; Mail-mode specific settings (setq mail-interactive t mail-abbrev-mailrc-file "~/Mail/.mailrc" mail-header-separator "###################### The text follows this line #####################" mail-default-reply-to nil mail-default-headers "From: Robert.Fenk@XXX.de\n" mail-signature-file "~/Mail/.signature" mail-signature nil mail-archive-file-name nil ) ;;***************************************************************************** ;; VM specific settings (setq vm-inhibit-startup-message t ;; toolbar with smaller icons. vm-toolbar-orientation 'top vm-toolbar-pixmap-directory (expand-file-name "~/prog/xemacs/vm-small-pixmaps/") vm-use-toolbar '(previous next 15 delete/undelete mime file autofile print 15 compose reply 15 visit nil quit help) vm-summary-show-threads nil vm-summary-thread-indent-level 1 vm-summary-format "%n %*%L%a%1Up %I%-17.17UP %-3.3m %2d %4US <%s>\n" vm-summary-uninteresting-senders "fenk" vm-mail-window-percentage 50 vm-startup-with-summary t vm-preview-lines 41 vm-preview-read-messages nil vm-mime-decode-for-preview nil vm-delete-after-bursting nil vm-paragraph-fill-column nil vm-fill-paragraphs-containing-long-lines nil vm-print-command "lp" vm-print-command-switches '("-dhp5d") vm-move-after-deleting nil vm-delete-empty-folders t ;; all the folder specific things vm-confirm-quit nil vm-confirm-new-folders t vm-delete-after-saving t vm-frame-per-folders-summary t vm-folders-summary-directories nil vm-folder-directory "~/Mail/" vm-folders-summary-database (concat vm-folder-directory ".vm.folders.db") ;; getting checking new mail vm-auto-get-new-mail 120 vm-mail-check-interval 10000 vm-primary-inbox "received" vm-thread-using-subject nil vm-crash-box (concat vm-folder-directory "crash") ;; My POP account vm-pop-expunge-after-retrieving t vm-spool-files (list (list "received" "pop.gmx.net:110:pass:MYID:*" (concat vm-folder-directory "received.crash"))) ;; what do we see in the preview vm-invisible-header-regexp nil vm-visible-headers '("X-Mailfolder:" "Resent-From:" "From:" "Organization:" "Reply-To:" "Return-Receipt-To:" "Notice-Requested-Upon-Delivery-To:" "Resent-To:" "Resent-CC:" "To:" "CC:" "BCC:" "Newsgroups:" "Date:" "Language:" "Subject:" "Priority:" "X-Priority:" "X-Message-Flag:" "Reply-By:" ) ;; what headers are forwarded vm-unforwarded-header-regexp nil vm-forwarded-headers vm-visible-headers vm-forwarding-subject-format "Fo: %s" ;; yanking messages vm-included-text-prefix "> " vm-included-text-attribution-format "On %w, %m %d, %y at %h, %UP wrote:\n" ;; how to reply vm-reply-subject-prefix "Re: " vm-subject-ignored-prefix "^\\s-*\\(\\(re\\|aw\\|fwd\\|fo\\):\\s-*\\)+" vm-reply-ignored-addresses '("Robert\\.Fenk@") ;; I always get errors when setting this strange vm-index-file-suffix ".idx" ) (defun rf-vm-add-folders-summary-directories (&optional base-dir) "Adds all directories below `vm-folder-directory' to the list `vm-folders-summary-directories'." (interactive) (if (not base-dir) (setq base-dir (expand-file-name vm-folder-directory) vm-folders-summary-directories (list base-dir))) (let ((files (directory-files base-dir t nil nil)) dir) (while files (setq dir (car files)) (when (and (file-directory-p dir) (not (string-match "/\\.\\.?$" dir))) (setq vm-folders-summary-directories (nconc vm-folders-summary-directories (list dir))) (rf-vm-add-folders-summary-directories dir)) (setq files (cdr files)))) vm-folders-summary-directories) (rf-vm-add-folders-summary-directories) ;;***************************************************************************** ;From: Kevin Rodgers ;Subject: Re: Empty Reply-To: header ;Newsgroups: gnu.emacs.vm.info ;Date: Tue, 13 Jun 2000 14:42:26 GMT ;> Is there a way to tell VM to use the contents of the 'From:' field if ;> the 'Reply-To:' is nil ? (defadvice vm-ignored-reply-to (around empty-string activate) "Ignore empty Reply-To: header contents." (or (equal (ad-get-arg 0) "") ; REPLY-TO ad-do-it)) ;; jump only to unread messages when selecting the primary in box (defadvice vm-thoughtfully-select-message (around only-for-received activate) (save-excursion (vm-select-folder-buffer) (if (or (string= (buffer-name) vm-primary-inbox) (null vm-message-pointer)) ad-do-it (let ((vm-jump-to-new-messages nil) (vm-jump-to-unread-messages nil)) ad-do-it)))) ;;***************************************************************************** ;; Some additional functions for key bindings (defun rf-vm-mail-text () (interactive) (expand-abbrev) (vmpc-automorph) (vm-mail-auto-fcc) (vm-serial-yank-mail)) (defun rf-vm-fcc-to-folder-of () "*Insert a FCC header containing the folder from where you started. You may hook this into `vm-mail-mode-hook'." (interactive) (let ((folder (or vm-reply-list vm-redistribute-list vm-forward-list (save-excursion (vm-select-folder-buffer) vm-message-pointer)))) (when folder (setq folder (vm-buffer-of (car folder))) (vm-mail-mode-remove-header "FCC:") (mail-position-on-field "FCC") (insert (buffer-file-name folder))))) (defun rf-vm-edit-vmrc () (interactive) (find-file-other-frame "~/prog/xemacs/rf-vm.el")) (defun rf-vm-forward-yanked-message () (interactive "_") (let ((vm-forwarding-digest-type nil)) (vm-forward-message))) (defun rf-vm-yank-message (&optional prefix) (interactive "P") (if prefix (call-interactively 'vm-yank-message-other-folder) (call-interactively 'vm-yank-message))) ;;***************************************************************************** ;; Now my keyboard bindings for lazy ones (define-key vm-mode-map "E" 'vm-rmail-toggle) (define-key vm-mode-map [up] 'vm-rmail-up) (define-key vm-mode-map [down] 'vm-rmail-down) (define-key vm-mode-map [(meta up)] 'vm-previous-unread-message) (define-key vm-mode-map [(meta down)] 'vm-next-unread-message) (define-key vm-mode-map "\C- " 'vm-scroll-backward) (define-key vm-mode-map " " 'vm-scroll-forward) (define-key vm-mode-map "c" 'vm-continue-what-message-other-frame) (define-key vm-mode-map "C" 'vm-continue-postponed-message) (define-key vm-mode-map "R" 'vm-reply-other-frame) (define-key vm-mode-map "r" 'vm-reply-include-text-other-frame) (define-key vm-mode-map "\C-R" 'vm-followup-other-frame) (define-key vm-mode-map "\C-r" 'vm-followup-include-text-other-frame) (define-key vm-mode-map "\C-f" 'rf-vm-forward-yanked-message) (define-key vm-mode-map "f" 'vm-forward-message-other-frame) (define-key vm-mode-map "e" 'vm-edit-message-other-frame) (define-key vm-mode-map "A" nil) (define-key vm-mode-map "v" 'vm-visit-folder-other-frame) (define-key vm-mode-map "q" 'vm-delete-quit) (define-key vm-mode-map "m" 'vm-toggle-mark) (define-key vm-mode-map "d" 'vm-toggle-deleted) (define-key vm-mode-map "s" 'vm-virtual-save-message) (define-key vm-mode-map "w" 'vm-save-message-preview) (define-key vm-mode-map "W" 'vm-save-message-sans-headers) (define-key vm-mode-map "W" (make-sparse-keymap)) (define-key vm-mode-map "WW" 'vm-apply-window-configuration) (define-key vm-mode-map "WS" 'vm-save-window-configuration) (define-key vm-mode-map "WD" 'vm-delete-window-configuration) (define-key vm-mode-map "W?" 'vm-window-help) (define-key vm-mode-map "x" 'vm-expunge-folder) (define-key vm-mode-map "X" 'vm-expunge-pop-messages) (define-key vm-mode-map [f4] 'vm-ps-print-message) (define-key vm-mode-map [f8] 'vm-delete-quit-emacs) (define-key vm-mode-map "\C-s" 'vm-isearch-forward) (define-key vm-mode-map "/" 'bbdb) (define-key vm-mode-map [(control return)] 'rf-vm-edit-vmrc) (define-key vm-mode-map "S" 'vm-save-everything) (define-key vm-mode-map "\C-a" 'vm-mime-auto-save-all-attachments) (define-key vm-mode-map "VO" 'vm-virtual-omit-message) (define-key vm-mode-map "VU" 'vm-virtual-update-folders) (define-key vm-mode-map [(control s)] 'isearch-forward) (define-key vm-summary-mode-map [(control up)] 'previous-line) (define-key vm-summary-mode-map [(control down)] 'next-line) (define-key vm-summary-mode-map [(control s)] 'vm-isearch-forward) (define-key vm-edit-message-map [(control meta delete)] 'vm-edit-message-abort) (define-key vm-edit-message-map [f8] 'vm-edit-message-end) (define-key vm-mail-mode-map [tab] 'indent-relative) (define-key vm-mail-mode-map [(control tab)] 'mail-interactive-insert-alias) (define-key vm-mail-mode-map [return] 'newline-and-indent) (define-key vm-mail-mode-map "\C-c\C-i" 'vm-serial-yank-mail) (define-key vm-mail-mode-map [f8] 'rf-vm-mail-send-and-exit-spellfree) (define-key vm-mail-mode-map [(control meta delete)] 'kill-this-buffer) (define-key vm-mail-mode-map "\C-c\C-y" 'rf-vm-yank-message) (define-key vm-mail-mode-map "\C-c\C-z" 'vm-preview-composition) (define-key vm-mail-mode-map "\C-c\C-t" 'rf-vm-mail-text) (define-key vm-mail-mode-map "\C-c\C-c" 'vm-mail-mode-comment-region) (define-key vm-mail-mode-map "\C-c\C-s" 'rf-vm-mail-send-and-exit-spellfree) (define-key vm-mail-mode-map "\C-c\C-d" 'vm-mail-mode-elide-reply-region) (define-key vm-mail-mode-map "\C-c\C-k" 'vm-mail-mode-citation-clean-up) (define-key vm-mail-mode-map "\C-c\C-a" 'vm-mime-attach-file) (setq vm-mail-fcc-default '(or (vm-virtual-auto-select-folder) (vm-mail-select-folder vm-mail-folder-alist) ; (vm-mail-to-fcc nil t) ; mail-archive-file-name )) ;;***************************************************************************** ;; Cool thingies from Gnus! ;; This shows real Smileys ;-) ;(require 'messagexmas) ;(require 'smiley) ;(add-hook 'vm-select-message-hook ; '(lambda () ; (smiley-region (point-min) ; (point-max)))) (when vm-xemacs-p (autoload 'article-emphasize "gnus-art") (setq gnus-article-emphasis '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline) ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold))) (add-hook 'vm-select-message-hook 'article-emphasize)) ;;***************************************************************************** (require 'vm-grepmail) (require 'vm-rfaddons) (vm-rfaddons-infect-vm 0 t '(auto-save-all-attachments)) (bbdb/vm-set-virtual-folder-alist-by-mail-alias) (require 'vm-biff) (setq vm-biff-FvwmCommand-path "/export/nobackup/bin/FvwmCommand" vm-biff-summary-format nil) (add-hook 'vm-biff-select-frame-hook 'vm-biff-fvwm-focus-vm-folder-frame) ;;*************************************************************************** (when vm-xemacs-p ;; Use "gnuclient" to connect to a running Xemacs-VM session ;; This is a quite handy feature. (message "Starting GNU server ...") (gnuserv-start)) (require 'vm-summary-faces) (vm-summary-faces-mode 1) (message "loading .vm done!") ;; .vm ends here