* gnus.el (gnus-variable-list): Save Cloud variables.
authorLars Ingebrigtsen <larsi@gnus.org>
Wed, 5 Feb 2014 02:35:32 +0000 (18:35 -0800)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 5 Feb 2014 02:35:32 +0000 (18:35 -0800)
lisp/ChangeLog
lisp/gnus-cloud.el
lisp/gnus.el

index 6df17d2..40d6942 100644 (file)
@@ -1,5 +1,7 @@
 2014-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
 
+       * gnus.el (gnus-variable-list): Save Cloud variables.
+
        * gnus-int.el (gnus-request-accept-article): Doc fix.
 
 2014-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
index 00e3b0d..f9f7fdc 100644 (file)
           (gnus-activate-group gnus-cloud-group-name nil nil gnus-cloud-method)
           (gnus-subscribe-group gnus-cloud-group-name)))))
 
-(defun gnus-cloud-upload-data ()
+(defun gnus-cloud-upload-data (&optional full)
   (gnus-cloud-ensure-cloud-group)
   (with-temp-buffer
-    (let* ((full t)
-          (elems (gnus-cloud-files-to-upload full)))
+    (let ((elems (gnus-cloud-files-to-upload full)))
       (insert (format "Subject: (sequence: %d type: %s)\n"
                      gnus-cloud-sequence
                      (if full :full :partial)))
       (insert "From: nobody@invalid.com\n")
       (insert "\n")
       (insert (gnus-cloud-make-chunk elems))
-      (gnus-request-accept-article gnus-cloud-group-name gnus-cloud-method
-                                  t t))))
+      (when (gnus-request-accept-article gnus-cloud-group-name gnus-cloud-method
+                                        t t)
+       (setq gnus-cloud-sequence (1+ gnus-cloud-sequence))
+       (gnus-cloud-add-timestamps elems)))))
+
+(defun gnus-cloud-add-timestamps (elems)
+  (dolist (elem elems)
+    (let* ((file-name (plist-get elem :file-name))
+          (old (assoc file-name gnus-cloud-file-timestamps)))
+      (when old
+       (setq gnus-cloud-file-timestamps
+             (delq old gnus-cloud-file-timestamps)))
+      (push (list file-name (plist-get elem :timestamp))
+           gnus-cloud-file-timestamps))))
 
 (defun gnus-cloud-available-chunks ()
   (gnus-activate-group gnus-cloud-group-name nil nil gnus-cloud-method)
index 8164263..ab48361 100644 (file)
@@ -2699,7 +2699,9 @@ such as a mark that says whether an article is stored in the cache
                        gnus-newsrc-last-checked-date
                        gnus-newsrc-alist gnus-server-alist
                        gnus-killed-list gnus-zombie-list
-                       gnus-topic-topology gnus-topic-alist)
+                       gnus-topic-topology gnus-topic-alist
+                       gnus-cloud-sequence
+                       gnus-cloud-file-timestamps)
   "Gnus variables saved in the quick startup file.")
 
 (defvar gnus-newsrc-alist nil