X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=elisp.git;a=blobdiff_plain;f=vm;h=f1968967ca9942409e3f33099e6a6db69cbd3290;hp=8e254894c6bea93aec2afc3b84a0ee3667792d4c;hb=1d49667604d56dec160ba3fbe612fcec52e7e5e6;hpb=0600e35543a1f991515a6c42a6bf1cdb4e8eaf4e diff --git a/vm b/vm index 8e25489..f196896 100644 --- a/vm +++ b/vm @@ -17,6 +17,20 @@ ;; Contact for comments & bug reports ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; A fast indexed / search in mbox +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; This is one of my own things, check my web page to get it + +(when (ff/load-or-alert "~/sources/gpl/mymail/mymail-vm.el") + + (define-key vm-summary-mode-map "\\" 'mymail/vm-visit-folder) + (define-key global-map [S-f7] 'mymail/vm-visit-folder) + (setq mymail/default-search-request "today" + mymail/default-additional-search-requests "!s ^\\[SPAM\\],!s \\] STATUS,") + (add-to-list 'recentf-exclude "/tmp/mymail-vm-.*\.mbox") +) + (setq-default vm-summary-show-threads t) ;; (setq vm-preview-lines nil) @@ -299,6 +313,7 @@ attachement from mail." (flyspell-mode) (auto-fill-mode) (mail-abbrevs-setup) + (yas/minor-mode) ;; (setq fill-paragraph-function 'mail-mode-fill-paragraph) @@ -532,6 +547,7 @@ an attachment") (add-hook 'vm-mail-send-hook 'flyspell-mode-off) ;; Append so that it happens after the mime encoding ;; (add-hook 'vm-mail-send-hook 'ff/check-badly-encoded-address t) + ;; Append this hook so that it runs after all other checks (add-hook 'vm-mail-send-hook 'ff/dissociate-file-from-vm-mail-buffer t) @@ -542,10 +558,11 @@ an attachment") (add-hook 'vm-summary-mode-hook 'mc-install-read-mode) (add-hook 'vm-virtual-mode-hook 'mc-install-read-mode) (add-hook 'vm-mail-mode-hook 'mc-install-write-mode) +(add-hook 'vm-presentation-mode-hook 'mc-install-read-mode) ;; (defun ff/encrypt-mail-if-possible () (interactive) -;; (condition-case nil (mc-encrypt) -;; (error nil))) + ;; (condition-case nil (mc-encrypt-message) + ;; (error nil))) ;; (add-hook 'vm-mail-send-hook 'ff/encrypt-mail-if-possible t) @@ -558,7 +575,8 @@ an attachment") (defun ff/goto-next-mail-field () (interactive) (let ((field (save-excursion (end-of-line) - (re-search-backward (concat "\\(^[a-zA-Z\-]*: \\|^" mail-header-separator "$\\)") nil t) + (re-search-backward + (concat "\\(^[a-zA-Z\-]*: \\|^" mail-header-separator "$\\)") nil t) (match-string 1)))) (cond ((string= field "To: ") @@ -593,6 +611,7 @@ an attachment") t) (substitute-key-definition 'next-line 'mail-abbrev-next-line vm-mail-mode-map global-map) + (substitute-key-definition 'end-of-buffer 'mail-abbrev-end-of-buffer vm-mail-mode-map global-map) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -649,3 +668,15 @@ instance, someone in bbdb named \"Paul Smith\" would generate an alias (bbdb-insinuate-vm) (ff/mail-aliases-from-bbdb)) ) + +(defun ff/pipe-to-tmp () (interactive) + (let ((link "/tmp/attach") + (dir (format-time-string "/tmp/attach-%Y%m%d-%H%M%S" (current-time)))) + (mkdir dir) + (when (file-symlink-p link) (delete-file link)) + (unless (file-exists-p link) + (make-symbolic-link dir "/tmp/attach" 1)) + (vm-pipe-message-to-command (concat "munpack -C " dir)) + (message "Wrote files to %s" dir) + ) + )