Steve Youngs | 24 May 16:44 2016


So, it turns out that I broke PUI.  Sorry 'bout that.  I'll fix it in
the next day or two.

Work-around in the meantime: (setq package-get-have-curl nil)


|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|       SXEmacs - The only _______ you'll ever need.       |
|         Fill in the blank, yes, it's THAT good!          |
|------------------------------------<steve <at>>---|
Steve Youngs | 23 May 07:07 2016

[RFC] SXEmacs Packaging -- The next steps

Hey Gang!

In this message I'm going to be talking about a bunch of different
XEmacs packages but I don't want this to go on forever so I'm only going
to mention them by name and not describe what they do.  If I mention a
package that you're not familiar with you can...

        M-x package-get-info RET PKGNAME RET description RET

...and that will give you a brief description of the package.  For

        M-x package-get-info RET gnus RET description RET
         => The Gnus Newsreader and Mailreader.

OK, now that SXEmacs can leach and install packages via HTTP I think we
should begin distributing our own (built with SXEmacs) packages[1].  I
already have a mirror of the XEmacs packages at which is updated daily
via rsync.  The source for those packages originates in XEmacs'
mercurial repo and have been built on XEmacs 21.4 by Norbert Koch.  My
immediate plan is to turn off the daily rsync at
And then build those exact same packages here with SXEmacs, and then
replace all the packages at with SXEmacs built

My first question:

Should we "go it alone" with packages?  By that, what I mean is
should we drop the XEmacs package mirrors and only use SXEmacs
(Continue reading)

Steve Youngs | 11 May 02:28 2016

SXEmacs OpenSSL and naughty ciphers


Alrighty, yesterday, as you may have noticed, I committed a patch to fix
those "Unexpected Errors" in the OpenSSL tests.  The problem was that
certain ciphers were not passing the checks in Fossl_encrypt(),
Fossl_decrypt(). [1] (see openssl.c:1249,1256,1266)  All I did with the
test suite was to ensure that none of the ciphers that cause problems
were used in any of the tests.

Yes I know that is not a real fix, so here is what I'd like to do to
get closer to something resembling one.  I want to add a "cipher
blacklist", just a simple list of symbols (cipher names) that gets
consulted every time our code asks OpenSSL for a cipher.  If the
cipher is on the blacklist, we don't even bother trying to load it,
we just error.

I think the blacklist should be a DEFVAR_LISP in case a user has reason to
want/need to use any of the problem ciphers, or if an update of OpenSSL
not requiring a SXEmacs rebuild would need the blacklist altered.

Does that sound like a decent enough idea?  If it isn't, please speak up
and let me know, especially if you have a better one. :-)

The list would contain the following ciphers:

id-smime-alg-CMS3DESwrap id-aes128-wrap id-aes192-wrap id-aes256-wrap
id-aes128-GCM id-aes128-CCM id-aes192-GCM id-aes192-CCM id-aes256-GCM
id-aes256-CCM AES-128-XTS AES-256-XTS 

Plus these that Sebastian was already leaving out of the tests:
(Continue reading)

Steve Youngs | 6 May 14:14 2016
Steve Youngs | 6 May 10:33 2016

[sxemacs] annotated tag v22.1.16 created (now 1afc901)

This is an automated email from the git hooks/post-receive script.

Steve pushed a change to annotated tag v22.1.16
in repository sxemacs.

        at  1afc901   (tag)
   tagging  8c1f10db4fcec820afc234f1630878f14f4d9d91 (commit)
  replaces  v22.1.15
 tagged by  Steve Youngs
        on  Fri May 6 18:32:51 2016 +1000

- Log -----------------------------------------------------------------
SXEmacs v22.1.16
Version: GnuPG v2
Comment: The SXEmacs Project <>
Comment: EMchat - The SXEmacs IM client <>
Comment: SYcom <>
Comment: the Reading Lamp <>


No new revisions were added by this update.


|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
(Continue reading)

issue-tracking | 6 May 10:07 2016

[Bug 165] Cannot generate configure script on FreeBSD

changed bug 165
What Removed Added

You are receiving this mail because:
  • You are the QA Contact for the bug.
Steve Youngs | 27 Apr 13:53 2016

[sxemacs] annotated tag devkey.HB created (now 46a05b0)

This is an automated email from the git hooks/post-receive script.

Steve pushed a change to annotated tag devkey.HB
in repository sxemacs.

        at  46a05b0   (tag)
   tagging  8fb2653c83b4f6cf224ba185639e7970e4306a75 (blob)
    length  4794 bytes
 tagged by  Horst Burkhardt
        on  Fri Jul 31 19:42:22 2015 +1000

- Log -----------------------------------------------------------------
Developer Key -- Horst Burkhardt

This is the GnuPG key used by Horst Burkhardt <horst <at>>
to sign commits, merges, and tags in this repository.

You may import this key into your GnuPG keyring with...

  'git show devkey.HB | gpg --import'

To verify signed objects in the repo, use the '--show-signature'
option with the git-log and git-show commands.

To verify this tag, use 'git tag -v devkey.HB'
Version: GnuPG v2


This is an unusual reference change because the reference did not
refer to a commit either before or after the change.  We do not know
how to provide full information about this reference change.


|---<Steve Youngs>---------------<GnuPG KeyID: A94B3003>---|
|       SXEmacs - The only _______ you'll ever need.       |
|         Fill in the blank, yes, it's THAT good!          |
|------------------------------------<steve <at>>---|

Jay Belanger | 20 Apr 18:56 2016


