[gnus git] branch master updated: m0-5-97-gafdb0e3 =6= Revert "Add recent argument to nnimap-find-article-by-message-id" ; Fix for macos keychain access ; gnus-try-warping-via-registry: [bugfix] don't act as though you've found the article when you haven't ; gnus-request-head: when gnus-override-method is set, allow the backend `request-head' function to determine the group name on its own. ; Change gnus-set-difference from O(N^2) to O(N) ; Filter out negative article numbers during expiry
Dave Abrahams <[email protected]>
| Newsgroups | gmane.emacs.gnus.cvs |
|---|---|
| Message-ID | <[email protected]> |
via afdb0e3005c7bc272b37602693eb24169fe9c0de (commit)
via 554cd2fa886deedd7b3183ce55fc79c89e92eb64 (commit)
via fcd4880bf7576ea1e4af89dfeb547dd33109a592 (commit)
via 8ba1cd0b96466a96265ec5336728519aa6030d83 (commit)
via 442d3ba4bab415f7bf04d2a3b80831fd4e172b32 (commit)
via b383c19ff1f59969241255d3433f56b38ce61933 (commit)
from a3e8da79ece592d0db266903049b80c966c00cf8 (commit)
- Log -----------------------------------------------------------------
commit afdb0e3005c7bc272b37602693eb24169fe9c0de
Author: Dave Abrahams <[email protected]>
Date: Tue Aug 28 12:34:49 2012 -0700
Revert "Add recent argument to nnimap-find-article-by-message-id"
This reverts commit ac8ce21091b89a7a05ad821854f4d3e7ff35a394.
Conflicts:
lisp/ChangeLog
lisp/nnimap.el
diff --git a/lisp/nnimap.el b/lisp/nnimap.el
index b544ae8..970e6b4 100644
--- a/lisp/nnimap.el
+++ b/lisp/nnimap.el
@@ -980,31 +980,21 @@ textual parts.")
(cdr (assoc "SEARCH" (cdr result))))))))))
-(defun nnimap-find-article-by-message-id (group server message-id &optional limit)
- "Search for message with MESSAGE-ID in GROUP from SERVER.
-If LIMIT, first try to limit the search to the N last articles."
+(defun nnimap-find-article-by-message-id (group server message-id)
+ "Search for message with MESSAGE-ID in GROUP from SERVER."
(with-current-buffer (nnimap-buffer)
(erase-buffer)
- (let* ((number-of-article
- (catch 'found
- (dolist (result (cdr (nnimap-change-group group server nil t)))
- (when (equal "EXISTS" (cadr result))
- (throw 'found (car result))))))
- (sequence
- (nnimap-send-command "UID SEARCH%s HEADER Message-Id %S"
- (if (and limit number-of-article)
- ;; The -1 is because IMAP message
- ;; numbers are one-based rather than
- ;; zero-based.
- (format " %s:*" (- (string-to-number number-of-article) limit -1))
- "")
- message-id)))
- (when (nnimap-wait-for-response sequence)
- (let ((article (car (last (cdr (assoc "SEARCH" (nnimap-parse-response)))))))
- (if article
- (string-to-number article)
- (when (and limit number-of-article)
- (nnimap-find-article-by-message-id group server message-id))))))))
+ (nnimap-change-group group server nil t)
+ (let ((sequence
+ (nnimap-send-command "UID SEARCH HEADER Message-Id %S" message-id))
+ article result)
+ (setq result (nnimap-wait-for-response sequence))
+ (when (and result
+ (car (setq result (nnimap-parse-response))))
+ ;; Select the last instance of the message in the group.
+ (and (setq article
+ (car (last (cdr (assoc "SEARCH" (cdr result))))))
+ (string-to-number article))))))
(defun nnimap-delete-article (articles)
(with-current-buffer (nnimap-buffer)
commit 554cd2fa886deedd7b3183ce55fc79c89e92eb64
Author: Dave Abrahams <[email protected]>
Date: Thu Aug 23 11:07:50 2012 -0700
Fix for macos keychain access
diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index 46fba78..ba02d2e 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -266,10 +266,10 @@ can get pretty complex."
(const :tag "Temp Secrets API Collection" "secrets:session")
(const :tag "Default internet Mac OS Keychain"
- 'macos-keychain-internet)
+ macos-keychain-internet)
(const :tag "Default generic Mac OS Keychain"
- 'macos-keychain-generic)
+ macos-keychain-generic)
(list :tag "Source definition"
(const :format "" :value :source)
commit fcd4880bf7576ea1e4af89dfeb547dd33109a592
Author: Dave Abrahams <[email protected]>
Date: Sun Aug 19 22:44:57 2012 -0400
gnus-try-warping-via-registry: [bugfix] don't act as though you've found the article when you haven't
diff --git a/lisp/gnus-registry.el b/lisp/gnus-registry.el
index 8aecc98..71e0096 100644
--- a/lisp/gnus-registry.el
+++ b/lisp/gnus-registry.el
@@ -1169,9 +1169,10 @@ data stored in the registry."
;; Try to activate the group. If that fails, just move
;; along. We may have more groups to work with
+ (when
(ignore-errors
- (gnus-select-group-with-message-id group message-id))
- (throw 'found t)))))))
+ (gnus-select-group-with-message-id group message-id) t)
+ (throw 'found t))))))))
;; TODO: a few things
commit 8ba1cd0b96466a96265ec5336728519aa6030d83
Author: Dave Abrahams <[email protected]>
Date: Sun Aug 19 22:17:33 2012 -0400
gnus-request-head: when gnus-override-method is set, allow the backend
`request-head' function to determine the group name on its own.
Without this fix you can end up with some bogus group name that has
nothing to do with the select method actually used.
diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el
index 3aee7c6..bc3ba18 100644
--- a/lisp/gnus-int.el
+++ b/lisp/gnus-int.el
@@ -599,7 +599,8 @@ real group. Does nothing on a real group."
clean-up t))
;; Use `head' function.
((fboundp head)
- (setq res (funcall head article (gnus-group-real-name group)
+ (setq res (funcall head article
+ (and (not gnus-override-method) (gnus-group-real-name group))
(nth 1 gnus-command-method))))
;; Use `article' function.
(t
commit 442d3ba4bab415f7bf04d2a3b80831fd4e172b32
Author: Dave Abrahams <[email protected]>
Date: Fri Jul 20 21:15:53 2012 -0400
Change gnus-set-difference from O(N^2) to O(N)
This makes warping into huge groups tolerable.
diff --git a/lisp/gnus-range.el b/lisp/gnus-range.el
index 68729da..091276e 100644
--- a/lisp/gnus-range.el
+++ b/lisp/gnus-range.el
@@ -52,11 +52,13 @@ If RANGE is a single range, return (RANGE). Otherwise, return RANGE."
(defun gnus-set-difference (list1 list2)
"Return a list of elements of LIST1 that do not appear in LIST2."
- (let ((list1 (copy-sequence list1)))
- (while list2
- (setq list1 (delq (car list2) list1))
- (setq list2 (cdr list2)))
- list1))
+ (let ((hash2 (make-hash-table :test 'eq))
+ (result nil))
+ (dolist (elt list2) (puthash elt t hash2))
+ (dolist (elt list1)
+ (unless (gethash elt hash2)
+ (setq result (cons elt result))))
+ (nreverse result)))
(defun gnus-range-nconcat (&rest ranges)
"Return a range comprising all the RANGES, which are pre-sorted.
commit b383c19ff1f59969241255d3433f56b38ce61933
Author: Dave Abrahams <[email protected]>
Date: Fri Jul 20 21:08:53 2012 -0400
Filter out negative article numbers during expiry
Fixes #11980
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11980#8
diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el
index 339e3d9..3aee7c6 100644
--- a/lisp/gnus-int.el
+++ b/lisp/gnus-int.el
@@ -706,6 +706,10 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
(defun gnus-request-expire-articles (articles group &optional force)
(let* ((gnus-command-method (gnus-find-method-for-group group))
+ ;; Filter out any negative article numbers; they can't be
+ ;; expired here.
+ (articles
+ (delq nil (mapcar (lambda (n) (and (>= n 0) n)) articles)))
(gnus-inhibit-demon t)
(not-deleted
(funcall
-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.
Summary of changes:
lisp/auth-source.el | 4 ++--
lisp/gnus-int.el | 7 ++++++-
lisp/gnus-range.el | 12 +++++++-----
lisp/gnus-registry.el | 7 ++++---
lisp/nnimap.el | 36 +++++++++++++-----------------------
5 files changed, 32 insertions(+), 34 deletions(-)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".
The branch, master has been updated
hooks/post-receive
--
Gnus Project