Commit graph

234 commits

Author SHA1 Message Date
Lars Magne Ingebrigtsen
656e1aab13 nnimap.el (nnimap-split-incoming-mail): If nnimap-split-fancy' is non-nil, and nnimap-split-methods' is nil, use the former. 2011-06-30 10:04:56 +00:00
Lars Magne Ingebrigtsen
d0b36cbeb1 nnimap.el (nnimap-process-expiry-targets): Say what target we're expiring articles to. 2011-06-30 04:07:50 +00:00
Lars Magne Ingebrigtsen
3451795ca1 Merge changes made in Gnus trunk.
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.
2011-06-30 01:02:47 +00:00
Lars Magne Ingebrigtsen
b534ed407e nnimap.el (nnimap-open-connection-1): Fix indentation. 2011-06-23 00:00:38 +00:00
Andrew Cohen
183a6951a6 nnimap.el (nnimap-find-article-by-message-id): return nil when no article found. 2011-06-21 22:13:24 +00:00
Lars Magne Ingebrigtsen
b5244046e1 Merge changes made in Gnus trunk.
gnus-group.el (gnus-group-mark-article-read): It's possible that we want to have `gnus-newsgroup-unselected' kept sorted.  If this isn't done, then unselected articles may be marked as read.
pop3.el (pop3-open-server): Erase the buffer after the greeting, since not doing this seems to lead to a race condition in pop3-logon.
nnvirtual.el (nnvirtual-request-article): Bind `gnus-command-method' so that the call chain it correct when we call "upwards".
gnus-sum.el (gnus-select-newsgroup): Auto-expiry doesn't make sense in read-only groups.
gnus-group.el (gnus-group-mark-article-read): Ditto.
message.el (message-cite-reply-position): Doc string fix.
nnimap.el (nnimap-transform-headers): Simplify regexp to hopefully avoid regexp overflow.
 (nnimap-transform-split-mail): Ditto.
pop3.el (pop3-retr): Error out if the server closes the connection.
2011-05-30 22:11:52 +00:00
Lars Magne Ingebrigtsen
9f5e78f7d5 nnheader.el (nnheader-insert-buffer-substring): Renamed from nntp- and moved from that file for reuse. 2011-05-02 03:37:06 +00:00
Gnus developers
b87f32fc00 Merge changes made in Gnus trunk.
pop3.el (pop3-open-server): Upgrade opportunistically to STARTTLS.
 (open-tls-stream): Remove superfluous tls/starttls autoloads.
gnus-sum.el (gnus-summary-next-article): Don't bug out if the summary buffer has moved to a different frame.
nnimap.el (nnimap-request-article): Use nntp-insert-buffer-substring to get the conversion from unibyte to multibyte buffers to work on Emacs 22.
nntp.el (nntp-request-article): Slight clean-up.
2011-05-01 23:30:18 +00:00
Teodor Zlatanov
5e68f8614f nnimap.el (nnimap-user): New backend variable.
(nnimap-open-connection-1): Use it.
 (nnimap-credentials): Accept user parameter so it's explicit what user name is desired.
2011-04-22 01:01:32 +00:00
Chong Yidong
da91b5f294 Merge open-protocol-stream into open-network-stream.
* lisp/subr.el (open-network-stream): Move to net/network-stream.el.

* lisp/gnus/proto-stream.el: Move to net/network-stream.el.

* lisp/net/network-stream.el: Move from gnus/proto-stream.el.
Change prefix to network-stream throughout.
(open-protocol-stream): Merge into open-network-stream, leaving
open-protocol-stream as an alias.  Handle nil BUFFER args.

* lisp/gnus/nnimap.el (nnimap-open-connection-1): Pass explicit :end-of-command
parameter to open-protocol-stream.

* lisp/emacs-lisp/package.el (package--with-work-buffer): Recognize
https URLs.

* lisp/url/url-gw.el (url-open-stream): Use new open-network-stream
functionality to perform encryption.
2011-04-02 19:41:03 -04:00
Gnus developers
a5954fa5c8 Merge Gnus' changes.
gnus.texi (Listing Groups): Document gnus-group-list-ticked.
gssapi.el (open-gssapi-stream): Remove the last mentions of the IMAP stuff.
gnus-score.el (gnus-score-string): Fix calling convention of `gnus-simplify-buffer-fuzzy' after last patches.
gnus-sum.el (gnus-update-marks): Don't send any marks updates to the server for articles we didn't get any headers for.  This is a sanity check.
nnimap.el (nnimap-open-connection-1): Is the login responds with a new CAPABILITY, use it.
gnus-agent.el (gnus-agent-fetch-headers): Don't message if we're not downloading anything.
gnus.el (gnus-splash-svg-color-symbols): Removed superfluous `and'.
gnus.el (gnus-group-startup-message): Prefer svg file and replace colors.
 (gnus-splash-svg-color-symbols): New function.
gnus-sum.el (gnus-simplify-buffer-fuzzy): Take the regexp explicitly instead of using the global gnus-simplify-subject-fuzzy-regexp.
 (gnus-simplify-subject-fuzzy): Use the local gnus-simplify-subject-fuzzy-regex instead of the global one.  This makes using this variable in group parameters work.
gnus-registry.el (gnus-registry-unfollowed-groups): Add "archive:sent" to the unfollowed group regex (for the recent Gnus archive:sent-YYYY-MM-DD groups).
 (gnus-registry-split-fancy-with-parent): Bail out early in sender tracking if there are more than `gnus-registry-max-track-groups' matches.
