Merged from miles@gnu.org--gnu-2005 (patch 185-186, 700-703)