Synch to Oort Gnus 200303281712.
authoryamaoka <yamaoka>
Sat, 29 Mar 2003 06:54:37 +0000 (06:54 +0000)
committeryamaoka <yamaoka>
Sat, 29 Mar 2003 06:54:37 +0000 (06:54 +0000)
lisp/ChangeLog
lisp/nnmaildir.el

index 1fc305e..7ea81c6 100644 (file)
@@ -1,10 +1,16 @@
+2003-03-28  Paul Jarc  <prj@po.cwru.edu>
+
+       * nnmaildir.el (nnmaildir-request-set-mark,
+       nnmaildir-close-group): Allow each mark directory in a group to
+       have its own inode for mark files, to accommodate AFS.
+
 2003-03-28  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * gnus-start.el (gnus-read-newsrc-el-hook): new hook called by gnus-read-newsrc-el-file
        (gnus-read-newsrc-el-file): call the gnus-read-newsrc-el-hook
 
-       * gnus-registry.el (gnus-registry-translate-to-alist) 
-       (gnus-registry-translate-from-alist, alist-to-hashtable) 
+       * gnus-registry.el (gnus-registry-translate-to-alist)
+       (gnus-registry-translate-from-alist, alist-to-hashtable)
        (hashtable-to-alist): new functions
        (gnus-register-spool-action): add a spool item to the registry
 
 2003-03-20  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * rfc2231.el (rfc2231-decode-encoded-string): Downcase charset.
-       
+
        * mm-url.el (mm-url-insert): Move url-current-object stuff into
        mm-url-insert-file-contents.
 
        * nnrss.el (nnrss-fetch): Fetch the local stuff.
        (nnrss-check-group): Use it.
 
-2003-03-20 Mark A. Hershberger  <mah@everybody.org> 
+2003-03-20 Mark A. Hershberger  <mah@everybody.org>
 
        * nnrss.el: Primitive XML Name-space support.  This means that RSS
        feeds like Kevin Burton's[1] can now be read in Gnus.
 
-       Implemented support for Mark Pilgrim's RSS Autodiscovery.[2] This
+       Implemented support for Mark Pilgrim's RSS Autodiscovery.[2] This
        means that if you want to read the RSS feed for example.com, all
        you have to do is hit "G R http://www.example.com/ RET" and
        nnrss.el will find and the feed listed on the site or (if you have
        loaded xml-rpc.el) look it up on syndic8.com.
 
-       Marked the message as HTML (by adding a Content-Type header) so
+       Marked the message as HTML (by adding a Content-Type header) so
        that Gnus will render it as html if the user wants that.
 
-       Implemented the ability to save nnrss-group-alist so that any new
+       Implemented the ability to save nnrss-group-alist so that any new
        feeds the you subscribe to will be found the next time you start
        up.
 
-       Implemented support for RSS 2.0 elements (author, pubDate).
+       Implemented support for RSS 2.0 elements (author, pubDate).
 
        Prefer for <content:encoded> over <description> where both
        elements exist.
 
 2003-03-19  Teodor Zlatanov  <tzz@lifelogs.com>
 
-       * spam.el (spam-group-ham-mark-p, spam-group-spam-mark-p) 
+       * spam.el (spam-group-ham-mark-p, spam-group-spam-mark-p)
        (spam-group-ham-marks, spam-group-spam-marks): new functions
        (spam-spam-marks, spam-ham-marks): removed in favor of the
        spam-marks and ham-marks parameters
index a625bf2..eeee5de 100644 (file)
@@ -43,8 +43,6 @@
 ;; Todo:
 ;; * Add a hook for when moving messages from new/ to cur/, to support
 ;;   nnmail's duplicate detection.
-;; * Allow each mark directory in a group to have its own inode for mark
-;;   files, to accommodate AFS.
 ;; * Improve generated Xrefs, so crossposts are detectable.
 ;; * Improve code readability.
 
@@ -1495,7 +1493,7 @@ by nnmaildir-request-article.")
        (file-coding-system-alist nil)
        del-mark del-action add-action set-action marksdir markfile nlist
        ranges begin end article all-marks todo-marks did-marks mdir mfile
-       pgname ls markfilenew deactivate-mark)
+       pgname ls permarkfile deactivate-mark)
     (setq del-mark
          (lambda (mark)
            (setq mfile (nnmaildir--subdir marksdir (symbol-name mark))
@@ -1507,20 +1505,19 @@ by nnmaildir-request-article.")
            (mapcar
             (lambda (mark)
               (setq mdir (nnmaildir--subdir marksdir (symbol-name mark))
+                    permarkfile (concat mdir ":")
                     mfile (concat mdir (nnmaildir--art-prefix article)))
               (unless (memq mark did-marks)
+                (setq did-marks (cons mark did-marks))
                 (nnmaildir--mkdir mdir)
-                (setq did-marks (cons mark did-marks)))
+                (unless (file-attributes permarkfile)
+                  (condition-case nil
+                      (add-name-to-file markfile permarkfile)
+                    (file-error
+                     ;; AFS can't make hard links in separate directories
+                     (write-region "" nil permarkfile nil 'no-message)))))
               (unless (file-exists-p mfile)
-                (condition-case nil
-                    (add-name-to-file markfile mfile)
-                  (file-error
-                   (unless (file-exists-p mfile)
-                     ;; too many links, maybe
-                     (write-region "" nil markfilenew nil 'no-message)
-                     (add-name-to-file markfilenew mfile
-                                       'ok-if-already-exists)
-                     (rename-file markfilenew markfile 'replace))))))
+                (add-name-to-file permarkfile mfile)))
             todo-marks))
          set-action (lambda (article)
                       (funcall add-action)
@@ -1541,7 +1538,6 @@ by nnmaildir-request-article.")
            marksdir (nnmaildir--srvgrp-dir marksdir gname)
            marksdir (nnmaildir--nndir marksdir)
            markfile (concat marksdir "markfile")
-           markfilenew (concat markfile "{new}")
            marksdir (nnmaildir--marks-dir marksdir)
            gname (nnmaildir--grp-name group)
             pgname (nnmaildir--pgname nnmaildir--cur-server gname)
@@ -1598,7 +1594,7 @@ by nnmaildir-request-article.")
               dir (file-name-as-directory (car dir)))
         (mapcar
          (lambda (file)
-           (unless (intern-soft file flist)
+           (unless (or (intern-soft file flist) (string= file ":"))
              (setq file (concat dir file))
              (delete-file file)))
          files))