message.el (message--yank-original-internal): New function to do the insertion cleanly inside eval in `message-yank-original'.
 (message-yank-original): Use it.
2011-03-30 14:59:42 +00:00
Chong Yidong
e742e11707 Change default type of open-protocol-stream.
* nnimap.el (nnimap-stream, nnimap-open-connection-1): Accept `network'
value.

* nntp.el (nntp-open-connection-function): Document the fact that some
values are not functions but are instead handled specially.  Recognize
nntp-open-plain-stream value.
(nntp-open-connection): Recognize that value.

* proto-stream.el (open-protocol-stream): Bring back `network' type.
Make this the default type.
(proto-stream-open-plain): Rename from proto-stream-open-default.
(open-protocol-stream, proto-stream-open-starttls)
(proto-stream-open-tls, proto-stream-open-shell): Replace `default'
with `plain'.
2011-03-29 22:21:28 -04:00
Chong Yidong
f2eefd2477 Changes to open-protocol-stream, preparing for merging it with open-network-stream.
* lisp/gnus/proto-stream.el: Changes preparatory to merging open-protocol-stream
with open-network-stream.
(proto-stream-always-use-starttls): Option removed.
(open-protocol-stream): Return a process object by default.  Provide a
new parameter :return-list specifying a list-type return value, which
now has the form (PROP . PLIST) instead of a fixed-length list.  Change
:type `network' to `try-starttls', and `network-only' to `default'.
Make `default' the default, for compatibility with open-network-stream.
Handle the no-parameter case exactly as open-network-stream, with no
additional stream processing.  Search plists using plist-get.
Explicitly add :end-of-commend parameter if it is missing.
(proto-stream-open-default): Renamed from
proto-stream-open-network-only.  Return 'default as the type.
(proto-stream-open-starttls): Rename from proto-stream-open-network.
Use plist-get.  Don't return `tls' as the type if STARTTLS negotiation
failed.  Always return a list with a (possibly dead) process as the
first element, for compatibility with open-network-stream.
(proto-stream-open-tls): Use plist-get.  Always return a list.
(proto-stream-open-shell): Return `default' as connection type.
(proto-stream-capability-open): Use plist-get.
(proto-stream-eoc): Function deleted.

* lisp/gnus/nnimap.el (nnimap-stream, nnimap-open-connection)
(nnimap-open-connection-1): Handle renaming of :type parameter for
open-protocol-stream.
(nnimap-open-connection-1): Pass a :return-list parameter
open-protocol-stream to obtain a list return value.  Parse this list
using plist-get.

* lisp/gnus/nntp.el (nntp-open-connection): Handle renaming of :type parameter
for open-protocol-stream.  Accept open-protocol-stream return value
that is a subprocess object instead of a list.  Handle the case of a
dead returned process.
2011-03-26 19:18:42 -04:00
Gnus developers
1518e4f02d Merge changes made in Gnus trunk.
message.texi (Various Commands): Document format specs in the ellipsis.
time-date.el (format-seconds): Use assoc instead of assoc-string to avoid warning on XEmacs.
gnus-art.el: Require mouse, which the build bot seems to say is needed.
gravatar.el (gravatar-retrieve-synchronously): Use `url-retrieve' on XEmacs, since it doesn't have url-retrieve-synchronously.
time-date.el (format-seconds): Use assoc instead of assoc-string, since assoc-string doesn't exist in XEmacs.
gnus-group.el (gnus-group-list-ticked): New function.
 (gnus-group-make-menu-bar): Provide a menu entry for it.
 (gnus-group-list-map): Provide a binding for it.
