message.el (message-point-in-header-p): Tweak the function to default to saying that we're not in the headers if there is no separator at all. This makes it possible to use the Message version of `M-q' in buffers with no headers (bug#7987).
(message-point-in-header-p): Fix last checkin to work with an empty mail-header-separator, too.
auth-source.el (auth-source-netrc-saver): If the user says "don't ask again, save the choice via customize.
message.el (message-send-mail-function): Add `sendmail-query-once'.
nnimap.el (nnimap-finish-retrieve-group-infos): If the server has ended the connection, bail out before waiting infinitely on a new connection.
gnus.texi (Summary Mail Commands): Document `gnus-summary-reply-to-list-with-original'.
auth-source.el (with-auth-source-epa-overrides): Fix compilation error with `find-file-hooks' on Emacs 22.
(with-auth-source-epa-overrides): Ugly hack to Wrap the `find-file-hook' things in `symbol-value' to avoid compilation warnings on all architectures.
spam.el (spam-stat): Require in a normal fashion without binding `spam-stat-install-hooks' to avoid compilation warnings.
spam-stat.el (spam-stat-install-hooks): Removed.
(spam-stat-install-hooks): Don't run automatically.
gnus-msg.el (gnus-summary-reply-to-list-with-original): New command and keystroke.
(auth-source-netrc-create): Use it. Still experimental code.
(with-auth-source-epa-overrides): Use `find-file-hooks' if `find-file-hook' is unbound (XEmacs fix). Fix backquoting bug.
auth-source.el (auth-source-save-secrets): New variable to control if secret tokens should be saved encrypted.
(auth-source-netrc-parse, auth-source-netrc-search): Pass the file name to `auth-source-netrc-normalize'.
(with-auth-source-epa-overrides): Add convenience macro. Don't depend on the EPA variables being defined.
(auth-source-epa-make-gpg-token): Convert text to a "gpg:" token.
(auth-source-netrc-normalize): Convert "gpg:" tokens back to text in the lexical-let closure.
(auth-source-netrc-create): Create "gpg:" tokens according to `auth-source-save-secrets'.
auth.texi (Help for developers): Update docs to explain that the :save-function will only run the first time.
auth-source.el (auth-source-format-prompt): Always convert the value to a string to avoid evaluating non-string arguments.
(auth-source-netrc-create): Offer default properly, not as initial content in `read-string'.
(auth-source-netrc-saver): Use a cache keyed by file name and MD5 hash of line to determine if we've been run before. If so, don't run again, but print a trivial message to indicate the cache was hit instead.
auth-source.el (auth-source-read-char-choice): New function to read a character choice using `dropdown-list', `read-char-choice', or `read-char'. It appends "[a/b/c] " to the prompt if the choices were '(?a ?b ?c). The `dropdown-list' support is disabled for now. Use `eval-when-compile' to load `dropdown-list'.
(auth-source-netrc-saver): Use it.
nnimap.el (nnimap-credentials): Keep the :save-function as the third parameter in the credentials.
(nnimap-open-connection-1): Use it after a successful login.
(nnimap-credentials): Add IMAP-specific user and password prompt.
auth-source.el (auth-source-search): Add :require parameter, taking a list. Document it and the :save-function return token. Pass :require down. Change the CREATED message from a warning to a debug statement.
(auth-source-search-backends): Pass :require down.
(auth-source-netrc-search): Pass :require down.
(auth-source-netrc-parse): Use :require, if it's given, as a filter. Change save prompt to indicate all modifications saved here are deletions.
(auth-source-netrc-create): Take user login name as default in user prompt. Move all the save functionality to a lexically bound function under the :save-function token in the returned list. Set up clearer default prompts for user, host, port, and secret.
(auth-source-netrc-saver): New function, intended to be wrapped for :save-function.
auth-source.el (auth-source-search): Cache empty result sets.
password-cache.el (password-in-cache-p): Convenience function to check if a key is in the cache, even if the value is nil.
auth-source.el (auth-source-save-behavior): New variable to replace `auth-source-never-create'.
(auth-source-netrc-create): Use it.
(auth-source-never-save): Remove.
nnimap.el (nnimap-stream): Doc fix.
(nnimap-open-connection-1): Reverse the order of the ports to that the prompted-for port is first.
gnus-start.el (gnus-get-unread-articles): Don't clobber the async retrieval by the no-group selection.
gnus-demon.el (gnus-demon-init): run-with-timer should be called with numerical parameters.
auth-source.el (auth-source-creation-prompts): New variable to manage creation-time prompts.
(auth-source-search): Document it.
(auth-source-format-prompt): Add utility function.
(auth-source-netrc-create): Don't default the user name to user-login-name. Use `auth-source-creation-prompts' and some default prompts for user, host, port, and password (the default generic prompt remains ugly).
(auth-source-never-save): Add customizable option to never save info.
(auth-source-netrc-create): Use it and improve save prompts. Fix help mode excursion.
gnus-art.el (article-make-date-line): Ignore errors if time is invalid and not convertible.
(article-make-date-line): Only add lapsed time if time is not nil.
auth-source.el (auth-source-netrc-element-or-first): New function to DTRT for parameter extraction.
(auth-source-netrc-create): Use it and fix multiple parameter print bug. Use the default passed from above (given-default) or the built-in (user-login-name for :user).
auth.texi (Help for users): Mention ~/.netrc is also searched by default now.
gnus-start.el (gnus-dribble-read-file): Set buffer-save-without-query, since we always want to save the dribble file, probably.
nnmail.el (nnmail-article-group): Allow a final "" split to work on nnimap.
gnus-sum.el (gnus-user-date-format-alist): Renamed back again from -summary- since it's a user-visible variable.
nnimap.el (nnimap-retrieve-group-data-early): Don't do QRESYNC the first time you use the new Gnus.
auth-source.el: Don't load netrc.el.
(auth-sources): Search ~/.netrc as well by default.
(auth-source-debug): Add 'trivia option for extra output.
(auth-source-do-trivia): Use it.
(auth-source-search): Simplify logic to use `auth-source-search-backends'. Use `auth-source-do-trivia' where appropriate. Don't keep a running count at this level. Layer :create and :delete options appropriately on the first and second passes. Don't track the backend with the search results.
(auth-source-search-backends): New function to search a list of backends for a processed spec.
(auth-source-netrc-parse): Cache all netrc files, making auth-source-netrc-cache an alist keyed by the file name and using the file mtime as the caching criterion. Keep the obfuscated data secret with a lexical bind.
(auth-source-netrc-search): Don't calculate the length of the results unnecessarily.
(auth-source-search-backends): Fix bug.
(auth-source-netrc-create): Rework prompts.
nnir.el (nnir-imap-search-arguments,nnir-imap-default-search-key): Lower case names of search constraints.
(nnir-run-query): Cache and reuse search constraints for all imap servers.
gnus-msg.el (gnus-setup-message): Define missing variable from last checkin.
gnus.texi (Article Date): Clarify gnus-article-update-date-headers.
gnus-msg.el (gnus-inews-add-send-actions): Restore the winconf name after exit.
gnus-sum.el (gnus-summary-show-article): When called with t as the value, show the raw article.
nnimap.el (nnimap-open-connection-1): Revert last change, since auth-source now accepts numbers.
auth-source.el (auth-source-netrc-parse): Accept a number as the port spec, too.
(auth-source-ensure-strings): New function.
gnus-art.el (gnus-article-update-date-headers): Doc fix.
(gnus-article-setup-buffer): Always restart the date timer so that user changes to the frequency is respected.
nnimap.el (nnimap-open-connection-1): auth-source expects strings as port numbers, so make sure it gets that if nnimap-server-port is explicit.
nnimap.el (nnimap-inbox): Doc fix.
gnus.texi (Window Layout): Document layout names.
nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
(nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer. This fixes an NNTP hang for some users.
netrc.el (netrc-parse): Comment fix.
gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer. This avoids putting the point in the group buffer if you `C-g' the command.
auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
nnfolder.el (copyright-update): Define for the compiler.
auth-source.el (auth-source-search): Fix unbound variable.
auth.texi (GnuPG and EasyPG Assistant Configuration): Mention the default now is to have two files in `auth-sources'.
nnimap.el (nnimap-open-connection-1): Delete duplicate server names when getting credentials.
gnus-util.el (gnus-delete-duplicates): New function.
nnimap.el (nnimap-credentials): Instead of picking the first port as a creation default, pass the whole port list down. It will be completed.
auth-source.el (auth-source-search): Updated docs to talk about multiple creation choices.
(auth-source-netrc-create): Accept a list as a value (from the search parameters) and do completion on that list. Keep a separate netrc line with the password obscured for showing the user.
nnimap.el (nnimap-open-connection-1): Make the `nnimap-address' the first choice to `auth-source-search' so it will be used for entry creation instead of the server's Gnus-specific name.
(nnimap-credentials): Rely on the auth-source library to select which port is actually wanted in the new netrc entry, so don't override `auth-source-creation-defaults'.
auth-source.el (auth-source-netrc-parse): Use :port instead of :protocol and accept a missing user, host, or port as a wildcard match.
(auth-source-netrc-search, auth-source-netrc-create)
(auth-source-secrets-search, auth-source-secrets-create)
(auth-source-user-or-password, auth-source-backend, auth-sources)
(auth-source-backend-parse-parameters, auth-source-search): Use :port instead of :protocol.
nnimap.el (nnimap-credentials): Pass a port default to `auth-source-search' in case an entry needs to be created.
(nnimap-open-connection-1): Use :port instead of :protocol.
gnus-sum.el (gnus-propagate-marks): Change default to t again, since nil means that nnimap doesn't get updated.
auth-source.el (auth-source-netrc-create): Return a synthetic search result when the user doesn't want to write to the file.
(auth-source-netrc-search): Expect a synthetic result and proceed accordingly.
(auth-source-cache-expiry): New variable to override `password-cache-expiry'.
(auth-source-remember): Use it.
nnimap.el (nnimap-credentials): Remove the `inhibit-create' parameter. Create entry if necessary by using :create t.
(nnimap-open-connection-1): Don't pass `inhibit-create'.
(auth-source-do-warn): New function to debug unconditionally.
(auth-source-do-debug): Use it.
(auth-source-backend-parse): Use it for invalid `auth-sources' entries and for Secrets API entries when the secrets.el library is not available.
auth.texi (Help for users): Login collection is "Login" and not "login".
gnus-sum.el (gnus-propagate-marks): Default to nil.
(gnus-summary-exit): Kill the correct article buffer on exit from a `C-d' group.
gnus-start.el (gnus-use-backend-marks): Removed, since it duplicates gnus-propagate-marks.
gnus-sum.el (gnus-summary-exit-no-update): Restore the group conf before killing the buffers so that a non-full window conf gets handled correctly.
(gnus-summary-exit): Ditto.
(gnus-summary-read-group-1): Ditto.
nntp.el (nntp-retrieve-group-data-early): Reinstate the two-part async code again so that we can debug it properly.
message.el (message-reply): Take an optional switch-buffer parameter so that Gnus window confs are respected better.
auth-source.el (auth-source-secrets-search): Use `delete-dups', `append mapcar', and `butlast' instead of `remove-duplicates', `mapcan', and `subseq'.
(auth-sources, auth-source-backend-parse, auth-source-secrets-search): Login collection is "Login" and not "login".
gnus-art.el (article-update-date-lapsed): Don't bug out when updating multiple headers.
(nnimap-log-command): Don't log login commands.
auth-source.el (auth-source-netrc-search): The asserts seem to want to have more parameters.
nnimap.el (nnimap-send-command): Mark the command time for each command, so that we don't get NOOPs stepping on our toes.
gnus-art.el (article-date-ut): Get the date from the Date header on `t'.
auth.texi (Overview, Help for users, Help for developers): Update docs.
(Help for users): Talk about spaces.
sieve-manage.el: Autoload `auth-source-search'.
(sieve-sasl-auth): Use it.
nnimap.el: Autoload `auth-source-forget+'.
(nnimap-open-connection-1): Use it if the connection fails.
auth-source.el: Require `password-cache'.
(auth-source-hide-passwords, auth-source-cache): Remove and mark obsolete.
(auth-source-magic): Marker for `password-cache' keys.
(auth-source-do-cache): Update docstring.
(auth-source-search): Use and check cache.
(auth-source-forget-all-cached, auth-source-remember)
(auth-source-recall, auth-source-forget, auth-source-forget+)
(auth-source-specmatchp): Caching support functions.
(auth-source-forget-user-or-password, auth-source-forget-all-cached): Remove and obsolete.
(auth-source-user-or-password): Remove caching to further discourage using it. Always hide passwords.
password-cache.el (password-cache-remove): Accept secrets that are not strings.
mail-source.el: Autoload `auth-source-search'.
(mail-source-keyword-map): Note order matters.
(mail-source-set-1): Get all the mail-source source values and defaults and search auth-source on those if needed. This can all probably be simplified.
nnimap.el: Autoload `auth-source-search'.
(nnimap-credentials): Use it.
(nnimap-open-connection-1): Ask for the virtual server and physical address in one shot.
nntp.el: Autoload `auth-source-search'.
(nntp-send-authinfo): Use it. Note TODO.
auth-source.el (auth-source-secrets-search, auth-source-user-or-password): Use `append' instead of `nconc'.
(auth-source-user-or-password): Build return list better and protect against nil :secret.
auth-source.el (top): Require 'eieio unconditionally. Autoload `secrets-get-attributes' instead of `secrets-get-attribute'.
(auth-source-secrets-search): Limit search when `max' is greater than number of results.
auth-source.el (auth-source-secrets-search): Add examples.
auth-source.el (auth-sources): Allow for simpler defaults for Secrets API with a string "secrets:collection-name" and with 'default.
(auth-source-backend-parse): Parse "secrets:collection-name" and 'default. Recurse on parses instead of repeating code. Use the Secrets API is the source is not nil and 'ignore otherwise. Emit a message when ignoring a source.
(auth-source-search): List ignored search keys at the top level.
(auth-source-netrc-create): Use `case' instead of `cond'.
(auth-source-secrets-search): Created with TODOs.
(auth-source-secrets-create): Created with TODOs.
(auth-source-retrieve, auth-source-create, auth-source-delete)
(auth-source-protocol-defaults, auth-source-user-or-password-imap)
(auth-source-user-or-password-pop3, auth-source-user-or-password-ssh)
(auth-source-user-or-password-sftp)
(auth-source-user-or-password-smtp): Removed.
(auth-source-user-or-password): Deprecated and modified to be a wrapper around `auth-source-search'. Not tested thoroughly.
auth-source.el: Bring in assoc and eioeio libraries.
(secrets-enabled): New variable to track the status of the Secrets API.
(auth-source-backend): New EIOEIO class to represent a backend.
(auth-source-creation-defaults): New variable to set prompt defaults during token creation (see the `auth-source-search' docstring for details).
(auth-sources): Simplify to allow a simple string as a netrc backend spec.
(auth-source-backend-parse): Parse a backend from an `auth-sources' spec.
(auth-source-backend-parse-parameters): Fill in the backend parameters.
(auth-source-search): Main auth-source API entry point.
(auth-source-delete): Wrapper around `auth-source-search' for deletion.
(auth-source-search-collection): Helper function for searching.
(auth-source-netrc-parse, auth-source-netrc-normalize)
(auth-source-netrc-search, auth-source-netrc-create): Netrc backend. Supports search, create, and delete.
(auth-source-secrets-search, auth-source-secrets-create): Secrets API backend stubs.
(auth-source-user-or-password): Call `auth-source-search' but it's not ready yet.
mm-view.el (mml-smime): Require.
mm-view.el (mm-view-pkcs7-decrypt): If mml-smime-use is set to 'epg, use EPG to decrypt S/MIME messages instead of openssl.
nnimap.el (nnimap-request-group): Avoid double SELECT on `M-g'.
gnus-group.el (gnus-group-kill-group): Don't try to update the group status is the group clearly is unreachable.
auth-source.el (auth-source-create): Add the optional second parameter to `local-variable-p' to be compatible with XEmacs.
nnml.el (nnml-request-article): Allow requesting by Message-ID to work when using a compressed nnml folder.
gnus-sum.el (gnus-select-newsgroup): Don't propagate marks to backends after sanitising on entry, because this never makes sense: If the articles have gone missing, then the data no longer exists on the backend, and if they haven't, then Gnus is wrong, and shouldn't overwrite anything anyway.
shr.el (shr-insert-document): Bind shr-width dynamically to window-width if it's nil.
shr.el (shr-width, shr-insert-document): Allow nil as shr-width value with the meaning of using the full emacs window width for rendering.
nnimap.el (nnimap-wait-for-response): Always look (at least) at the previous line.
nnimap.el (nnimap-quirk): New function.
(nnimap-retrieve-group-data-early): Use it.
(nnimap-quirks): New alist.
gnus.texi (Foreign Groups): Added clarification of foreign groups.
gnus-sum.el (gnus-summary-push-marks-to-backend): Fix the logic for copying read-ness to the backends.
gnus-group.el (gnus-group-kill-group): Notify the backend that the group has been killed.
(gnus-group-yank-group): Ditto.
gnus-start.el (gnus-subscribe-newsgroup): Notify the backend.
nnir.el: Improve customizations.
gnus.texi (Archived Messages): Removed outdated comment and text.
nnfolder.el (nnfolder-save-all-buffers): Refactor out into its own function.
(nnfolder-request-expire-articles): Save all the buffers after doing expiry.
nnmail.el (nnmail-expiry-target-group): Revert the "all articles are the last article", since that led to serious performance regressions when expiring nnml groups.
gnus-html.el (gnus-html-schedule-image-fetching): Make sure the HTML fetching stops when Gnus exits.
gnus-srvr.el: Avoid passing nil regexp argument to delete-matching-lines.
auth-source.el (auth-source-gpg-encrypt-to): New variable to set the list of recipient keys, or use symmetric encryption if not a list.
(auth-source-create): Use it to make `epa-file-encrypt-to' local for an EPA override, replacing the call to `netrc-store-data'.
nnimap.el (nnimap-wait-for-response): If the user hits `C-g', kill the process, too.
nnir.el (gnus-summary-nnir-goto-thread): Modify to work with imap.
nnimap.el (nnimap-update-info): If the server doesn't return any useful info, just use the previous info.
nnimap.el (nnimap-update-info): Prefer old info over start-article.
nnimap.el (nnimap-update-qresync-info): Finish implementing QRESYNC.
auth-source.el (auth-source-create): Use (user-login-name) for the user name default.
nnimap.el (nnimap-open-connection): Use gnutls STARTTLS, if available.
nnimap.el (nnimap-update-info): Rely more on the current active than the param active to avoid marking articles as read too much.
gnus-sum.el (gnus-summary-set-local-parameters): Ignore the `active' non-variable, too.
nnimap.el (nnimap-update-qresync-info): \Flagged messages are read for Gnus.
nnimap.el (nnimap-retrieve-group-data-early): utf7-encode the group parameters.
nnimap.el (nnimap-update-qresync-info): Mark \Seen articles as read.
gnus.el (gnus-group-fast-parameter): Return the last matching parameter instead of the first matching parameter.
auth-source.el (auth-source-user-or-password): Query for password, although there are no existing auth sources.
auth-source.el (auth-source-user-or-password): Use the existing auth sources, if any, for creation.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
`secrets-create-item', `secrets-delete-item'.
(auth-sources): Fix tag string.
(auth-get-source, auth-source-retrieve, auth-source-create)
(auth-source-delete): New defuns.
(auth-source-pick): Rewrite in order to avoid 2 passes.
(auth-source-forget-user-or-password): New parameter USERNAME.
(auth-source-user-or-password): New parameters CREATE-MISSING and
DELETE-EXISTING. Retrieve password interactively, if needed.
* auth-source.el (auth-sources): Change default to be simpler. Explain
about Secret Service API sources. Improve Customize options.
(auth-source-pick): Change to accept any number of search parameters.
Implement fallbacks iteratively, not recursively. Add scoring on the
second pass and sort by score. Call Secret Service API when needed.
(auth-source-user-or-password): Use it. Call Secret Service API
directly when needed to get the user name and the password.
=====================
2010-03-23 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (canlock-verify): Autoload it for Emacs 21.
* message.el (ecomplete-setup): Autoload it for Emacs <23.
* mml-sec.el (mml-secure-cache-passphrase): Default to t that is
password-cache's default if it is not bound.
(mml-secure-passphrase-cache-expiry): Default to 16 that is
password-cache-expiry's default if it is not bound.
* pop3.el (pop3-list): Don't use 3rd arg of `split-string' which is not
available in Emacs 21.
2010-03-23 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el (auth-sources): Fix up definition so extra parameters
are always inline.
2010-03-22 Martin Stjernholm <mast@lysator.liu.se>
* nnimap.el (nnimap-verify-uidvalidity): Fixed bug where uidvalidity
wasn't updated after mismatch. Clear cached mailbox info correctly
when uidvalidity changes.
(nnimap-group-prefixed-name): New function to avoid some code
duplication.
(nnimap-verify-uidvalidity, nnimap-group-overview-filename)
(nnimap-request-group): Use it.
(nnimap-retrieve-groups, nnimap-verify-uidvalidity)
(nnimap-update-unseen): Significantly improved speed of Gnus startup
with many imap folders. This is done by caching the group status from
the imap server persistently in a group parameter `imap-status'. (This
was cached before too if `nnimap-retrieve-groups-asynchronous' was set,
but not persistently, so every Gnus startup was still very slow.)
2010-03-20 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el: Set up autoloads. Bump to 23.2 because of the
secrets.el dependency.
(auth-sources): Add optional user name. Add secrets.el configuration
choice (unused right now).
2010-03-20 Teodor Zlatanov <tzz@lifelogs.com>
* gnus-sum.el (gnus-summary-make-menu-bar): Let
`gnus-registry-install-shortcuts' fill in the functions.
* gnus-registry.el (gnus-summary-misc-menu): Declare to avoid
warnings.
(gnus-registry-misc-menus): Variable to hold registry mark menus.
(gnus-registry-install-shortcuts): Populate and use it in a
`gnus-summary-menu-hook' lambda, under "Gnus"->"Registry Marks".
2010-03-20 Martin Stjernholm <mast@lysator.liu.se>
* nnimap.el (nnimap-decode-group-name, nnimap-encode-group-name):
In-place substitutions for the group name encoding/decoding.
(nnimap-find-minmax-uid, nnimap-possibly-change-group)
(nnimap-retrieve-headers-progress, nnimap-possibly-change-group)
(nnimap-retrieve-headers-progress, nnimap-request-article-part)
(nnimap-update-unseen, nnimap-request-list)
(nnimap-retrieve-groups, nnimap-request-update-info-internal)
(nnimap-request-set-mark, nnimap-split-to-groups)
(nnimap-split-articles, nnimap-request-newgroups)
(nnimap-request-create-group, nnimap-request-accept-article)
(nnimap-request-delete-group, nnimap-request-rename-group)
(nnimap-acl-get, nnimap-acl-edit): Use them. Replace `mbx' with
`encoded-mbx' for consistency.
(nnimap-close-group): Call `imap-current-mailbox' instead of using the
variable `imap-current-mailbox'.
* gnus-agent.el (gnus-agent-fetch-articles, gnus-agent-fetch-headers)
(gnus-agent-regenerate-group): Use `gnus-agent-decoded-group-name'.
2010-03-20 Bojan Petrovic <bpetrovi@f.bg.ac.rs>
* pop3.el (pop3-display-message-size-flag): Display message size byte
counts during POP3 download.
(pop3-movemail): Use it.
(pop3-list): Implement listing of available messages.
2010-03-20 Mark Triggs <mst@dishevelled.net> (tiny change)
* nnir.el (nnir-get-article-nov-override-function): New function to
override the normal NOV retrieval.
(nnir-retrieve-headers): Use it.