Index: nnmaildir.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/nnmaildir.el,v retrieving revision 6.17 diff -u -r6.17 nnmaildir.el --- nnmaildir.el 2002/04/22 02:28:17 6.17 +++ nnmaildir.el 2002/05/02 17:42:42 @@ -134,6 +134,7 @@ (error nil :type string) ;; last error message, or nil (mtime nil :type list) ;; modtime of dir (gnm nil) ;; flag: split from mail-sources? + (courier nil) ;; flag: create maildirs w/ leading '.' (create-dir nil :type string)) ;; group creation directory (defmacro nnmaildir--nlist-last-num (nlist) @@ -541,6 +542,10 @@ (car x) (setf (nnmaildir--srv-gnm server) t) (require 'nnmail)) + (and (setq x (assq 'courier-compatible defs)) + (setq x (cdr x)) + (car x) + (setf (nnmaildir--srv-courier server) t)) (setq x (assq 'create-directory defs)) (when x (setq x (cadr x) @@ -897,7 +902,7 @@ (nnmaildir--prepare server nil) (catch 'return (let ((create-dir (nnmaildir--srv-create-dir nnmaildir--cur-server)) - srv-dir dir groups) + srv-dir dir groups maildir) (when (zerop (length gname)) (setf (nnmaildir--srv-error nnmaildir--cur-server) "Invalid (empty) group name") @@ -922,13 +927,21 @@ (setq dir srv-dir dir (file-truename dir) dir (concat dir create-dir))) - (setq dir (nnmaildir--subdir (file-name-as-directory dir) gname)) + (setq dir (file-name-as-directory dir)) + (setq maildir (concat dir + (if (nnmaildir--srv-courier nnmaildir--cur-server) + (concat "." gname) + gname))) + (when (equal (file-name-as-directory maildir) (nnmaildir--nndir dir)) + (setf (nnmaildir--srv-error nnmaildir--cur-server) + (concat "Group name may not be " gname)) + (throw 'return nil)) + (setq dir (file-name-as-directory maildir)) (nnmaildir--mkdir dir) (nnmaildir--mkdir (nnmaildir--tmp dir)) (nnmaildir--mkdir (nnmaildir--new dir)) (nnmaildir--mkdir (nnmaildir--cur dir)) - (setq create-dir (file-name-as-directory create-dir)) - (make-symbolic-link (concat create-dir gname) (concat srv-dir gname)) + (make-symbolic-link maildir (concat srv-dir gname)) (nnmaildir-request-scan 'find-new-groups)))) (defun nnmaildir-request-rename-group (gname new-name &optional server)