gnus-notifications: add

Signed-off-by: Julien Danjou <julien@danjou.info>
gnus-notifications: add indirections

So we don't fail on emacsen without notifications library.

Signed-off-by: Julien Danjou <julien@danjou.info>
Filter out negative article numbers during expiry

Fixes #11980

See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11980#8
Change gnus-set-difference from O(N^2) to O(N)

This makes warping into huge groups tolerable.
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.
gnus-try-warping-via-registry: [bugfix] don't act as though you've found the article when you haven't
Fix for macos keychain access
Revert "Add recent argument to nnimap-find-article-by-message-id"

This reverts commit ac8ce21091b89a7a05ad821854f4d3e7ff35a394.

Conflicts:

	lisp/ChangeLog
	lisp/nnimap.el
gnus-notifications: add defcustom for timeout

Signed-off-by: Julien Danjou <julien@danjou.info>
gnus-notifications: add actions support

Signed-off-by: Julien Danjou <julien@danjou.info>
qp.el (quoted-printable-decode-region): Decode multiple bytes at once
gnus-notifications.el (gnus-notifications-action): Avoid CL-ism
Add change log entries for Dave Abrahams' 2012-08-29 changes
Better seed support for (random)
Document result value of nnimap-change-group
Add recent argument to nnimap-find-article-by-message-id

Signed-off-by: Julien Danjou <julien@danjou.info>

Conflicts:

	lisp/ChangeLog
	lisp/nnimap.el
Account for the fact that nnimap-change-group can return t
Silence XEmacs compilation warnings.

* gnus-fun.el (gnus-funcall-no-warning): New function to silence
warnings on XEmacs.

* gnus-notifications.el (gnus-notifications-notify): Use it.
* dgnushack.el: XEmacs 21.5 compilation fix.
nnimap: revert synchronous listing of nnimap

Signed-off-by: Julien Danjou <julien@danjou.info>