shr.el (shr-visit-file): New command.
nnimap.el (nnimap-fetch-inbox): Rewrite slightly last patch.
nnimap.el (nnimap-fetch-inbox): Don't download bodies on ver4-capable servers.
2011-03-18 13:45:04 +00:00
Gnus developers
a123622dc4 Merge changes made in Gnus trunk.
message.texi (Insertion Variables): Document message-cite-style.
nnimap.el (nnimap-open-connection-1): Allow `network-only', too.
gssapi.el: New file separated out from imap.el to provide a general Kerberos 5 connection facility for Emacs.
message.el (message-elide-ellipsis): Document the format spec ellipsis.
message.el (message-elide-region): Allow the ellipsis to say how many lines were removed.
gnus-win.el (gnus-configure-frame): Protect against trying to restore window configurations containing buffers that are now dead.
nnimap.el (nnimap-parse-flags): Remove all MODSEQ entries before parsing to avoid integer overflows.
 (nnimap-parse-flags): Simplify the last change.
 (nnimap-parse-flags): Store HIGHESTMODSEQ as a string, since it may be too large for 32-bit Emacsen.
gnus-art.el (gnus-article-treat-body-boundary): Fix boundary width on XEmacs, which was one character too wide.
gnus-sum.el (gnus-articles-to-read): Use gnus-large-newsgroup as default number of articles to display.
 (gnus-articles-to-read): Use pretty names for prompt.
gnus-int.el (gnus-open-server): Ditto.
gnus-start.el (gnus-activate-group): Give a backtrace if debug-on-quit is set and the user hits `C-g'.
 (gnus-read-active-file): Ditto.
gnus-group.el (gnus-group-read-ephemeral-group): Ditto.
2011-03-15 22:38:41 +00:00
Teodor Zlatanov
733afdf4d9 Merge changes made in Gnus trunk.
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.
2011-03-09 13:39:35 +00:00
Gnus developers
a505754642 Merge changes made in Gnus trunk.
message.texi (Message Buffers): Update default value of message-generate-new-buffers.
shr.el (shr-table-horizontal-line): Change the defaults for the table lines to be spaces instead.
sieve-manage.el (sieve-sasl-auth): Create auth-info if not found.
 (sieve-sasl-auth): Check that auth-source-search did return something, or just return an empty string.
