[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: highlight-changes-rotate-faces sets buffer modified flag

From: Reindert-Jan Ekker
Subject: Re: highlight-changes-rotate-faces sets buffer modified flag
Date: Wed, 9 May 2007 11:29:58 +0200 (CEST)


Turning off highlight-changes-mode sets the buffer-modified state as well.

By the way, I do not have a lot of experience with emacs lisp. Regarding buffer-undo-list: would it be correct to just remove the front element of the list in the advice I wrote?

With regards,


On Tue, 8 May 2007, martin rudalics wrote:

Running the function highlight-changes-rotate-faces sets the buffer's
modified flag. It seems to me that this should not happen, since only
some faces are changed.

Thank you for sending a report on this.  In principle a "face change"
may change the buffer-modified state and can be undone as well.  In the
present case I agree with you that the buffer-modified state should not
change.  I believe that most of theses face changes were obscured by
changes in the buffer text, hence probably people didn't notice.

As a workaround, I use the following advice:

;; advice for highlight-changes-rotate-faces
;; so that it does not change the modified flag for the buffer
(defadvice highlight-changes-rotate-faces (around around-rotate-faces)
  (let ((was-modified (buffer-modified-p)))
        (unless was-modified
          (set-buffer-modified-p nil))))
(ad-activate 'highlight-changes-rotate-faces)

You proably do not want adding an entry to `buffer-undo-list' either.

The version string of my emacs:
"GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600) of 2004-03-10 on NYAUMO"

AFAICT this problem is still present in Emacs 22.  In addition, it seems
to me that turning off `highlight-changes-mode' may set the
buffer-modified state as well.  Could you please verify this on your

reply via email to

[Prev in Thread] Current Thread [Next in Thread]