Merge improvements from Emacs 23.