aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2012-12-25 13:07:16 +0100
committerJoakim Verona2012-12-25 13:07:16 +0100
commitd9876e7893a530fc07eea13e8b25d25b0a1d6b19 (patch)
treeb9bb71f864365a9f7ef3658343070c3d0b9dd506
parente5dd24f0774c238b08021fda22502245aa946a41 (diff)
parent45dd64808b72411218cf5fb7e80b0d879141f8c8 (diff)
downloademacs-d9876e7893a530fc07eea13e8b25d25b0a1d6b19.tar.gz
emacs-d9876e7893a530fc07eea13e8b25d25b0a1d6b19.zip
auto upstream
-rw-r--r--doc/misc/ChangeLog5
-rw-r--r--doc/misc/gnus.texi6
-rw-r--r--lisp/gnus/ChangeLog10
-rw-r--r--lisp/gnus/gnus-sum.el15
-rw-r--r--lisp/gnus/nnimap.el19
5 files changed, 43 insertions, 12 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 18db253a714..9b58992d2d9 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,8 @@
12012-12-25 Lars Ingebrigtsen <larsi@gnus.org>
2
3 * gnus.texi (Customizing the IMAP Connection): Mention the other
4 authenticators.
5
12012-12-24 Lars Ingebrigtsen <larsi@gnus.org> 62012-12-24 Lars Ingebrigtsen <larsi@gnus.org>
2 7
3 * gnus.texi (Browse Foreign Server): Document 8 * gnus.texi (Browse Foreign Server): Document
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index a41a2023a45..2cb3514dc60 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -14208,7 +14208,11 @@ what you need.
14208 14208
14209@item nnimap-authenticator 14209@item nnimap-authenticator
14210Some @acronym{IMAP} servers allow anonymous logins. In that case, 14210Some @acronym{IMAP} servers allow anonymous logins. In that case,
14211this should be set to @code{anonymous}. 14211this should be set to @code{anonymous}. If this variable isn't set,
14212the normal login methods will be used. If you wish to specify a
14213specific login method to be used, you can set this variable to either
14214@code{login} (the traditional @acronym{IMAP} login method),
14215@code{plain} or @code{cram-md5}.
14212 14216
14213@item nnimap-expunge 14217@item nnimap-expunge
14214If non-@code{nil}, expunge articles after deleting them. This is always done 14218If non-@code{nil}, expunge articles after deleting them. This is always done
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 9f0e17924d4..a1a64cc80cb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,13 @@
12012-12-25 Lars Ingebrigtsen <larsi@gnus.org>
2
3 * nnimap.el (nnimap-authenticator): Expand to allow specifying the
4 login methods.
5 (nnimap-login): Respect the `nnimap-authenticator' variable.
6
7 * gnus-sum.el (gnus-summary-push-marks-to-backend): Push the complete
8 mark state when moving articles. Otherwise unticked articles will get
9 their ticks back after moving.
10
12012-12-24 Lars Ingebrigtsen <larsi@gnus.org> 112012-12-24 Lars Ingebrigtsen <larsi@gnus.org>
2 12
3 * gnus-srvr.el (gnus-browse-delete-group): Fix syntax error. 13 * gnus-srvr.el (gnus-browse-delete-group): Fix syntax error.
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index d8cdd16dedb..7c3bf9f02a8 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -10127,17 +10127,20 @@ ACTION can be either `move' (the default), `crosspost' or `copy'."
10127 10127
10128(defun gnus-summary-push-marks-to-backend (article) 10128(defun gnus-summary-push-marks-to-backend (article)
10129 (let ((set nil) 10129 (let ((set nil)
10130 (del nil)
10130 (marks gnus-article-mark-lists)) 10131 (marks gnus-article-mark-lists))
10131 (unless (memq article gnus-newsgroup-unreads) 10132 (unless (memq article gnus-newsgroup-unreads)
10132 (push 'read set)) 10133 (push 'read set))
10133 (while marks 10134 (while marks
10134 (when (and (eq (gnus-article-mark-to-type (cdar marks)) 'list) 10135 (if (and (eq (gnus-article-mark-to-type (cdar marks)) 'list)
10135 (memq article (symbol-value 10136 (memq article (symbol-value
10136 (intern (format "gnus-newsgroup-%s" 10137 (intern (format "gnus-newsgroup-%s"
10137 (caar marks)))))) 10138 (caar marks))))))
10138 (push (cdar marks) set)) 10139 (push (cdar marks) set)
10140 (push (cdar marks) del))
10139 (pop marks)) 10141 (pop marks))
10140 (gnus-request-set-mark gnus-newsgroup-name `(((,article) set ,set))))) 10142 (gnus-request-set-mark gnus-newsgroup-name `(((,article) set ,set)
10143 ((,article) del ,del)))))
10141 10144
10142(defun gnus-summary-copy-article (&optional n to-newsgroup select-method) 10145(defun gnus-summary-copy-article (&optional n to-newsgroup select-method)
10143 "Copy the current article to some other group. 10146 "Copy the current article to some other group.
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 5126c25f66b..bc0818efa7c 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -99,7 +99,8 @@ Uses the same syntax as `nnmail-split-methods'.")
99 99
100(defvoo nnimap-authenticator nil 100(defvoo nnimap-authenticator nil
101 "How nnimap authenticate itself to the server. 101 "How nnimap authenticate itself to the server.
102Possible choices are nil (use default methods) or `anonymous'.") 102Possible choices are nil (use default methods), `anonymous',
103`login', `plain' and `cram-md5'.")
103 104
104(defvoo nnimap-expunge t 105(defvoo nnimap-expunge t
105 "If non-nil, expunge articles after deleting them. 106 "If non-nil, expunge articles after deleting them.
@@ -487,9 +488,13 @@ textual parts.")
487 ;; round trips than CRAM-MD5, and it's less likely to be buggy), 488 ;; round trips than CRAM-MD5, and it's less likely to be buggy),
488 ;; and we're using an encrypted connection. 489 ;; and we're using an encrypted connection.
489 ((and (not (nnimap-capability "LOGINDISABLED")) 490 ((and (not (nnimap-capability "LOGINDISABLED"))
490 (eq (nnimap-stream-type nnimap-object) 'tls)) 491 (eq (nnimap-stream-type nnimap-object) 'tls)
492 (or (null nnimap-authenticator)
493 (eq nnimap-authenticator 'login)))
491 (nnimap-command "LOGIN %S %S" user password)) 494 (nnimap-command "LOGIN %S %S" user password))
492 ((nnimap-capability "AUTH=CRAM-MD5") 495 ((and (nnimap-capability "AUTH=CRAM-MD5")
496 (or (null nnimap-authenticator)
497 (eq nnimap-authenticator 'cram-md5)))
493 (erase-buffer) 498 (erase-buffer)
494 (let ((sequence (nnimap-send-command "AUTHENTICATE CRAM-MD5")) 499 (let ((sequence (nnimap-send-command "AUTHENTICATE CRAM-MD5"))
495 (challenge (nnimap-wait-for-line "^\\+\\(.*\\)\n"))) 500 (challenge (nnimap-wait-for-line "^\\+\\(.*\\)\n")))
@@ -502,9 +507,13 @@ textual parts.")
502 (base64-decode-string challenge)))) 507 (base64-decode-string challenge))))
503 "\r\n")) 508 "\r\n"))
504 (nnimap-wait-for-response sequence))) 509 (nnimap-wait-for-response sequence)))
505 ((not (nnimap-capability "LOGINDISABLED")) 510 ((and (not (nnimap-capability "LOGINDISABLED"))
511 (or (null nnimap-authenticator)
512 (eq nnimap-authenticator 'login)))
506 (nnimap-command "LOGIN %S %S" user password)) 513 (nnimap-command "LOGIN %S %S" user password))
507 ((nnimap-capability "AUTH=PLAIN") 514 ((and (nnimap-capability "AUTH=PLAIN")
515 (or (null nnimap-authenticator)
516 (eq nnimap-authenticator 'plain)))
508 (nnimap-command 517 (nnimap-command
509 "AUTHENTICATE PLAIN %s" 518 "AUTHENTICATE PLAIN %s"
510 (base64-encode-string 519 (base64-encode-string