I've changed Calc to use a lot of built-in transcendental 
functions when SXEmacs is compiled with mpfr. It's at
There's more that I could do, but I think I'll see if I
can get Calc to play nicely with Sage, or something similar.


Jay Belanger | 6 Mar 06:43 2016


Hi Everybody,

Spring break here, so I had a chance to make Calc
use SXEmacs's bigz instead of the previous method
(where large integers were broken into parts;
for example, 123456 would be stored as (bigpos 456 123)).
Now Calc uses SXEmacs functions when it can; straightforward
multiplication, `factorial' instead of doing all the multiplications,
etc.  There are probably other optimizations that are possible
that I'll get around to.  I'll also get round to using bigfr,
but I'll need to figure out how bigfr handles precision first.

I'm doing this 'cuz it's fun and I like Calc, but on the off chance
anyone else wants it, the latest version is at


issue-tracking | 5 Mar 00:38 2016

[Bug 181] New: log not behaving as expected.

Bug ID Summary Product Version Hardware OS Status Severity Priority Component Assignee Reporter QA Contact
log not behaving as expected.
steve <at>
jay.p.belanger <at>
sxemacs-devel <at>

According to the documentation, log takes an optional second argument that sets the base. The second argument is ignored, though. (log 100) => 4.605170185988092 (log 100 10) => 4.605170185988092 (I realize that (log 100 10) can still be computed by (/ (log 100) (log 10)), so perhaps this is just a documentation problem.) Also, log can only handle about 300 digits. (I have bigz support.) (log (^ 10 308)) => 709.1962086421661 but (log (^ 10 309)) => +infinity This might somehow be related to bigf support, which I don't seem to have, but I'm not sure how. Jay
You are receiving this mail because:
  • You are the QA Contact for the bug.
Lars Ingebrigtsen | 6 Feb 05:09 2016

Ma Gnus v0.16 is released

Mainly bug fixes and stuff.

Gnus development has mainly been taking place externally for the last,
er, 22 years?  But it's now moving to the Emacs code repository, as
explained here:

So this will (most likely) be the last separate Gnus release.  Gnus bugs
should from now on be reported with `M-x report-emacs-bug'.  The Gnus
mailing lists will continue operating as before, but if you want to
follow bleeding-edge Gnus development, you'll have to follow the Emacs
git trunk instead.

(Pithy optimistic saying goes here.  Remember to edit this line!)

Get it by saying

  git clone && cd gnus && git checkout m0-16

or download the release from

ChangeLog since last release:

2016-02-06  Lars Magne Ingebrigtsen  <lars <at>>

	* gnus.el: Ma Gnus v0.15 is released.

