Lots of stuff.

--HG--
extra : amend_source : 7be7b66b1266bcb97b5e190696441f53d93c9871
Merge.