gnus-start.el (gnus-group-change-level): Allow putting foreign groups onto the list of killed groups, too.  This makes killed nnimap groups, for instance, more reliably not reappear.
nnimap.el (nnimap-request-thread): Don't bug out when we can't find the parent.
2011-03-08 14:26:05 +00:00
Gnus developers
71f8b7edc1 Merge changes made in Gnus trunk.
nnimap.el (nnimap-parse-flags): Add a workaround for FETCH lines with numbers too big to be `read'.
password-cache.el (password-in-cache-p): Add autoload.
message.el (message-options): Make buffer-local two ways to attempt to fix a XEmacs bug.
2011-03-03 13:21:50 +00:00
Gnus developers
003522ceb6 Merge changes made in Gnus trunk.
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.
2011-02-25 12:53:00 +00:00
Gnus developers
4a3988d518 Merge changes made in Gnus trunk.
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.
2011-02-23 13:35:35 +00:00
Gnus developers
8e22bee040 Merge changes made in Gnus trunk.
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.
2011-02-22 13:31:15 +00:00
Gnus developers
01baa1e6f2 nnimap.el (nnimap-wait-for-response): Ensure that we get the entire line we're waiting for.
gnus-art.el (gnus-article-next-page-1): Because customized mode-line face with line-width greater than zero will cause RET in gnus summary buffer to scroll down article page-wise because auto vscroll happens, it should be temporalily disabled when doing a scroll-up.
2011-02-20 04:08:04 +00:00
Gnus developers
56e96bed34 nnimap.el (nnimap-parse-copied-articles): Allow for "<foo> OK" outputs from the server.
gnus-art.el (gnus-article-prepare): Run gnus-article-prepare-hook later so that bbdb can hook in easier.
2011-02-19 09:45:07 +00:00
Lars Ingebrigtsen
c13bc26baa nnimap.el (nnimap-log-command): Add a newline to the inhibited logging.
(nnimap-credentials): Protect against auth-source-search returning nil.
 (nnimap-request-list): Protect against not being able to open the server.
2011-02-18 00:41:50 +00:00
Gnus developers
7ba93e9439 Merge chagnes made in Gnus trunk.
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'.
2011-02-17 23:46:18 +00:00
Teodor Zlatanov
35123c042e auth.texi (Help for users): Use :port instead of :protocol for all auth-source docs.
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.
2011-02-17 12:08:48 +00:00
Gnus developers
584c9d3fd0 Merge changes made in Gnus trunk.
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'.
2011-02-16 23:12:47 +00:00
Lars Ingebrigtsen
d5e9a4e9a7 nnimap.el (nnimap-inhibit-logging): New variable.
(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'.
2011-02-14 04:23:59 +00:00
Gnus developers
114fe5465b net/imap.el: Remove file. All the functionality is in nnimap.el.
nnimap.el (nnimap-request-accept-article, nnimap-process-quirk): Fix Gcc processing on imap.
2011-02-13 13:44:06 +00:00
Gnus developers
b8e0f0cd20 Merge changes made in Gnus trunk.
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.
2011-02-13 00:25:29 +00:00
Lars Ingebrigtsen
b52daf3d93 nnimap.el (nnimap-update-info): Simplify split history test. 2011-02-07 22:49:38 +00:00
Lars Ingebrigtsen
41d579ce4a nnimap.el (nnimap-update-info): Refactor slightly.
(nnimap-update-info): Tell Gnus whether there are any \Recent messages.
 (nnimap-update-info): Clean up slightly.
 (nnimap-quirk): Add quirk for Gmail IMAP which bugs out on NUL characters.
 (nnimap-process-quirk): Renamed function to avoid collision.
 (nnimap-update-info): Fix macrology bug-out.
2011-02-07 13:03:22 +00:00
Gnus developers
0d1c2cc8c8 Merge changes made in Gnus trunk.
gnus-util.el: change default value of gnus-user-date-format-alist.
gnus-art.el (gnus-article-jump-to-part): Remove useless sit-for.
gnus-art.el: remove old FIXME.
gnus.el (gnus-summary-line-format): Add missing semi-colon for user-date in docstring.
message.el (message-setup-1): Always generate References first.
 (message-mail): Return the return value of message-setup, not always t.
gnus-start.el (gnus-read-active-for-groups): This function is never called with a nil `infos', so clean that up.
 (gnus-get-unread-articles): Request active files from primary/secondary methods that have no groups (yet).
 (message-setup-1): Insert mail-header-separator with read-only and intangible properties set.
gnus-draft.el: Remove progn around gnus-draft-setup.
gnus-start.el (gnus-get-unread-articles): Fix the call to methods that have no groups.
nnimap.el (nnimap-request-accept-article): Give an error message if the APPEND wasn't successful.
2011-02-03 23:43:22 +00:00
Glenn Morris
5a6a61f77f Silence some compiler warnings.
* lisp/gnus/nnheader.el (gnus-range-add, gnus-remove-from-range): Autoload.

* lisp/gnus/nnimap.el (gnus-fetch-headers): Declare.
2011-02-02 23:25:14 -08:00
Lars Ingebrigtsen
0832490d44 nnimap.el (nnimap-wait-for-response): Wait for results in a more secure manner.
gnus-art.el (article-update-date-lapsed): Try to avoid having point move around by not using save-window-excursion.  It seems to work...
2011-01-31 04:41:38 +00:00
Lars Ingebrigtsen
228724bc63 nnimap.el (nnimap-request-head): Protect against not finding the article by Message-ID. 2011-01-30 01:46:32 +00:00
Gnus developers
008cad902f Merge changes made in Gnus trunk.
mm-view.el (mm-display-shell-script-inline): Fix typo in docstring.
 (mm-display-javascript-inline): New function.