2016-02-05  Lars Ingebrigtsen  <larsi <at>>

	Fix doc string of tls-program.

	* tls.el (tls-program): Document the %t parameter (bug#22559).

2016-02-04  Paul Eggert  <eggert <at>>

	Quoting fixes in doc strings and diagnostics.

	* mml-smime.el (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
	Follow user style preference when quoting diagnostics.

2016-02-02  Glenn Morris  <rgm <at>>

	Improve the custom type of some user options.

	* gnus-art.el (gnus-hidden-properties):
	* gnus-gravatar.el (gnus-gravatar-properties):
	* gnus-picon.el (gnus-picon-properties): Improve custom type.

2016-02-01  Katsumi Yamaoka  <yamaoka <at>>

	* gmm-utils.el (defcustom): Ignore :risky keyword under XEmacs.

2016-01-30  Glenn Morris  <rgm <at>>

	* message.el (message-deletable-headers, message-signature):
	Improve custom type.

	* gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable.

	Mark some user options that can get evalled as risky.

	* message.el (message-signature, message-mailer-swallows-blank-line):
	Mark as risky.

2016-01-29  Glenn Morris  <rgm <at>>

	Remove some useless-use-of eval.

	* gnus.el (gnus-load-hook): Don't use eval.
	* nnrss.el (xml): Simply require it.
	(xml-rpc-method-call): Use declare-function.

2016-01-25  Teodor Zlatanov  <tzz <at>>

	* gnus-art.el (gnus-blocked-images): Add explicit nil choice and tags.

2016-01-24  Alan Mackenzie  <acm <at>>

	Expunge "allow" + infinitive without direct object from source and doc.

	* gnus-agent.el (gnus-agent-queue-setup):
	* mm-util.el (mm-charset-eval-alist): Dox fix.

2016-01-22  Katsumi Yamaoka  <yamaoka <at>>

	Revert changes causing old Emacsen not to work

	* mml-sec.el (mml1991-signers, mml2015-signers)
	(mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
	(mml-smime-encrypt-to-self, mml2015-sign-with-sender)
	(mml-smime-sign-with-sender, mml2015-always-trust)
	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
	* nntp.el (nntp-request-newgroups): Revert.

2016-01-19  Katsumi Yamaoka  <yamaoka <at>>

	* nnir.el (nnir-request-update-mark):
	Default to the original mark (bug#22353).
	cf. <>
	and <>

2016-01-15  Eric Abrahamsen  <eric <at>>

	Honor docstring of gnus-group-get-new-news

	* gnus-start.el (gnus-get-unread-articles): If the prefix arg is t,
	but non-numeric, unconditionally consider all groups to need updating.

2016-01-14  Katsumi Yamaoka  <yamaoka <at>>

	* nntp.el (nntp-request-newgroups): Simplify.

2016-01-13  Paul Eggert  <eggert <at>>

	Fix NNTP NEWGROUPS off-by-a-few-hours bug.

	* nntp.el (nntp-request-newgroups): Format string in Universal Time,
	since we’re telling the server “GMT”.

2016-01-13  Glenn Morris  <rgm <at>>

	* gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
	* gnus.el (gnus-valid-select-methods): Fix custom types.

	* mml-sec.el (mml1991-signers, mml2015-signers)
	(mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self)
	(mml-smime-encrypt-to-self, mml2015-sign-with-sender)
	(mml-smime-sign-with-sender, mml2015-always-trust)
	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
	Add missing version tags.

	* mml-smime.el (epg-key-sub-key-list, epg-sub-key-capability)
	(epg-sub-key-validity): Fix declarations.

2016-01-04  Jens Lechtenboerger  <jens.lechtenboerger <at>>

	* message.el (message-send): Do secure signed Bcc handling (bug#18718).

2015-12-28  Katsumi Yamaoka  <yamaoka <at>>

	* mml-sec.el (mml-secure-bcc-is-safe):
	Don't use split-string with 4th arg for old Emacsen compatibility.

2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger <at>>

	* gnus-util.el (gnus-subsetp): New function.

	* mml-sec.el: Fix warnings by adding autoloads (bug#18718).
	(mml-secure-safe-bcc-list): New variable.
	(mml-secure-is-encrypted-p, mml-secure-bcc-is-safe): New functions.

2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger <at>>

	* mml-sec.el (mml-secure-cust-record-keys):
	Make gnus-union use `equal' to compare items in lists.

2015-12-23  Katsumi Yamaoka  <yamaoka <at>>

	Fix `gnus-union' so as to behave like `cl-union'.

	* gnus-group.el (gnus-group-prepare-flat):
	Make gnus-union use `equal' to compare items in lists.

	* gnus-util.el (gnus-union): Make it behave like cl-union partially.

2015-12-17  Eli Zaretskii  <eliz <at>>

	* auth-source.el (auth-source-ensure-strings):
	Don't make a list out of 't'.  (Bug#22188)

2015-12-16  Katsumi Yamaoka  <yamaoka <at>>

	* dgnushack.el (byte-optimize-apply): Make the use-mapcan advice work
	for (function nconc) as well as (quote nconc).

2015-12-17  Jens Lechtenboerger  <jens.lechtenboerger <at>>

	* gnustest-mml-sec.el: Remove require cl.

2015-12-16  Katsumi Yamaoka  <yamaoka <at>>

	* mml-sec.el (mml-secure-smime-sign-with-sender): Remove duplicate.
	(mml-secure-cust-record-keys): Use gnus-union instead of cl-union.
	(mml1991-cache-passphrase, mml1991-passphrase-cache-expiry):
	Suppress byte-compile warning for old (X)Emacsen.
	Use gnus-string-match-p instead of string-match-p.
	Don't use mapcan that is a cl runtime function.

	* mml-smime.el (mml-smime-cache-passphrase)
	* mml1991.el (mml1991-cache-passphrase)
	* mml2015.el (mml2015-cache-passphrase)
	Fix version that indicates when those variables were made obsolete.

2015-12-13  Jens Lechtenboerger  <jens.lechtenboerger <at>>

	Refactor mml-smime.el, mml1991.el, mml2015.el

	Cf. discussion on ding mailing list, messages in
	Common code from the three files mml-smime.el, mml1991.el, and
	mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
	to gnus-util.el.

	The code is supported by test cases with necessary test keys.

	Documentation in message.texi is updated.

	* gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
	New functions.

	* mml-sec.el: Require gnus-util and epg.
	(epa--select-keys): Autoload.
	(mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
	(mml-secure-openpgp-signers): New user option;
	make mml1991-signers and mml2015-signers obsolete aliases to it.
	(mml-secure-smime-signers): New user option;
	make mml-smime-signers an obsolete alias to it.
	(mml-secure-openpgp-encrypt-to-self): New user option;
	make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
	aliases to it.
	(mml-secure-smime-encrypt-to-self): New user option;
	make mml-smime-encrypt-to-self an obsolete alias to it.
	(mml-secure-openpgp-sign-with-sender): New user option;
	make mml2015-sign-with-sender an obsolete alias to it.
	(mml-secure-smime-sign-with-sender): New user option;
	make mml-smime-sign-with-sender an obsolete alias to it.
	(mml-secure-openpgp-always-trust): New user option;
	make mml2015-always-trust an obsolete alias to it.
	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
	New user options.
	(mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
	(mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
	(mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
	(mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
	(mml-secure-passphrase-callback, mml-secure-check-user-id)
	(mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
	(mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
	(mml-secure-fingerprint, mml-secure-filter-keys)
	(mml-secure-normalize-cust-name, mml-secure-select-keys)
	(mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
	(mml-secure-self-recipients, mml-secure-recipients)
	(mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.

	* mml-smime.el: Require epg;
	refactor declaration and autoloading of epg functions.
	(mml-smime-use): Doc fix.
	(mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
	(mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
	Use format instead of gnus-format-message.
	(mml-smime-epg-secret-key-id-list): Remove variable.
	(mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
	(mml-smime-epg-find-usable-secret-key): Remove functions.
	(mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.

	* mml1991.el (mml1991-cache-passphrase)
	(mml1991-passphrase-cache-expiry): Obsolete.
	(mml1991-epg-secret-key-id-list): Remove variable.
	(mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
	(mml1991-epg-find-usable-secret-key): Remove functions.
	(mml1991-epg-sign, mml1991-epg-encrypt): Refactor.

	* mml2015.el (mml2015-cache-passphrase)
	(mml2015-passphrase-cache-expiry): Obsolete.
	(mml2015-epg-secret-key-id-list): Remove variable.
	(mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
	(mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
	(mml2015-epg-find-usable-secret-key): Remove functions.
	(mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
	(mml2015-epg-encrypt): Refactor.

	* tests/gnustest-gnus-util.el:
	* tests/gnustest-mml-sec.README:
	* tests/gnustest-mml-sec.el:
	* tests/mml-gpghome/gpg-agent.conf:
	* tests/mml-gpghome/trustlist.txt: New files.

2015-12-04  Daiki Ueno  <ueno <at>>

	* qp.el (quoted-printable-encode-region): Bind `case-fold-search' to
	nil when looking for "^From ".  Problem reported by Simon Josefsson.

2015-12-04  Artur Malabarba  < <at>>

	* sasl-scram-rfc.el: Add a "Package:" header.

2015-11-25  Katsumi Yamaoka  <yamaoka <at>>

	* nnml.el (nnml-retrieve-groups): Remove.  See:
	<> and

2015-11-17  Paul Eggert  <eggert <at>>

	Fix docstring quoting problems with ‘ '’

	Problem reported by Artur Malabarba in:
	Most of these fixes are to documentation; many involve fixing
	longstanding quoting glitches that are independent of the
	recent substitute-command-keys changes.  The changes to code are:
	* gnus-mlspl.el (gnus-group-split-fancy):
	* hashcash.el (hashcash-extra-generate-parameters):
	* message.el (message-qmail-inject-args, message-cite-reply-position):
	* mm-decode.el (mm-inline-large-images):
	* mm-util.el (mm-xemacs-find-mime-charset-1):

2015-11-11  Eli Zaretskii  <eliz <at>>

	* mm-url.el (mm-url-form-encode-xwfu): Allow argument CHUNK to be nil.

2015-11-08  Michael Sperber  <mike <at>>

	* gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
	`gnus-summary-delete-article` in a way that also works on XEmacs.

2015-11-01  Thomas Fitzsimmons  <fitzsim <at>>

	* ntlm.el: Change version to 2.0.0.

2015-10-30  Stefan Monnier  <monnier <at>>

	Silence lexical-binding warnings

	* auth-source.el (auth-source-netrc-use-gpg-tokens):
	Simplify (symbol-value 'VAR) to just VAR.
	(auth-source-backend-parse): Use make-instance.
	(auth-source-search): Remove unused key args.
	Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
	(auth-source-search-backends): Use slot names rather than their initarg.
	(auth-source-secrets-create, auth-source-plstore-search)
	(auth-source-macos-keychain-create, auth-source-macos-keychain-search)
	(auth-source-plstore-create, auth-source-netrc-search)
	(auth-source-netrc-parse): Remove unused key args.
	(auth-source-forget+): Simplify the arglist.
	(auth-source-token-passphrase-callback-function): Mark unused args.
	(auth-source-epa-extract-gpg-token): Remove unused var `plain'.
	(pp-escape-newlines): Declare.
	(auto-source--symbol-keyword): New function.
	(auth-source-plstore-create, auth-source-netrc-create)
	(auth-source-netrc-normalize): Use it.
	(auth-source-netrc-search): Don't pass :delete to
	auth-source-netrc-parse since it doesn't use it.
	(auth-source-plstore-create, auth-source-netrc-create): Use plist-get
	symbol-value to index in keyword args.
	(auth-source-macos-keychain-result-append): Avoid setq.
	(auth-source-netrc-create): Remove unused vars `file' and `add'.
	(auth-source-user-or-password): Remove unused var `cname'.

2015-10-28  Stefan Monnier  <monnier <at>>

	* gnus-topic.el (gnus-topic-prepare-topic): Remove unused var `topic'.
	(gnus-topic-remove-topic): Mark unused arg `hide'.
	(gnus-tmp-header): Declare.
	(gnus-topic-goto-missing-group): Remove unused var `entry'.
	(gnus-topic-unmark-topic): Mark unused arg `dummy'.
	(gnus-topic-copy-matching): Mark unused arg `copyp'.
	Move initialization of `topic' into its declaration.

2015-10-23  Katsumi Yamaoka  <yamaoka <at>>

	* auth-source.el: Revert.

	* auth-source.el: Add eval-and-compile to autoloads for
	epg-context-set-passphrase-callback, epg-decrypt-string,
	epg-encrypt-string, and epg-context-set-armor.

2015-10-22  Katsumi Yamaoka  <yamaoka <at>>

	* mailcap.el (mailcap-mime-data): Remove fboundp checks.
	(mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.

2015-10-21  Katsumi Yamaoka  <yamaoka <at>>

	* mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.

2015-10-20  Michael Sperber  <mike <at>>

	* mailcap.el (mailcap-mime-data): Conditonalize `doc-view-mode', which
	does not exist on XEmacs.

2015-10-18  Michael Sperber  <mike <at>>

	* nnml.el (nnml-retrieve-groups, nnml-request-scan):
	* nnmail.el (nnmail-get-new-mail-per-group):
	(nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.

2015-10-18  Michael Sperber  <mike <at>>

	* message.el (message-get-reply-headers): In addition to
	`mail-dont-reply-to-names', bind `rmail-dont-reply-to-names', which is
	used in XEmacs.

2015-10-14  Katsumi Yamaoka  <yamaoka <at>>

	* auth-source.el (auth-source-epa-make-gpg-token): Revert.

2015-10-11  Nicolas Petton  <petton.nicolas <at>>

	* auth-source.el (auth-source-epa-make-gpg-token):
	Replace an usage of `epg-context-set-armor' with `setf'.
	(auth-source-do-debug, auth-source-do-trivia)
	(auth-source-read-char-choice, auth-source-search)
	(auth-source-pick-first-password, auth-source-netrc-parse)
	(auth-source-netrc-search, auth-source-secrets-search)
	(auth-source-macos-keychain-search-items, auth-source-plstore-search)
	(auth-source-user-or-password): Use sharp-quoting with functions.

2015-09-30  Wieland Hoffmann  <themineo <at>>

	* auth-source.el (auth-source-search): Clarify :create's meaning.

2015-09-17  Paul Eggert  <eggert <at>>

	Backslash cleanup in Elisp source files

	This patch should not change behavior.  It typically omits backslashes
	where they are redundant (e.g., in the string literal "^\$").
	In a few places, insert backslashes where they make regular expressions
	clearer: e.g., replace "^\*" (equivalent to "^*") with "^\\*", which
	has the same effect as a regular expression.
	Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
	and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion
	with RCS IDs, as that makes it clearer that the backslash is intended.
	* auth-source.el (auth-source-secrets-search)
	* gnus-art.el (gnus-mime-action-on-part)
	(gnus-button-mid-or-mail-heuristic, gnus-article-extend-url-button):
	* gnus-bookmark.el (gnus-bookmark-bmenu-toggle-infos)
	(gnus-bookmark-bookmark-inline-details, gnus-bookmark-bookmark-details)
	(gnus-bookmark-alist, gnus-bookmark-name-from-full-record)
	(gnus-bookmark-bmenu-mode, gnus-bookmark-delete):
	* gnus-cus.el (gnus-group-customize):
	* gnus-group.el (gnus-group-line-format, gnus-group-mode-line-format)
	(gnus-group-jump-to-group-prompt, gnus-group-name-at-point):
	* gnus-mlspl.el (gnus-group-split-fancy):
	* gnus-registry.el (gnus-registry-prune-factor):
	* gnus-salt.el (gnus-summary-pick-line-format):
	* gnus-sieve.el (gnus-sieve-update, gnus-sieve-generate)
	* gnus-util.el (gnus-directory-sep-char-regexp):
	* gnus.el (gnus-message-archive-group, gnus-user-agent):
	* message.el (message-archive-header, message-reply-headers)
	* mm-decode.el (mm-add-meta-html-tag):
	* nndoc.el (nndoc-generate-lanl-gov-head):
	* nnheader.el (nnheader-max-head-length):
	* registry.el (registry-db, registry-prune):
	* rfc1843.el (rfc1843-hzp-word-regexp)
	* rfc2047.el (rfc2047-encoded-word-regexp)

	Fix several backslash typos in Elisp strings
	* gnus-art.el (gnus-button-handle-library):
	* gnus-group.el (gnus-read-ephemeral-gmane-group-url):
	* nntp.el (nntp-via-shell-prompt, nntp-telnet-shell-prompt):
	* spam-report.el (spam-report-gmane-regex):
	Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
	For example, to get the regular expression ‘\.’ use the string
	literal "\\.", not "\." (which is equivalent to ".").

	* auth-source.el (auth-source-read-char-choice):
	* nnmaildir.el (NOV example):
	* registry.el (registry-search): Doc fix.

2015-09-14  Katsumi Yamaoka  <yamaoka <at>>

	* gnus-compat.el: Require overlay for XEmacs.

2015-09-12  Stefan Monnier  <monnier <at>>

	* message.el (message-hide-headers): Bind inhibit-modification-hooks to
	t rather than after-change-functions to nil.

2015-09-09  Stefan Monnier  <monnier <at>>

	* time-date.el (time-to-seconds, time-less-p):
	Mark unused vars with underscore.

2015-09-08  Stefan Monnier  <monnier <at>>

	* time-date.el (with-decoded-time-value): Fix debug spec.

2015-09-08  Paul Eggert  <eggert <at>>

	* nnmairix.el (nnmairix-widget-create-query):
	* time-date.el (format-seconds): Prefer grave quoting in source-code
	strings used to generate help and diagnostics.

2015-09-07  Thomas Fitzsimmons  <fitzsim <at>>

	* ntlm.el: Bump version to 2.00.  New maintainer.  Add comm keyword.

2015-09-06  Katsumi Yamaoka  <yamaoka <at>>

	* ntlm.el (ntlm-unibyte-string): New compatibility function.

2015-09-06  Thomas Fitzsimmons  <fitzsim <at>>

	Add support for NTLMv2 authentication.
	* ntlm.el (ntlm): New customization group.
	(ntlm-compatibility-level): New defcustom.
	(ntlm-compute-timestamp): New function.
	(ntlm-generate-nonce): Likewise.
	(ntlm-build-auth-response): Add support for NTLMv2 authentication.

2015-09-05  Eric Abrahamsen  <eric <at>>

	* nnimap.el (nnimap-request-group): Handle nil "info" arg.  This arg
	isn't always passed in, check it's not nil before making it into a
	list.  The active arg will also be nil if the group is new, check for

2015-09-04  Adam Sjøgren  <asjo <at>>

	* mail-source.el (mail-source-fetch-imap): allow :mailbox to be a list.

2015-09-03  Paul Eggert  <eggert <at>>

	* gmm-utils.el (gmm-image-load-path-for-library):
	* gnus-art.el (gnus-boring-article-headers, gnus-split-methods):
	* gnus-registry.el (gnus-registry-split-strategy):
	* gnus-start.el (gnus-check-new-newsgroups):
	* gnus-sum.el (gnus-select-group-hook):
	* gnus-uu.el (gnus-uu-user-archive-rules):
	* gnus.el (gnus-message-archive-group, gnus-visual):
	* message.el (message-cite-style):
	* nnir.el (nnir-swish++-additional-switches)
	(nnir-swish-e-additional-switches, nnir-hyrex-additional-switches)
	(nnir-namazu-additional-switches, nnir-notmuch-additional-switches):
	* nnmail.el (nnmail-split-methods, nnmail-expiry-wait-function):
	* nntp.el (nntp-server-action-alist):
	* tls.el (tls-checktrust):
	Fix some more docstring etc. quoting problems.
	Mostly these fixes prevent the transliteration of apostrophes
	that should stay apostrophes.  Also, prefer curved quotes in
	Bahá’í proper names, as that’s the preferred Bahá’í style and
	these names are chock-full of non-ASCII characters anyway.

2015-09-02  Paul Eggert  <eggert <at>>

	Escape ` and ' in doc
	* gnus-art.el (gnus-article-address-banner-alist)
	* gnus-sum.el (gnus-newsgroup-variables):
	* nndiary.el (nndiary-reminders):
	* nnmail.el (nnmail-fancy-expiry-targets, nnmail-split-fancy):
	Escape apostrophes and grave accents in docstrings if they
	are supposed to stand for themselves and are not quotes.  Remove
	apostrophes from docstring examples like ‘'(calendar-nth-named-day
	-1 0 10 year)’ that confuse source code with data.  Do some other
	minor docstring fixups as well, e.g., insert a missing close

2015-09-01  Katsumi Yamaoka  <yamaoka <at>>

	* gnus-util.el (gnus-format-message):
	* tls.el (tls-format-message): Use defalias at the top level so as to
	make eval-and-compile unnecessary.  Thanks to Stefan Monnier.

	* gnus-sum.el (gnus-summary-search-article):
	Ensure that the article where the search word is found is displayed
	and pointed to in the summary buffer.

2015-08-31  Katsumi Yamaoka  <yamaoka <at>>

	* tls.el (tls-format-message):
	Alias to format-message, or format if not available.
	(open-tls-stream): Use it.

2015-08-31  Paul Eggert  <eggert <at>>

	* gnus-agent.el (gnus-agent-possibly-synchronize-flags-server):
	* gnus-art.el (gnus-article-browse-delete-temp-files):
	* gnus-eform.el (gnus-edit-form):
	* gnus-fun.el (gnus-display-x-face-in-from):
	* gnus-group.el (gnus-group-edit-group, gnus-group-nnimap-edit-acl):
	* gnus-topic.el (gnus-topic-edit-parameters):
	* mail-source.el (mail-source-delete-old-incoming):
	* message.el (message-strip-subject-encoded-words)
	(message-check-recipients, message-send-form-letter):
	* mm-decode.el (mm-display-part):
	* mm-uu.el (mm-uu-pgp-signed-extract-1):
	* mml-smime.el (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
	* spam-report.el (spam-report-process-queue):
	* tls.el (open-tls-stream):
	Respect ‘text-quoting-style’ in diagnostics.
	* gnus-art.el (article-display-face):
	* gnus-fun.el (gnus-display-x-face-in-from):
	Use straight quoting in email.
	* rfc2231.el (rfc2231-decode-encoded-string):
	Escape apostrophes in doc strings.

2015-08-26  Paul Eggert  <eggert <at>>

	Go back to grave quoting in Gnus

	* auth-source.el (auth-source-netrc-parse-entries):
	* gnus-agent.el (gnus-agent-check-overview-buffer)
	* gnus-int.el (gnus-start-news-server):
	* gnus-registry.el (gnus-registry--split-fancy-with-parent-internal)
	* gnus-score.el (gnus-summary-increase-score):
	* gnus-start.el (gnus-convert-old-newsrc):
	* gnus-topic.el (gnus-topic-rename):
	* legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
	* spam.el (spam-check-blackholes):
	Stick with grave quoting in diagnostics strings.  This is more
	portable to older Emacs, desirable for Gnus.

2015-08-25  Paul Eggert  <eggert <at>>

	Prefer directed to neutral quotes in docstings and diagnostics.
	In docstrings, escape apostrophes that would otherwise be translated
	to curved quotes using the newer, simpler rules.

	* auth-source.el (auth-source-netrc-parse-entries):
	* gnus-agent.el (gnus-agent-check-overview-buffer)
	* gnus-int.el (gnus-start-news-server):
	* gnus-registry.el (gnus-registry--split-fancy-with-parent-internal):
	* gnus-score.el (gnus-summary-increase-score):
	* gnus-start.el (gnus-convert-old-newsrc):
	* gnus-topic.el (gnus-topic-rename):
	* legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
	* nnmairix.el (nnmairix-widget-create-query):
	* spam.el (spam-check-blackholes):
	Use directed rather than neutral quotes in diagnostics.

	* gnus-util.el (gnus-format-message):
	Alias to format-message, or format if not available.

2015-08-21  Paul Eggert  <eggert <at>>

	* auth-source.el (auth-sources):
	Prefer (substitute-command-keys "`\\[foo-command]'")
	to "`M-x foo-command'" in docstring.

	* time-date.el (format-seconds):
	Use curved quotes in diagnostic format strings.

	* nnmairix.el (nnmairix-propagate-marks-upon-close):
	* pop3.el (pop3-authentication-scheme):
	Don't quote symbols with apostrophes in doc strings.
	Use asymmetric quotes instead.

2015-08-19  Katsumi Yamaoka  <yamaoka <at>>

	Use overlay functions directly

	* dgnushack.el (overlay): Autoload overlay functions for XEmacs.
	* lpath.el (delete-overlay, overlay-lists): Remove Fbind.

	* gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
	(gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
	(gnus-article-highlight-signature, gnus-article-extend-url-button)
	(gnus-article-add-button, gnus-insert-prev-page-button)
	(gnus-insert-next-page-button, gnus-insert-mime-security-button):
	* gnus-cite.el (gnus-cite-delete-overlays, gnus-cite-add-face):
	* gnus-html.el (gnus-html-wash-tags):
	* gnus-salt.el (gnus-tree-read-summary-keys, gnus-tree-recenter)
	* gnus-sum.el (gnus-summary-show-all-threads, gnus-summary-show-thread)
	(gnus-summary-hide-thread, gnus-highlight-selected-summary):
	* gnus-util.el (gnus-put-overlay-excluding-newlines):
	* message.el (message-fix-before-sending)
	* mm-decode.el (mm-convert-shr-links):
	* sieve.el (sieve-highlight, sieve-insert-scripts):
	Use overlay functions directly instead of using gnus-overlay-*,
	message-overlay-*, and sieve-overlay-*.

	* gnus-sum.el (gnus-remove-overlays):
	* gnus-xmas.el (gnus-xmas-move-overlay, gnus-xmas-overlays-at)
	(gnus-xmas-overlays-in, gnus-make-overlay, gnus-copy-overlay)
	(gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
	(gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
	(gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
	* gnus.el (gnus-make-overlay, gnus-copy-overlay, gnus-delete-overlay)
	(gnus-overlay-get, gnus-overlay-put, gnus-move-overlay)
	(gnus-overlay-buffer, gnus-overlay-start, gnus-overlay-end)
	(gnus-overlays-at, gnus-overlays-in):
	* message.el (message-delete-overlay, message-make-overlay)
	(message-overlay-get, message-overlay-put, message-overlays-in):
	* messagexmas.el (message-delete-overlay, message-make-overlay)
	(message-overlay-get, message-overlay-put, message-overlays-in):
	* sieve.el (sieve-make-overlay, sieve-overlay-put, sieve-overlays-at):

2015-08-19  Glenn Morris  <rgm <at>>

	* nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".

2015-08-18  Katsumi Yamaoka  <yamaoka <at>>

	* message.el (message-overlay-put, message-make-overlay)
	(message-kill-all-overlays, message-overlays-in, message-overlay-get)
	(message-delete-overlay, message-window-inside-pixel-edges):
	Declare before using.

2015-08-17  Katsumi Yamaoka  <yamaoka <at>>

	* message.el (message-overlay-get, message-overlays-in)
	* messagexmas.el (message-overlay-get, message-overlays-in):
	XEmacs compatible functions.

2015-08-17  Lars Magne Ingebrigtsen  <larsi <at>>

	* message.el (message-toggle-image-thumbnails): New command.

2015-08-06  Paul Eggert  <eggert <at>>

	* message.el (message-send-form-letter): Change (message (format ...))
	to (message ...).  This lessens the probability of confusion when
	the output of `format' contains `%'.

2015-08-04  David Kastrup  <dak <at>>

	* gnus-art.el (gnus-article-describe-key)
	Do not overwrite preexisting contents of unread-command-events.

2015-08-02  Nikolaus Rath  <Nikolaus <at>>

	* nnimap.el (nnimap-request-move-article)
	(nnimap-process-expiry-targets, nnimap-split-incoming-mail): Use MOVE
	extension if available.

2015-08-02  Nikolaus Rath  <Nikolaus <at>>

	* nnimap.el (nnimap-open-connection-1): explicitly ask server for
	capabilities instead of relying on LOGIN response.

2015-07-31  Paul Eggert  <eggert <at>>

	* nnbabyl.el (nnbabyl-retrieve-headers):
	* nndiary.el (nndiary-retrieve-headers):
	* nneething.el (nneething-retrieve-headers):
	* nnmbox.el (nnmbox-retrieve-headers):
	* nnmh.el (nnmh-retrieve-headers):
	* nnml.el (nnml-retrieve-headers):
	* nnspool.el (nnspool-retrieve-headers):
	* nntp.el (nntp-retrieve-headers, nntp-retrieve-articles):
	Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
	progress-report percentages and the like.  This avoids problems
	if (* 100 NUMERATOR) would overflow.

	* gnus-registry.el (gnus-registry-import-eld):
	* registry.el (registry-reindex):
	Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.

2015-07-17  Julien Danjou  <jd <at> abydos>

	* sieve-mode.el (sieve-font-lock-keywords): Add missing "body" test

2015-07-11  Eric Abrahamsen  <eric <at>>

	* gnus-registry.el (gnus-registry--set/remove-mark): Correct the order
	of function arguments.

2015-07-10  Stefan Monnier  <monnier <at>>

	* nnimap.el: Clean up "unused var" warnings.
	(auth-source-creation-prompts): Declare.
	(nnimap-retrieve-headers, nnimap-status-message)
	(nnimap-request-create-group, nnimap-request-delete-group)
	(nnimap-close-group, nnimap-request-move-article)
	(nnimap-request-accept-article, nnimap-request-newgroups)
	(nnimap-request-post, nnimap-dummy-active-number)
	(nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
	(nnimap-parse-flags): Remove unused var `p'.
	(nnimap-retrieve-group-data-early): Remove unused var `groups'.
	(nnimap-flags-to-marks): Remove unused var `totalp'.

2015-07-09  Nikolaus Rath  <Nikolaus <at>>

	* nnimap.el (nnimap-transform-headers): Don't assume that UID comes
	before RFC822.SIZE.

2015-07-09  Nikolaus Rath  <Nikolaus <at>>

	* nnimap.el (nnimap-open-connection-1): Always query capabilities,
	so that a 'plain value for the `nnimap-stream' server variable is
	handled correctly.

2015-07-08  Eric Abrahamsen  <eric <at>>

	Remove unused let variables
	* nnimap.el (nnimap-request-group): Variables are not used.

	Check if group names are already strings
	* gnus-group.el (gnus-group-group-name):
	The group name may already be a string.
	Specifically, in the group list reached from the *Server* buffer,
	the 'gnus-group text property returns a string.  Everywhere else
	it returns a symbol.

2015-06-24  Stefan Monnier  <monnier <at>>

	* nnmaildir.el (nnmaildir--prepare): Use a more functional style.
	(nnmaildir--update-nov): Remove unused var `numdir'.
	(nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
	(nnmaildir-request-group, nnmaildir-request-create-group)
	(nnmaildir-request-post, nnmaildir-request-move-article)
	(nnmaildir-request-accept-article, nnmaildir-active-number):
	Mark unused args.
	(nnmaildir-get-new-mail, nnmaildir-group-alist, nnmaildir-active-file):
	(nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
	(nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
	`mark', `end', `new-mark', and `mark-sym'.
	Remove unused args `srv-dir', `dir', `nlist2'.
	Remove unused vars `article', `stop' and `nlist2'.
	(nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
	`end'.  Use nnmaildir--article when dyn-binding is needed.
	Give the value directly in the `let' for `del-mark', `del-action',
	`add-action', and `set-action'.  Don't use `add-to-list' on a local var.
	Declare those local vars that need to be dyn-bound.

2015-06-03  Paul Eggert  <eggert <at>>

	* gnus-art.el (gnus-button-alist): Also support quotes 'like this'.

2015-05-31  David Engster  <deng <at>>

	* tests/gnustest-nntp.el (gnustest-ping-host): Call 'sleep' binary
	instead of using `sleep-for', as the latter does not seem to reliably
	wait (see for instance bug 15990).

2015-05-29  Katsumi Yamaoka  <yamaoka <at>>

	* gnus-art.el (gnus-button-alist): Re-revert last change.
	cf. <>

2015-05-28  Paul Eggert  <eggert <at>>

	* gnus-art.el (gnus-button-alist): Revert last change.
	It wasn't that important, and it caused a Gnus build to fail.  See:

	* gnus-art.el (gnus-button-alist):
	Also treat "‘" and "’" as quoting chars.

2015-05-19  Paul Eggert  <eggert <at>>

	* gnus-art.el (gnus-treat-strip-list-identifiers)
	* gnus-group.el (gnus-group-nnimap-edit-acl):
	* canlock.el, deuglify.el: Fix minor quoting problems in doc strings,
	e.g., missing quote, ``x'' where `x' was meant, etc.

2015-05-14  Katsumi Yamaoka  <yamaoka <at>>

	* format-spec.el (format-spec, format-spec-make): Work for XEmacs.
	Use (char-to-int c) instead of (+ c 0) that the byte compiler optimizes
	into just c.

2015-05-11  Katsumi Yamaoka  <yamaoka <at>>

	* format-spec.el (format-spec, format-spec-make): Work for XEmacs.
	Normalize characters into numbers in spec keys.

2015-05-07  Katsumi Yamaoka  <yamaoka <at>>

	* dgnushack.el (declare-function): Redefine it to use autoload.
	* lpath.el (gnus-html-prefetch-images): Declare.

2015-05-04  Glenn Morris  <rgm <at>>

	* gnus-art.el (nneething-get-file-name): Declare rather than autoload.

	* gnus-async.el (gnus-html-prefetch-images): Remove pointless autoload.

	* gnus-sync.el (gnus-group-topic): Autoload at run-time.
	(gnus-topic-create-topic, gnus-topic-enter-dribble):
	Declare rather than autoload.

	* mm-archive.el (gnus-recursive-directory-files)
	(mailcap-extension-to-mime): Autoload at run-time.

	* mm-util.el (latin-unity-massage-name)
	(latin-unity-maybe-remap, latin-unity-representations-feasible-region)
	Declare rather than autoload.

	* mml-smime.el (epg-make-context, epg-passphrase-callback-function):
	Autoload at run-time.
	(epg-context-set-signers, epg-context-result-for)
	(epg-new-signature-digest-algorithm, epg-verify-result-to-string)
	(epg-list-keys, epg-verify-string, epg-sign-string, epg-encrypt-string)
	(epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
	(epg-configuration, epg-expand-group, epa-select-keys):
	Declare rather than autoload.

	* nnir.el (nnimap-change-group, nnimap-make-thread-query):
	Autoload at run-time.
	(gnus-group-topic-name, nnimap-buffer, nnimap-command)
	(gnus-registry-get-id-key, gnus-registry-action):
	Declare rather than autoload.

	* nnmail.el (mail-send-and-exit): Autoload at run-time.

	* spam.el (spam-stat-buffer-change-to-non-spam)
	(spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
	(spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
	(spam-stat-split-fancy): Remove pointless autoloads.

	* mm-view.el (epg-decrypt-string): Autoload.
	* mml-smime.el (epg-key-sub-key-list, epg-sub-key-capability)
	(epg-sub-key-validity): Fix declarations.


(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: