emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111324: Merge changes made in Gnus m


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111324: Merge changes made in Gnus master
Date: Tue, 25 Dec 2012 12:00:26 +0000
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111324
author: Lars Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2012-12-25 12:00:26 +0000
message:
  Merge changes made in Gnus master
  
  nnimap.el (nnimap-authenticator): Expand to allow specifying the
    login methods.
    (nnimap-login): Respect the `nnimap-authenticator' variable.
  gnus-sum.el (gnus-summary-push-marks-to-backend): Push the complete
    mark state when moving articles.  Otherwise unticked articles will get
    their ticks back after moving.
  gnus.texi (Customizing the IMAP Connection): Mention the other
    authenticators.
modified:
  doc/misc/ChangeLog
  doc/misc/gnus.texi
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-sum.el
  lisp/gnus/nnimap.el
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-12-24 22:56:47 +0000
+++ b/doc/misc/ChangeLog        2012-12-25 12:00:26 +0000
@@ -1,3 +1,8 @@
+2012-12-25  Lars Ingebrigtsen  <address@hidden>
+
+       * gnus.texi (Customizing the IMAP Connection): Mention the other
+       authenticators.
+
 2012-12-24  Lars Ingebrigtsen  <address@hidden>
 
        * gnus.texi (Browse Foreign Server): Document

=== modified file 'doc/misc/gnus.texi'
--- a/doc/misc/gnus.texi        2012-12-24 22:56:47 +0000
+++ b/doc/misc/gnus.texi        2012-12-25 12:00:26 +0000
@@ -14208,7 +14208,11 @@
 
 @item nnimap-authenticator
 Some @acronym{IMAP} servers allow anonymous logins.  In that case,
-this should be set to @code{anonymous}.
+this should be set to @code{anonymous}.  If this variable isn't set,
+the normal login methods will be used.  If you wish to specify a
+specific login method to be used, you can set this variable to either
address@hidden (the traditional @acronym{IMAP} login method),
address@hidden or @code{cram-md5}.
 
 @item nnimap-expunge
 If address@hidden, expunge articles after deleting them.  This is always done

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-12-24 22:56:47 +0000
+++ b/lisp/gnus/ChangeLog       2012-12-25 12:00:26 +0000
@@ -1,3 +1,13 @@
+2012-12-25  Lars Ingebrigtsen  <address@hidden>
+
+       * nnimap.el (nnimap-authenticator): Expand to allow specifying the
+       login methods.
+       (nnimap-login): Respect the `nnimap-authenticator' variable.
+
+       * gnus-sum.el (gnus-summary-push-marks-to-backend): Push the complete
+       mark state when moving articles.  Otherwise unticked articles will get
+       their ticks back after moving.
+
 2012-12-24  Lars Ingebrigtsen  <address@hidden>
 
        * gnus-srvr.el (gnus-browse-delete-group): Fix syntax error.

=== modified file 'lisp/gnus/gnus-sum.el'
--- a/lisp/gnus/gnus-sum.el     2012-12-24 22:56:47 +0000
+++ b/lisp/gnus/gnus-sum.el     2012-12-25 12:00:26 +0000
@@ -10127,17 +10127,20 @@
 
 (defun gnus-summary-push-marks-to-backend (article)
   (let ((set nil)
+       (del nil)
        (marks gnus-article-mark-lists))
     (unless (memq article gnus-newsgroup-unreads)
       (push 'read set))
     (while marks
-      (when (and (eq (gnus-article-mark-to-type (cdar marks)) 'list)
-                (memq article (symbol-value
-                               (intern (format "gnus-newsgroup-%s"
-                                               (caar marks))))))
-       (push (cdar marks) set))
+      (if (and (eq (gnus-article-mark-to-type (cdar marks)) 'list)
+              (memq article (symbol-value
+                             (intern (format "gnus-newsgroup-%s"
+                                             (caar marks))))))
+         (push (cdar marks) set)
+       (push (cdar marks) del))
       (pop marks))
-    (gnus-request-set-mark gnus-newsgroup-name `(((,article) set ,set)))))
+    (gnus-request-set-mark gnus-newsgroup-name `(((,article) set ,set)
+                                                ((,article) del ,del)))))
 
 (defun gnus-summary-copy-article (&optional n to-newsgroup select-method)
   "Copy the current article to some other group.

=== modified file 'lisp/gnus/nnimap.el'
--- a/lisp/gnus/nnimap.el       2012-07-25 03:22:25 +0000
+++ b/lisp/gnus/nnimap.el       2012-12-25 12:00:26 +0000
@@ -99,7 +99,8 @@
 
 (defvoo nnimap-authenticator nil
   "How nnimap authenticate itself to the server.
-Possible choices are nil (use default methods) or `anonymous'.")
+Possible choices are nil (use default methods), `anonymous',
+`login', `plain' and `cram-md5'.")
 
 (defvoo nnimap-expunge t
   "If non-nil, expunge articles after deleting them.
@@ -487,9 +488,13 @@
    ;; round trips than CRAM-MD5, and it's less likely to be buggy),
    ;; and we're using an encrypted connection.
    ((and (not (nnimap-capability "LOGINDISABLED"))
-        (eq (nnimap-stream-type nnimap-object) 'tls))
+        (eq (nnimap-stream-type nnimap-object) 'tls)
+        (or (null nnimap-authenticator)
+            (eq nnimap-authenticator 'login)))
     (nnimap-command "LOGIN %S %S" user password))
-   ((nnimap-capability "AUTH=CRAM-MD5")
+   ((and (nnimap-capability "AUTH=CRAM-MD5")
+        (or (null nnimap-authenticator)
+            (eq nnimap-authenticator 'cram-md5)))
     (erase-buffer)
     (let ((sequence (nnimap-send-command "AUTHENTICATE CRAM-MD5"))
          (challenge (nnimap-wait-for-line "^\\+\\(.*\\)\n")))
@@ -502,9 +507,13 @@
                               (base64-decode-string challenge))))
        "\r\n"))
       (nnimap-wait-for-response sequence)))
-   ((not (nnimap-capability "LOGINDISABLED"))
+   ((and (not (nnimap-capability "LOGINDISABLED"))
+        (or (null nnimap-authenticator)
+            (eq nnimap-authenticator 'login)))
     (nnimap-command "LOGIN %S %S" user password))
-   ((nnimap-capability "AUTH=PLAIN")
+   ((and (nnimap-capability "AUTH=PLAIN")
+        (or (null nnimap-authenticator)
+            (eq nnimap-authenticator 'plain)))
     (nnimap-command
      "AUTHENTICATE PLAIN %s"
      (base64-encode-string


reply via email to

[Prev in Thread] Current Thread [Next in Thread]