Merge changes from emacs-23 branch