Subject: Whitespace mode causes auto-save to malfunction

From: Kelly Dean <[email-masked]>
Date: Sat, 21 Apr 2012 02:49:36 -0700 (PDT)

I'm using Emacs on X on Debian 6 Stable. emacs-version says GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0) of 2010-12-11 on raven, modified by Debian.
Steps to reproduce the bug:
Delete your .emacs file.
Start X, and start Emacs with no options.
Open any writeable file, then press space, so that the buffer is modified.
Wait for the auto-save timeout. Emacs writes the auto-save file.
Press C-g.
Wait for the auto-save timeout again. Notice that Emacs does not write the auto-save file again, because the buffer hasn't changed since the last auto-save. This is the correct behavior.
Now, close Emacs, and put just the following in your .emacs file:
(global-whitespace-mode 1)
Start Emacs with no options.
Open a file, press space, wait for the timeout, press C-g, and wait for the timeout again. Notice that Emacs does write the auto-save file again, even though the buffer hasn't changed since the last auto-save. This is not the correct behavior.
This can cause various problems, for example unnecessarily spinning up a sleeping disk to write the auto-save file, and the timestamp on the auto-save file can't be relied on to show when (approximately, with accuracy determined by the value of auto-save-timeout) the buffer was last modified.