X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=mymail-vm.el;h=f424c8513021061885980335790749a38e6d4a6a;hb=376afbf8f0e076f573e5e5dd2af5ffd097d60a36;hp=d5d7f4e83c03ba4171a1b9786cfb9a7af37eb1a0;hpb=e3449c3c9372d3daf48f6e162a4d66dc2dae9f2f;p=mymail.git diff --git a/mymail-vm.el b/mymail-vm.el index d5d7f4e..f424c85 100644 --- a/mymail-vm.el +++ b/mymail-vm.el @@ -18,19 +18,36 @@ (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: " nil 'mymail-vm-history))) (let ((n 1) (mbox-name nil) - (args (mapconcat - (lambda (searche-request) (concat "-s " "\"" searche-request "\"")) - (split-string param ",") - " "))) + + (search-args + + (apply 'nconc + (mapcar + (lambda (searche-request) + (if (not (string= searche-request "")) + (list "-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))) - (shell-command (concat "mymail " args " > " mbox-name)) - (vm-visit-folder mbox-name t) + (if (= (apply 'call-process + (nconc (list "mymail" nil nil nil "--output" mbox-name) + search-args)) + 0) + (vm-visit-folder mbox-name t) + (message "mymail failed")) ))