From 1e3b60017a8b10630ae53cd2412f9a21c0d4d661 Mon Sep 17 00:00:00 2001 From: Gnus developers Date: Tue, 12 Apr 2011 22:18:02 +0000 Subject: Merge changes made in Gnus trunk. gnus.texi (Window Layout): @itemize @code doesn't exist. It's @table @code. gnus-registry.el (gnus-registry--split-fancy-with-parent-internal): Fix logic bug. (gnus-registry-post-process-groups): Fix logging of no results and quote sender and subject. network-stream.el (network-stream-open-starttls): Only do opportunistic STARTTLS upgrades if we have built-in gnutls support. Upgrades via gnutls-cli are too slow to be done opportunistically. gnus-start.el (gnus-get-unread-articles): Slight cleanup. (gnus-read-active-for-groups): Don't try to finish getting stuff where we had no early-data returned. (gnus-get-unread-articles): Add a sanity check so that we don't issue two async commands to the same server at the same time. gnus-sum.el (gnus-summary-select-article-buffer): Doc fix. gnus-registry.el (gnus-registry-remake-db): Put the warning on a "warning" level. --- lisp/ChangeLog | 6 +++++ lisp/gnus/ChangeLog | 22 +++++++++++++++++++ lisp/gnus/gnus-registry.el | 14 ++++++------ lisp/gnus/gnus-start.el | 55 +++++++++++++++++++++++++++------------------- lisp/gnus/gnus-sum.el | 2 +- lisp/net/network-stream.el | 6 +++-- 6 files changed, 73 insertions(+), 32 deletions(-) (limited to 'lisp') diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6f1979a5b5..b3482d4316 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-04-12 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): Only do + opportunistic STARTTLS upgrades if we have built-in gnutls support. + Upgrades via gnutls-cli are too slow to be done opportunistically. + 2011-04-12 Juanma Barranquero * dframe.el (dframe-current-frame): Remove spurious quote. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index fc45e85bbe..fdc50eab27 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,5 +1,27 @@ +2011-04-12 Teodor Zlatanov + + * gnus-registry.el (gnus-registry--split-fancy-with-parent-internal): + Fix logic bug. + (gnus-registry-post-process-groups): Fix logging of no results and + quote sender and subject. + +2011-04-12 Lars Magne Ingebrigtsen + + * gnus-start.el (gnus-get-unread-articles): Slight cleanup. + (gnus-read-active-for-groups): Don't try to finish getting stuff where + we had no early-data returned. + (gnus-get-unread-articles): Add a sanity check so that we don't issue + two async commands to the same server at the same time. + +2011-04-12 Stig Sandbeck Mathisen (tiny change) + + * gnus-sum.el (gnus-summary-select-article-buffer): Doc fix. + 2011-04-12 Lars Magne Ingebrigtsen + * gnus-registry.el (gnus-registry-remake-db): Put the warning on a + "warning" level. + * mm-url.el (mm-url-package-name): Removed to ease third-party reuse. (mm-url-insert-file-contents): Don't set the package names. diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 8847dacd77..680a3b294a 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -258,7 +258,7 @@ the Bit Bucket." This is not required after changing `gnus-registry-cache-file'." (interactive (list (y-or-n-p "Remake and CLEAR the Gnus registry? "))) (when forsure - (gnus-message 1 "Remaking the Gnus registry") + (gnus-message 4 "Remaking the Gnus registry") (setq gnus-registry-db (gnus-registry-make-db)))) (defun gnus-registry-read () @@ -428,9 +428,9 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details." (when (and (null found) (memq 'sender gnus-registry-track-extra) sender - (gnus-grep-in-list - sender - gnus-registry-unfollowed-addresses)) + (not (gnus-grep-in-list + sender + gnus-registry-unfollowed-addresses))) (let ((groups (apply 'append (mapcar @@ -564,12 +564,12 @@ possible. Uses `gnus-registry-split-strategy'." ((null out) (gnus-message 5 - "%s: no matches for %s %s." - log-agent out mode key) + "%s: no matches for %s '%s'." + log-agent mode key) nil) (t (gnus-message 5 - "%s: too many extra matches (%s) for %s %s. Returning none." + "%s: too many extra matches (%s) for %s '%s'. Returning none." log-agent out mode key) nil)))) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index d9d218c6cb..e3b0089cea 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -1699,33 +1699,43 @@ If SCAN, request a scan of that group as well." (gnus-read-active-file-1 method nil)))) ;; Start early async retrieval of data. - (dolist (elem type-cache) - (destructuring-bind (method method-type infos dummy) elem - (when (and method infos - (not (gnus-method-denied-p method))) - ;; If the open-server method doesn't exist, then the method - ;; itself doesn't exist, so we ignore it. - (if (not (ignore-errors (gnus-get-function method 'open-server))) - (setq type-cache (delq elem type-cache)) - (unless (gnus-server-opened method) - (gnus-open-server method)) - (when (and - (gnus-server-opened method) - (gnus-check-backend-function - 'retrieve-group-data-early (car method))) - (when (gnus-check-backend-function 'request-scan (car method)) - (gnus-request-scan nil method)) - ;; Store the token we get back from -early so that we - ;; can pass it to -finish later. - (setcar (nthcdr 3 elem) - (gnus-retrieve-group-data-early method infos))))))) + (let ((done-methods nil) + sanity-spec) + (dolist (elem type-cache) + (destructuring-bind (method method-type infos dummy) elem + (setq sanity-spec (list (car method) (cadr method))) + (when (and method infos + (not (gnus-method-denied-p method))) + ;; If the open-server method doesn't exist, then the method + ;; itself doesn't exist, so we ignore it. + (if (not (ignore-errors (gnus-get-function method 'open-server))) + (setq type-cache (delq elem type-cache)) + (unless (gnus-server-opened method) + (gnus-open-server method)) + (when (and + ;; This is a sanity check, so that we never + ;; attempt to start two async requests to the + ;; same server, because that will fail. This + ;; should never happen, since the methods should + ;; be unique at this point, but apparently it + ;; does happen in the wild with some setups. + (not (member sanity-spec done-methods)) + (gnus-server-opened method) + (gnus-check-backend-function + 'retrieve-group-data-early (car method))) + (push sanity-spec done-methods) + (when (gnus-check-backend-function 'request-scan (car method)) + (gnus-request-scan nil method)) + ;; Store the token we get back from -early so that we + ;; can pass it to -finish later. + (setcar (nthcdr 3 elem) + (gnus-retrieve-group-data-early method infos)))))))) ;; Do the rest of the retrieval. (dolist (elem type-cache) (destructuring-bind (method method-type infos early-data) elem (when (and method infos - (not (eq (gnus-server-status method) - 'denied))) + (not (gnus-method-denied-p method))) (let ((updatep (gnus-check-backend-function 'request-update-info (car method)))) ;; See if any of the groups from this method require updating. @@ -1763,6 +1773,7 @@ If SCAN, request a scan of that group as well." ;; Finish up getting the data from the methods that have -early ;; methods. ((and + early-data (gnus-check-backend-function 'finish-retrieve-group-infos (car method)) (or (not (gnus-agent-method-p method)) (gnus-online method))) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index e3ae1d7f52..d023bc5bb6 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -7035,7 +7035,7 @@ displayed, no centering will be performed." (defun gnus-summary-select-article-buffer () "Reconfigure windows to show the article buffer. -If `gnus-widen-article-buffer' is set, show only the article +If `gnus-widen-article-window' is set, show only the article buffer." (interactive) (if (not (gnus-buffer-live-p gnus-article-buffer)) diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index 070cd2641d..67bb7eae68 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el @@ -171,9 +171,11 @@ values: (resulting-type 'plain) starttls-command) - ;; If we have STARTTLS support, try to upgrade the connection. + ;; If we have built-in STARTTLS support, try to upgrade the + ;; connection. (when (and (or (fboundp 'open-gnutls-stream) - (executable-find "gnutls-cli")) + (and require-tls + (executable-find "gnutls-cli"))) capabilities success-string starttls-function (setq starttls-command (funcall starttls-function capabilities))) -- cgit v1.2.3