Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!