Merge from emacs-23; up to 2010-06-10T05:17:21Z!rgm@gnu.org.