2011-02-04 Lars Ingebrigtsen * message.el (message-setup-1): Don't bind the constant -forbidden-properties. 2011-02-03 Lars Ingebrigtsen * nnimap.el (nnimap-request-accept-article): Give an error message if the APPEND wasn't successful. 2011-02-03 Adam Sjøgren * gnus-start.el (gnus-get-unread-articles): Fix the call to methods that have no groups. 2011-02-03 Julien Danjou * gnus-draft.el: Remove progn around gnus-draft-setup. 2011-02-03 Lars Ingebrigtsen * 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). 2011-02-03 Julien Danjou * message.el (message-setup-1): Always generate References first. (message-mail): Return the return value of message-setup, not always t. (message-setup-1): Insert mail-header-separator with read-only and intangible properties set. * gnus.el (gnus-summary-line-format): Add missing semi-colon for user-date in docstring. * gnus-art.el (gnus-article-jump-to-part): Remove useless sit-for. * gnus.el (gnus-summary-line-format): Mention &user-date format in docstring. * gnus.el (gnus-user-date-format-alist): Change default value. Use defcustom, with type and group. Move from gnus-util.el. Rename to gnus-summary-user-date-format-alist. 2011-02-03 Glenn Morris * nnimap.el (gnus-fetch-headers): Declare. * nnheader.el (gnus-range-add, gnus-remove-from-range): Autoload. 2011-02-03 Lars Ingebrigtsen * message.el (message-forward-make-body-digest-plain) (message-followup, message-reply): Clean up things noted by Stefan. * gnus-art.el (gnus-article-setup-buffer): Stop the date timer if gnus-article-update-date-headers is nil. (gnus-article-date-headers): Rip out the old -treat-date-* stuff, since it didn't really work with defcustom. (article-update-date-lapsed): Make sure the window start doesn't move, either. 2011-02-01 Julien Danjou * mm-uu.el (mm-uu-type-alist): Add support for git format-patch diff format. * mm-decode.el (mm-inline-media-tests): Do not check for diff-mode it's standard in Emacs nowadays. * color.el (color-gradient): Add a color-gradient function. 2011-02-01 Stefan Monnier * message.el (message-expand-name): Don't trust the return value of bbdb-complete-name. (message-check-news-header-syntax): Remove unused var `start'. (message-idna-to-ascii-rhs-1): Remove unused vars `rhs' and `address'. (message-inhibit-body-encoding): Move to before first use. (mail-abbrev-mode-regexp, Expires, User-Agent, Lines, Distribution) (To, References, In-Reply-To, Newsgroups, Subject, Path, From) (Organization, Message-ID, Date, mh-previous-window-config): Defvar the vars using dynamic scoping. 2011-02-01 Lars Ingebrigtsen * shr.el (shr-render-td): Only do colours at the final rendering. Should be slightly faster. (shr-insert-table): Fix up TD background colours when doing the vertical padding. * gnus-art.el (article-date-ut): Protect against articles with no Date header. (article-update-date-lapsed): Don't use current-column to find the horizontal position. It's fragile in the presence of \003 characters. * gnus-start.el (gnus-read-active-file-1): Remove dead parameter infos. 2011-01-31 Lars Ingebrigtsen * gnus-art.el (article-transform-date): Rewrite to still work when there are several rfc2822 parts. (article-transform-date): Fix infinite recursion. (article-date-ut): Replace infinitely many Date headers with a single one when called interactively. * 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 Katsumi Yamaoka * gnus-art.el (article-make-date-line): Work for user-defined format. 2011-01-31 Lars Ingebrigtsen * nntp.el (nntp-retrieve-group-data-early) (nntp-finish-retrieve-group-infos): Implement the asynchronous data fetching functions. * gnus-start.el (gnus-read-active-for-groups): Read the active files thoroughly for all backends that have no known groups. This should allow new nnml methods to retrieve mail. * gnus-group.el (gnus-group-jump-to-group): Allow jumping to groups that Gnus doesn't know exists again. * gnus-art.el (gnus-article-date-lapsed-new-header): Removed. (gnus-treat-date-ut): Ditto. (gnus-article-update-date-header): Renamed. (gnus-treat-date-local): Removed. (gnus-treat-date-english): Removed. (gnus-treat-date-lapsed): Removed. (gnus-treat-date-combined-lapsed): Removed. (gnus-treat-date-original): Removed. (gnus-treat-date-iso8601): Removed. (gnus-treat-date-user-defined): Removed. (gnus-article-date-headers): New variable to control all the date header options. (article-date-ut): Rewrite to allow using the new way to format date headers(s). 2011-01-30 Lars Ingebrigtsen * nnmail.el (nnmail-article-group): Check for a direct fancy split method. (nnmail-article-group): A better test for fanciness. * nnimap.el (nnimap-request-head): Protect against not finding the article by Message-ID. 2011-01-29 Lars Ingebrigtsen * gnus-art.el (article-update-date-lapsed): Try a better way to really keep point at the "same place". 2011-01-28 Lars Ingebrigtsen * gnus-sum.el (gnus-select-newsgroup): Don't try to alter the active data if the group is unactivated. 2011-01-28 Julien Danjou * gnus-win.el: Remove dead function gnus-window-configuration-element. (gnus-all-windows-visible-p): Remove old compatibility code. (gnus-window-top-edge): Add docstring. * gnus-group.el (gnus-group-jump-to-group): Set must match to t. 2011-01-28 Lars Ingebrigtsen * gnus-int.el (gnus-request-marks): Call *-request-marks instead of the older request-update-info. * gnus-art.el (article-make-date-line): Limit the length a bit more. 2011-01-28 Daiki Ueno * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher precedence over mml2015-sign-with-sender. 2011-01-27 Lars Ingebrigtsen * gnus-group.el (gnus-group-refresh-group): Refresh even non-visible groups. This makes the nndraft:queue group pop up if it's not already there. * gnus-sum.el (gnus-summary-read-group-1): Fix the "contains no messages" logic, which was reversed. * gnus-art.el (article-update-date-lapsed): Ensure that point stays at the "same place" even if point is on the line being replaced. (article-update-date-lapsed): Allow updating both the combined lapsed and the lapsed headers. (article-update-date-lapsed): Skip past all the X-Sent/Date headers. (article-make-date-line): Limit the number of segments dynamically to avoid too-long lines. 2011-01-27 Julien Danjou * mml2015.el (mml2015-epg-sign): Add and use mml2015-sign-with-sender. (mml2015-epg-encrypt): Use mml2015-sign-with-sender. 2011-01-27 Katsumi Yamaoka * shr.el (shr-expand-newlines, shr-previous-newline-padding-width): Use plist-get instead of the cl function getf. 2011-01-27 Glenn Morris * gnus-util.el (float-time): Get rid of compiler warning, again. 2011-01-27 Lars Ingebrigtsen * shr.el (shr-put-color): Special-case background colours: Do put them at the blank parts at the front of the lines. * gnus-draft.el (gnus-draft-clear-marks): New function to be run as an exit hook to nix out all data on readedness on group exit. * gnus-util.el (float-time): If float-time is bound, always use it on all Emacsen. It's unclear why the subrp check was there. (time-date): Require to make some autoload issues on XEmacs go away. * shr.el (shr-put-color): Don't do the box padding in tables, since they're already padded. 2011-01-26 Lars Ingebrigtsen * gnus-art.el (gnus-article-next-page): When the last line of the article is displayed, scroll down once more instead of going to the next article at once. (article-lapsed-string): Refactor out and allow specifying how many segments you want. (gnus-article-setup-buffer): Start updating the lapsed header directly. (gnus-article-update-lapsed-header): New variable. * shr.el: Revert change that made headings use different-sized faces. The Emacs display engine isn't advanced enough that, for instance, tables can comfortably use differntly-sized faces. 2011-01-25 Lars Ingebrigtsen * 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 Julien Danjou * 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. 2011-01-25 Katsumi Yamaoka * shr.el (shr-expand-newlines): Fix variable name. 2011-01-25 Lars Ingebrigtsen * shr.el (shr-expand-newlines): Make nested boxes work. 2011-01-24 Lars Ingebrigtsen * shr.el (shr-expand-newlines): Proof of concept implemantation of boxy backgrounds. (shr-expand-newlines): Switch to using overlays to enable kill'n'yank in a more sensible manner. 2011-01-24 Teodor Zlatanov * mml-smime.el (mml-smime-use): Make it a defcustom and default to 'epg if EPG is loaded. 2011-01-24 Julien Danjou * shr.el: Use defface to create shr-tag-h[1-6] faces to fontify h[1-6] tags. 2011-01-24 Lars Ingebrigtsen * gnus-art.el (gnus-article-read-summary-keys): Don't call disabled commands. * gnus-gravatar.el (gnus-gravatar-insert): Don't move point around in the article buffer. (gnus-gravatar-insert): Use blank space from the current buffer to avoid breaking text properties. This makes X-Sent updating work again. * gravatar.el (gravatar-retrieve): Be silent when retrieving. 2011-01-23 Lars Ingebrigtsen * gnus-html.el (gnus-html-image-fetched): Kill the buffer anyway, and fix the bug in url-http.el instead. * shr.el (shr-image-fetched): Ditto. * shr.el (shr-image-fetched): Avoid having point move in the article buffer. * gnus-html.el (gnus-html-image-fetched): Don't kill the temporary buffer after being called. It's apparently being killed by url.el, and killing it made point move to end-of-buffer in a random buffer. * shr.el (shr-image-fetched): Ditto. 2011-01-23 Julien Danjou * mm-decode.el (mm-inline-media-tests): Change text/org to text/x-org. * mm-uu.el (mm-uu-org-src-code-block-extract): Change text/org to text/x-org. 2011-01-22 Lars Ingebrigtsen * gnus-sum.el (gnus-summary-move-article): Protect against backends (i.e., nnimap) returning nil as the article number. 2011-01-22 Kazuhiro Ito (tiny change) * flow-fill.el (fill-flowed): Make `delete-space' option correspond to "DelSp" parameter in RFC3676. 2011-01-22 Lars Ingebrigtsen * message.el (message-check-recipients): Display the encoded version of the bogus address if they differ. * gnus-draft.el (gnus-group-send-queue): Really refresh the queue group after sending. * gnus-agent.el (gnus-agent-send-mail): Ditto. * gnus-group.el (gnus-group-refresh-group): New convenience function. * gnus-draft.el (gnus-group-send-queue): Update the queue group in the group buffer after sending the queue. * gnus-agent.el (gnus-agent-send-mail): Ditto. 2011-01-22 Julien Danjou * mailcap.el (mailcap-mime-extensions): Rename text/org to text/x-org. 2011-01-22 Lars Ingebrigtsen * mm-decode.el (mm-preferred-alternative-precedence): Don't bug out on nested related parts. * nnfolder.el (nnfolder-request-expire-articles): Return the list of unexpired articles. This fixes the regression that led expiry marks to disappear from nnfolder groups. 2011-01-21 Stefan Monnier * gnus-art.el (gnus-button-alist, gnus-button-handle-info-keystrokes): Don't confuse the "ret" of "retrograde" with RET. 2011-01-21 Julien Danjou * gnus-art.el (gnus-mime-display-single): Use mm-display-inline rather than mm-insert-inline. 2011-01-21 Katsumi Yamaoka * gnus-art.el (gnus-article-remove-images, gnus-article-show-images): Widen article buffer. 2011-01-20 Stefan Monnier * mm-util.el (mm-find-buffer-file-coding-system): Don't forget to kill the temp buffer. * message.el (message-mailer-swallows-blank-line): Use with-temp-buffer. 2011-01-20 Julien Danjou * mm-decode.el (mm-inline-media-tests): Add text/x-sh. * gnus-art.el (gnus-mime-inline-part): Use mm-display-inline rather than mm-insert-inline to insert inline part: this respect mm-inline-media-tests displayers. * mm-view.el (mm-display-shell-script-inline): New function. * mm-decode.el (mm-inline-media-tests): Add x-shellscript and x-sh. * mm-uu.el (mm-uu-type-alist): Add org block. (mm-uu-org-src-code-block-extract): New function. * mm-view.el (mm-display-org-inline): New function. * mm-decode.el (mm-automatic-display): Add text/org. * mailcap.el (mailcap-mime-extensions): Add .org. 2011-01-19 Katsumi Yamaoka * gnus-art.el (gnus-article-highlight): Remove argument passed to gnus-article-add-buttons. 2011-01-19 Tom Rauchenwald (tiny change) * spam.el (spam-spamassassin-register-with-sa-learn): Insert a full From header with a date and "nobody" as the sender. 2011-01-19 Julien Danjou * gnus-art.el (gnus-article-add-buttons): Simplify condition. (gnus-button-push): Remove gnus-button-entry function, it fails heavily if you have the same regexp several times. (gnus-button-push): Fix matching when regexp is symbol. 2011-01-15 Glenn Morris * message.el (message-mail): A compose-mail function should accept headers as strings. 2011-01-13 Chong Yidong * message.el (message-tool-bar-gnome): Tweak tool-bar items. Add :vert-only tags. (message-mail): New arg RETURN-ACTION. (message-return-action): New var. (message-bury): Use it. (message-mode): Make it buffer-local. (message-send-and-exit): Always call message-bury. * gnus-msg.el (gnus-msg-mail): New arg RETURN-ACTION. Pass it to message-mail. 2011-01-11 Lars Magne Ingebrigtsen * nnimap.el (nnimap-convert-partial-article): Protect against zero-length body parts. * mm-decode.el (mm-preferred-alternative-precedence): Discourage showing empty parts. * 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. * 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. * proto-stream.el (open-protocol-stream): Protect against the low-level transport functions returning nil. 2011-01-07 Daiki Ueno * mml2015.el (epg-sub-key-fingerprint): Autoload. (mml2015-epg-find-usable-secret-key): New function. (mml2015-epg-sign): Use mml2015-epg-find-usable-secret-key instead of mml2015-epg-find-usable-key (Bug#7797). (mml2015-epg-encrypt): Ditto. 2011-01-05 Katsumi Yamaoka * dgnushack.el (rot13-string): Fix the way to get the argument. 2011-01-03 Lars Magne Ingebrigtsen * flow-fill.el (fill-flowed-encode): Do encoding citation-aware. 2011-01-03 Glenn Morris * sieve-manage.el (sieve-manage-open): Correctly set sieve-manage-port. * sieve.el (sieve-open-server): Give a more explicit error if sieve-manage-open returns nil. (Bug#7720) 2011-01-02 Karl Fogel * gnus-msg.el (gnus-message-replyencrypt): Default to `t'. 2011-01-02 Lars Magne Ingebrigtsen * nnimap.el (nnimap-login): Prefer AUTH=CRAM-MD5, if it's available. This avoids sending passwords in plain text over non-encrypted channels. * shr.el (shr-rescale-image): Display all GIF images as animated images. * nnimap.el (nnimap-login): Refactored out into own function, and implement CRAM-MD5. (nnimap-wait-for-line): Refactored out. * mm-view.el (mml-smime): Require. 2010-12-20 David Engster * 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. 2011-01-02 Lars Magne Ingebrigtsen * 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. 2011-01-02 Wang Diancheng (tiny change) * nnml.el (nnml-request-article): Allow requesting by Message-ID to work when using a compressed nnml folder. 2011-01-02 Lars Magne Ingebrigtsen * 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. 2010-12-30 Tassilo Horn * 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. 2010-12-27 Daiki Ueno * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Take care the case when sender is not given. 2010-12-23 Julien Danjou * gnus-gravatar.el (gnus-gravatar-transform-address): Set `mail-extr-ignore-realname-equals-mailbox-name' to nil when extracting the addresses, otherwise we might misplaced the gravatar. 2010-12-21 Daiki Ueno * mml1991.el (pgg-sign-region, pgg-encrypt-region): * gnus-art.el (pgg-snarf-keys-region): Autoload since PGG is now obsolete in Emacs. 2010-12-20 Julien Danjou * gnus-util.el (gnus-rescale-image): Revert last change. 2010-12-17 Chong Yidong * binhex.el: Improve commentary (Bug#7482). 2010-12-17 Lars Magne Ingebrigtsen * gnus-group.el (gnus-group-delete-articles): New command. 2010-12-17 Andrew Cohen * nnir.el (nnir-mode): Make sure 'gnus-registry-install is bound. 2010-12-17 Lars Magne Ingebrigtsen * 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. * nnimap.el (nnimap-retrieve-headers): Remove CRLF from the headers. 2010-12-17 Julien Danjou * gnus-util.el (gnus-rescale-image): Allow to resize images even if they are from file. Can also scale up. 2010-12-17 Andrew Cohen * gnus-sum.el (gnus-summary-refer-thread): Simplify code. Restore gnus-use-agent. (gnus-get-newsgroup-headers): Avoid unwanted spaces at eol. * nnir.el (nnir-get-active): Ignore nnir-ignored-newsgroups if null. 2010-12-17 Julien Danjou * gravatar.el (gravatar-retrieve-synchronously): New function. (gravatar-get-data): Make more robust. 2010-12-16 Katsumi Yamaoka * lpath.el: Bind epa-file-encrypt-to for Emacs 22 and XEmacs. 2010-12-16 Lars Magne Ingebrigtsen * nnimap.el (nnimap-wait-for-response): Fix the end-point calculation to really consider the last line. 2010-12-16 Daiki Ueno * 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 Dan Davison (tiny change) * gnus-srvr.el: Avoid passing nil regexp argument to delete-matching-lines. 2010-12-16 Lars Magne Ingebrigtsen * gnus-html.el (gnus-html-schedule-image-fetching): Make sure the HTML fetching stops when Gnus exits. * 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. 2010-12-16 Andrew Cohen * nnir.el: Improve customizations. 2010-12-16 Lars Magne Ingebrigtsen * gnus-start.el (gnus-subscribe-newsgroup): Notify the backend. * gnus-group.el (gnus-group-kill-group): Notify the backend that the group has been killed. (gnus-group-yank-group): Ditto. * gnus-srvr.el (gnus-browse-unsubscribe-group): Ditto. * nnimap.el (nnimap-request-update-group-status): New function. * gnus-int.el (gnus-request-update-group-status): New interface function. * gnus-sum.el (gnus-summary-push-marks-to-backend): Fix the logic for copying read-ness to the backends. * nnimap.el (nnimap-quirk): New function. (nnimap-retrieve-group-data-early): Use it. (nnimap-quirks): New alist. 2010-12-16 Katsumi Yamaoka * shr.el (shr-insert): Set shr-start after deleting trailing space; don't delete it within indentation. 2010-12-16 Lars Magne Ingebrigtsen * nnimap.el (nnimap-wait-for-response): Always look (at least) at the previous line. 2010-12-15 Lars Magne Ingebrigtsen * 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. 2010-12-14 Teodor Zlatanov * spam.el: Reindent and fix long lines. (spam-copy-or-move-routine): Exclude invalid move destinations. 2010-12-14 Andrew Cohen * nnir.el (nnir-mode): Don't install registry hooks if user hasn't installed the registry. 2010-12-14 Katsumi Yamaoka * dgnushack.el (rot13-string): New macro for XEmacs. netrc.el uses it. 2010-12-13 Andrew Cohen * nnir.el (nnir-run-gmane): Better check for gmane groups: error out if groupname doesn't contain "gmane". 2010-12-13 Lars Magne Ingebrigtsen * netrc.el (netrc-point-at-eol): Remove the unused netrc-point-at-old and netrc-bound-and-true-p bindings. (netrc-parse): Cache the netrc contents. * gnus-start.el (gnus-matches-options-n): Fix typo in last change. (gnus-1): Don't create the nndrafts group twice. (gnus-setup-news): There's no need to read the active file here, since that's done again later on a per-backend basis. (gnus-start-draft-setup): Make sure that the new group is started out empty. * gnus-agent.el (gnus-agentize): Don't create the queue group automatically on startup. It'll be created later, if needed. * gnus-start.el (gnus-auto-subscribed-groups): Add nnimap to the list of automatically subscribed groups. (gnus-auto-subscribed-categories): New variable. (gnus-matches-options-n): Use it. (gnus-default-subscribed-newsgroups): Remove unused variable. (gnus-start-draft-setup): Message a bit less. 2010-12-13 Andrew Cohen * nnir.el (nnir-run-imap): Return article list in order of increasing UID. 2010-12-13 Lars Magne Ingebrigtsen * gnus-sum.el (gnus-summary-enter-digest-group): Mention gnus-auto-select-on-ephemeral-exit. * proto-stream.el (proto-stream-open-network-only): Fix the calling convention of the network-only option. 2010-12-10 Lars Magne Ingebrigtsen * proto-stream.el (proto-stream-open-network-only): New function to have a way to specify non-STARTTLS upgrade connections. 2010-12-10 Julien Danjou * gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when email address is nil. * message.el (message-bogus-recipient-p): Set address to "" if nil. 2010-12-10 Andrew Cohen * nnir.el (nnir-request-expire-articles): Ignore expiry except for deletion. (nnir-run-imap): Only need to parse list once. 2010-12-09 Lars Magne Ingebrigtsen * shr.el (shr-tag-script): Ignore