summaryrefslogtreecommitdiffhomepage
path: root/lib/net
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-11-08 00:47:34 +0000
committerjao <jao@gnu.org>2021-11-08 00:48:11 +0000
commit66988068b79ca5677c4c7f4fed66a815a1b33d53 (patch)
tree2ef25a295f7cebf5f21bf82167b30510321e1d26 /lib/net
parent766c3a3b66f7af3f1d32306b8c494d2a6abe5662 (diff)
downloadelibs-66988068b79ca5677c4c7f4fed66a815a1b33d53.tar.gz
elibs-66988068b79ca5677c4c7f4fed66a815a1b33d53.tar.bz2
gnus + nnml + notmuch
Diffstat (limited to 'lib/net')
-rw-r--r--lib/net/jao-maildir.el28
1 files changed, 17 insertions, 11 deletions
diff --git a/lib/net/jao-maildir.el b/lib/net/jao-maildir.el
index d7cd4d6..18a1725 100644
--- a/lib/net/jao-maildir.el
+++ b/lib/net/jao-maildir.el
@@ -35,6 +35,7 @@
(defvar jao-maildir-tracked-maildirs nil)
(defvar jao-maildir-info-string "")
(defvar jao-maildir-home (expand-file-name "~/var/mail"))
+(defvar jao-maildir-news-home (expand-file-name "~/var/news"))
(defgroup jao-maildir-faces nil "Faces"
:group 'faces)
@@ -152,32 +153,37 @@
(jao-maildir--setup-watches cb))
;;;###autoload
-(defun jao-maildir-file-to-group (file)
+(defun jao-maildir-file-to-group (file &optional maildir newsdir)
"Calculate the Gnus group name from the given file name.
Example:
IN: /home/jao/var/mail/jao/foo/cur/1259184569.M4818P3384.localhost,W=6921:2,S
- OUT: nnimap:jao/foo
+ OUT: nnml:jao.foo
+
+ IN: /home/jao/.emacs.d/gnus/Mail/jao.trove/32570, /home/jao/.emacs.d/gnus/Mail/
+ OUT: nnml:jao.trove
IN: /home/jao/var/mail/gmane/foo/bar/100
- OUT: nntp+localhost:gmane.foo.bar
+ OUT: nntp:gmane.foo.bar
IN: /home/jao/var/mail/bigml/cur/1259176906.M17483P24679.localhost,W=2488:2,S
OUT:nnimap:bigml/inbox"
(let* ((g (directory-file-name (file-name-directory file)))
- (g (replace-regexp-in-string (file-name-as-directory jao-maildir-home)
- "" g))
+ (g (replace-regexp-in-string
+ (file-name-as-directory (or maildir jao-maildir-home)) "" g))
+ (g (replace-regexp-in-string
+ (file-name-as-directory (or newsdir jao-maildir-news-home)) "" g))
(nntp (string-match-p "^\\(gmane\\|gwene\\)/" g))
- (g (if nntp
- (concat "nntp+localhost:" g)
- (replace-regexp-in-string "^\\([^/]+\\)/" "nnimap:\\1/"
- (file-name-directory g) t)))
- (g (if nntp (replace-regexp-in-string "/" "." g) g))
+ (g (cond (nntp (concat "nntp:" g))
+ ((file-name-directory g)
+ (replace-regexp-in-string "^\\([^/]+\\)/" "nnml:\\1/"
+ (file-name-directory g) t))
+ (t (concat "nnml:" g))))
+ (g (replace-regexp-in-string "/" "." g))
(g (replace-regexp-in-string "[/.]$" "" g)))
(cond ((string-match ":$" g) (concat g "inbox"))
(nntp g)
(t (replace-regexp-in-string ":\\." ":" g)))))
-
(provide 'jao-maildir)
;;; jao-maildir.el ends here