Gnus -- minor build / warning fixes [OK For Upstream]
[gnus] / lisp / gnus-cloud.el
index c47976b..52b1360 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cloud.el --- storing and retrieving data via IMAP
 
-;; Copyright (C) 2014 Free Software Foundation, Inc.
+;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: mail
@@ -30,6 +30,7 @@
 
 (defgroup gnus-cloud nil
   "Syncing Gnus data via IMAP."
+  :version "25.1"
   :group 'gnus)
 
 (defcustom gnus-cloud-synced-files
@@ -39,6 +40,7 @@
     (:directory "~/News" :match ".*.SCORE\\'"))
   "List of file regexps that should be kept up-to-date via the cloud."
   :group 'gnus-cloud
+  ;; FIXME this type does not match the default.  Nor does the documentation.
   :type '(repeat regexp))
 
 (defvar gnus-cloud-group-name "*Emacs Cloud*")
        (let ((spec (ignore-errors (read (current-buffer))))
              length)
          (when (and (consp spec)
-                    (memq (plist-get spec :type) '(:file :data :deleta)))
+                    (memq (plist-get spec :type) '(:file :data :delete)))
            (setq length (plist-get spec :length))
            (push (append spec
                          (list
                    (gnus-server-to-method gnus-cloud-method)
                  gnus-cloud-method)))
     (unless (or (gnus-active gnus-cloud-group-name)
-               (gnus-activate-group gnus-cloud-group-name nil nil
-                                    gnus-cloud-method))
-      (and (gnus-request-create-group gnus-cloud-group-name gnus-cloud-method)
-          (gnus-activate-group gnus-cloud-group-name nil nil gnus-cloud-method)
+               (gnus-activate-group gnus-cloud-group-name nil nil method))
+      (and (gnus-request-create-group gnus-cloud-group-name method)
+          (gnus-activate-group gnus-cloud-group-name nil nil method)
           (gnus-subscribe-group gnus-cloud-group-name)))))
 
 (defun gnus-cloud-upload-data (&optional full)
 (defun gnus-cloud-server-p (server)
   (member server gnus-cloud-covered-servers))
 
+(defun gnus-cloud-collect-full-newsrc ()
+  (let ((infos nil))
+    (dolist (info (cdr gnus-newsrc-alist))
+      (when (gnus-cloud-server-p
+            (gnus-method-to-server
+             (gnus-find-method-for-group (gnus-info-group info))))
+       (push info infos)))
+    ))
+
 (provide 'gnus-cloud)
 
 ;;; gnus-cloud.el ends here