mm-decode.el (mm-inline-media-tests): Add application/javascript viewing function.
nnimap.el (nnimap-open-connection-1): Store the actual stream type used.
 (nnimap-login): Prefer plain LOGIN if it's enabled (since it requires fewer round trips than CRAM-MD5, and it's less likely to be buggy), and we're using an encrypted connection.
proto-stream.el: Alter the interface functions to also return the actual stream type used: network or tls.
2011-01-25 23:51:40 +00:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Lars Magne Ingebrigtsen
c516cd6dc7 proto-stream.el (open-protocol-stream): Protect against the low-level transport functions returning nil.
gnus-sum.el (gnus-summary-next-article): Remove hack to reselect group window, because it does the wrong thing when a separate frame displays the group buffer.
gnus-int.el (gnus-request-accept-article): Don't try to update marks and stuff if the backend didn't return the article number.  This fixes an Exchange-related nnimap bug.
mm-decode.el (mm-preferred-alternative-precedence): Discourage showing empty parts.
nnimap.el (nnimap-convert-partial-article): Protect against zero-length body parts.
2011-01-11 23:32:50 +00:00
Lars Magne Ingebrigtsen
84d89edee6 nnimap.el (nnimap-login): Refactored out into own function, and implement CRAM-MD5.
(nnimap-wait-for-line): Refactored out.
shr.el (shr-rescale-image): Display all GIF images as animated images.
nnimap.el (nnimap-login): Prefer AUTH=CRAM-MD5, if it's available.  This avoids sending passwords in plain text over non-encrypted channels.
2011-01-02 23:17:32 +00:00
Gnus developers
bb7f5cbcda Merge changes made in Gnus trunk.
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.
2011-01-02 11:23:02 +00:00
Gnus developers
70041e9ae7 Merge changes made in Gnus trunk.
nnir.el (nnir-get-active): Ignore nnir-ignored-newsgroups if null.
gnus-sum.el (gnus-summary-refer-thread): Simplify code. Restore gnus-use-agent.
 (gnus-get-newsgroup-headers): Avoid unwanted spaces at eol.
gravatar.el (gravatar-retrieve-synchronously): New function.
 (gravatar-get-data): Make more robust.
gnus-util.el (gnus-rescale-image): Allow to resize images even if they are from file. Can also scale up.
nnimap.el (nnimap-retrieve-headers): Remove CRLF from the headers.
nnir.el (nnir-mode): Make sure 'gnus-registry-install is bound.
gnus-sum.el (gnus-get-newsgroup-headers): Revert the last change here, since it's up to the backends to do CRLF removal if their protocol has it.
gnus-group.el (gnus-group-delete-articles): New command.
2010-12-17 22:45:16 +00:00
Lars Magne Ingebrigtsen
59a7e27dd4 nnimap.el (nnimap-wait-for-response): Fix the end-point calculation to really consider the last line. 2010-12-16 23:18:57 +00:00
Gnus developers
549c9aed8d Merge changes made in Gnus trunk.
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'.
2010-12-16 22:22:28 +00:00
Gnus developers
156e3f9ca9 gnus-agent.el: Indent.
gnus.texi: Fix a couple nnir -> @code{nnir} things.
nnimap.el (nnimap-retrieve-group-data-early): Fix the syntax of the QRESYNC command by deleting a superfluous space which broke Cyrus servers.  This change will break other servers that are buggy the other way around.
gnus.texi (The hyrex Engine): Say that this engine as obsolete.
2010-12-15 22:24:36 +00:00
Lars Magne Ingebrigtsen
60568d7458 shr.el (shr-tag-table-1): Use bg/gfcolor specs on tables.
(shr-render-td): Handle td style="" better.
 (shr-tag-table): Use the color from the style sheet.
 (shr-render-td): Make sure we copy over all the overlays, too.
nnimap.el (nnimap-parse-flags): Tweak VANISHED regexp to avoid regexp overflow, possibly.
2010-12-07 22:12:50 +00:00
Gnus developers
b31b26b489 Merge changes made in Gnus trunk.
shr.el (shr-render-td): Render td content with shr-descend, so style will be applied to <td> too.
 (shr-colorize-region): Colorize region even if we only have a background.
 (shr-tag-body): Fix color and background color inheritance.
 (shr-tag-body): Do not recolorize after shr-generic.
 (shr-tag-font): Let shr-generic colorize via inheritance.
