Merge from emacs-23 branch, up to 2010-05-20T22:16:19Z!juri@jurta.org.