X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=mymail-vm.el;h=7b2e6eafc3ea0ed7942b88ac9d34765d8206215e;hb=1d852dd39736a83b168bbd1f4b0070f40b34be49;hp=03b52ccbbb38266f4656a4eb53de8240d0e67c71;hpb=46cfbfe43243177f1522a55d8ada0935f476550e;p=mymail.git diff --git a/mymail-vm.el b/mymail-vm.el index 03b52cc..7b2e6ea 100644 --- a/mymail-vm.el +++ b/mymail-vm.el @@ -16,13 +16,28 @@ ;; You should have received a copy of the GNU General Public License ;; along with mymail. If not, see . +(add-to-list 'recentf-exclude "/tmp/mymail-vm-.*\.mbox") + +(defcustom mymail/default-search-request "" + "Default request to add to any search" + :type 'string) + (defun mymail/vm-visit-folder (param) - (interactive (list (read-string "mymail-vm search: " nil 'mymail-vm-history))) + (interactive + (list (read-string "mymail: " nil 'mymail-vm-history))) + + (let ((n 1) + (mbox-name nil) + (args (mapconcat + (lambda (searche-request) + (if (not (string= searche-request "")) + (concat "-s " "\"" searche-request "\""))) + (split-string (concat param "," mymail/default-search-request) ",") + " "))) + + (while (get-file-buffer (setq mbox-name (format "/tmp/mymail-vm-%d.mbox" n))) + (setq n (+ n 1))) - (let ((args (mapconcat (lambda (x) (concat "-s " "\"" x "\"")) - (split-string param ",") - " "))) - (shell-command (concat "mymail " args " > /tmp/mymail.mbox")) - ) - (vm-visit-folder "/tmp/mymail.mbox") - ) + (shell-command (concat "mymail --quiet --output " mbox-name " " args)) + (vm-visit-folder mbox-name t) + ))