shr.el (shr-descend): Only colorise something if we have a node that sets colors.
gnus-int.el (gnus-request-thread): Rework to take a header instead of a Message-ID to avoid having nnimap depend on gnus-sum.
shr.el (shr-tag-font): Colorize the region.
 (shr-tag-body): Ditto.
 (shr-tag-font): Actually let the styles be inherited instead of overwriting them.
 (shr-tag-font): Get the background color right.
 (shr-tag-style): Ignore all <style> tags for the moment.
2010-12-06 22:16:10 +00:00
Gnus developers
04db63bc41 Merge changes made in Gnus trunk.
nnir.el (nnir-categorize): Replace mapcar with mapc.
shr.el (shr-urlify): Display the title in <a> tags.
shr.el (shr-urlify): Show the URL before the title to avoid misleading URLs.
gnus-sum.el (gnus-summary-show-article): Reverse the meanings of `C-u
C-u g' and `C-u g' so that `C-u g' does what it traditionally did.
gnus.texi (Paging the Article): Note the reverse meanings of `C-u C-u g'.
gnus-html.el (gnus-html-put-image): Use widget instead of local maps
so that TAB works.
nnir.el (nnir-run-gmane): Use more careful test for gmane nntp server.
nnimap.el (nnimap-process-expiry-targets): Avoid downloading articles
unless necessary.
gnus-util.el (gnus-output-to-mail): Require nnmail before using nnmail
variables.
shr.el (shr-stylesheet): New dynamic variable for cascading the styles.
 (shr-colorize-region): New function.
 (shr-insert-background-overlay): Remove.
 (shr-render-td): Background setting should be taken care of on a higher level.
 (shr-tag-body): Use post-hoc colorizations.
 (shr-descend): Only render color/background when they change.
 (shr-tag-body): Set up a style sheet based on bgcolor/fgcolor.
 (shr-put-color-1): Don't overwrite old colors.
 (shr-colorize-region): When the background color isn't explicit, use a fixed background.
gnus.el (gnus-valid-select-methods): Allow nnimap to respool.
nntp.el (nntp-snarf-error-message): nnheader-report takes a format string as the parameter.
gnus-sum.el (gnus-summary-respool-article): The completion function expects a list instead of an alist.
2010-12-05 22:17:34 +00:00
Gnus developers
ed79719399 Merge changes made in Gnus trunk.
nnir.el: Batch header retrieval.
proto-stream.el: New library to provide protocol-specific TLS/STARTTLS connections for IMAP, NNTP, SMTP, POP3 and similar protocols.
nnimap.el (nnimap-open-connection): Use it.
proto-stream.el (open-proto-stream): Complete the documentation.
nnimap.el (nnimap-open-connection): Check for "OK" from the greeting.
nntp.el: Use proto-streams for the relevant connections types.
nntp.el (nntp-open-connection): Switch on STARTTLS on supported servers.
proto-stream.el (open-proto-stream): Add a way to specify what the end of a command is.
proto-stream.el (proto-stream-open-tls): Delete output from openssl if we're using tls.el.
proto-stream.el (proto-stream-open-network): If we don't have gnutls-cli or gnutls built in, then don't try to establish a STARTTLS connection.
color.el (color-lab->srgb): Fix function call name.
proto-stream.el: Fix the syntax in the comment.
nntp.el (nntp-open-connection): Fix the STARTTLS command syntax.
proto-stream.el (proto-stream-open-starttls): Actually implement the starttls.el STARTTLS.
proto-stream.el (proto-stream-always-use-starttls): New variable.
proto-stream.el (proto-stream-open-starttls): De-duplicate the starttls code.
proto-stream.el (proto-stream-open-starttls): Folded back into the main function.
proto-stream.el (proto-stream-command): Refactor out.
nnimap.el (nnimap-stream): Change default to `undecided'.
nnimap.el (nnimap-open-connection): If `nnimap-stream' is `undecided', try ssl first, and then network.
nnimap.el (nnimap-open-connection-1): Respect nnimap-server-port.
nnimap.el (nnimap-open-connection): Be more backwards-compatible.
proto-stream.el (open-protocol-stream): Renamed from open-proto-stream.
proto-stream.el (proto-stream-open-network): When doing opportunistic TLS upgrades we don't really care about the identity of the peer.
gnus.texi (Customizing the IMAP Connection): Note the new defaults.
gnus.texi (Direct Functions): Note the STARTTLS upgrade.
proto-stream.el (proto-stream-open-network): Force starttls.el to use gnutls-cli, since that what we've checked for.
proto-stream.el (proto-stream-always-use-starttls): Only default to t if open-gnutls-stream exists.
proto-stream.el (proto-stream-open-network): If STARTTLS failed, then just open a normal connection.
proto-stream.el (proto-stream-open-network): Wait until the greeting before doing STARTTLS.
nnimap.el (nnimap-open-connection-1): Always upgrade to STARTTLS (for backwards compatibility).
nnimap.el (nnimap-open-connection-1): Really respect nnimap-server-port.
nntp.el (nntp-open-connection): Provide a :success condition.
nnimap.el (nnimap-open-connection-1): Ditto.
proto-stream.el (proto-stream-open-network): See what the response to the STARTTLS command is.
proto-stream.el (proto-stream-open-network): Add some comments.
proto-stream.el: Fix example.
proto-stream.el (open-protocol-stream): Actually mention the STARTTLS upgrade.
nnir.el (nnir-get-active): Skip nnir-ignored-newsgroups when searching.
nnir.el (nnir-ignore-newsgroups): Fix default value.
nnir.el (nnir-run-gmane): Use mm-delete-duplicates instead of delete-dups that is not available in XEmacs 21.4.
mm-util.el (mm-delete-duplicates): Add comment.
gnus-sum.el (gnus-summary-delete-article): If delete fails don't change the registry.
nnimap.el (nnimap-open-connection-1): w32 open-network-stream doesn't seem to accept strings-with-numbers as port numbers.
color.el: fix docstring to use English rather than math notation for intervals.
shr.el (shr-find-fill-point): Don't break before apostrophes.
nnir.el (nnir-request-move-article): Bail out if no move support in group.
color.el (color-rgb->hsv): Fix docstring.
nnir.el (nnir-get-active): Improve active list retrieval.
shr.el (shr-find-fill-point): Work better for kinsoku chars and apostrophes.
gnus-gravatar.el (gnus-gravatar-size): Set gnus-gravatar-size to nil.
nnimap.el (nnimap-open-connection-1): Use gnus-string-match-p.
nnimap.el (nnimap-open-connection-1): Fix PREAUTH.
proto-stream.el (open-protocol-stream): All starttls connections are handled by the network handler.
gnus-gravatar.el (gnus-gravatar-insert): Delete unnecessary binding to t of inhibit-read-only since it is inside gnus-with-article-headers.
gnus-gravatar.el (gnus-gravatar-transform-address): Use mail-extract-address-components that supports non-ASCII names rather than mail-header-parse-addresses.
shr.el (shr-find-fill-point): Don't break line between kinsoku-bol characters.
gnus-gravatar.el (gnus-gravatar-insert): Allow LWSP in the middle of names.
nnmaildir.el (nnmaildir-request-set-mark): Add article to add-mark funcall.
gnus-msg.el: Remove nastygram thing.
message.el (message-from-style): Fix comment.
message.el (message-user-organization): Do not use gnus-local-organization.
gnus.el: Remove gnus-local-organization.
rtree.el: New file to handle range trees.
nnir.el, gnus-sum.el: Redo the way nnir handles registry updates.
rtree.el (rtree-extract): Simplify.
gnus-win.el (gnus-configure-windows): Remove Gnus 3.x setting support.
gnus-msg.el: Mark gnus-outgoing-message-group as obsolete.
gnus.texi (Archived Messages): Remove gnus-outgoing-message-group.
gnus-win.el (gnus-configure-frame): Remove old compatibility code.
rtree.el (rtree-memq): Rewrite it as a non-recursive function.
rtree.el (rtree-add, rtree-delq, rtree-length): Implement.
rtree.el (rtree-add): Make code slightly faster.
nnir.el: Allow modified summary-line-format in nnir summary buffers.
2010-12-02 22:21:31 +00:00
Gnus developers
36af6c6577 nnimap.el (nnimap-request-set-mark): Remove left over.
nnimap.el (nnimap-get-groups): Allow non-quoted strings as mailbox names.
2010-11-26 11:03:16 +00:00