unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: rsharman@pobox.com
Cc: nickrob@snap.net.nz, emacs-devel@gnu.org, rsharman@pobox.com
Subject: Re: highlight-changes-mode
Date: Sat, 9 Dec 2006 14:40:33 -0500	[thread overview]
Message-ID: <17787.4401.435315.516412@cube.homenetwork> (raw)
In-Reply-To: <E1GsQOZ-00018t-Na@fencepost.gnu.org>

Richard Stallman writes:
 >     The current implementation allows the situation where a user no longer
 >     wants it turned on by default, but has an existing buffer that has
 >     some changes already highlighted.  If disabling the global mode
 >     automatically disables highlight changes modes in that buffer, then
 >     the highlighting of the changes disappears; we have lost information.
 > 
 > That is clearly true.  The question is whether this is a useful feature
 > that we want, or whether it is better to make this mode like the others.


Personally I think it is useful. 

I certainly have no problems with global-highlight-changes always
turning on the mode in all buffers.  It is only the unconditional
turning off that I have qualms with.

Can I suggest a compromise?

The default behaviour is changed to always affect existing buffers in
both enabling and disabling.  All references to the variable 
highlight-changes-global-changes-existing-buffers are removed.

A new variable highlight-changes-mode-turn-off-fn can be set to a
function to be called to [optionally] turn off the mode in a buffer.
If set to nil (the default) the mode is turned off unconditionally.

This is implemented by a different change to define-global-minor-mode
from what I'd suggested earlier.  Instead of the :only-new keyword 
there is a :turn-off keyword.  If specified this function is called
instead of the mode being turned off directly.  It is a
more symmetric change than the previous one.


(defvar highlight-changes-mode-turn-off-fn nil
  "*If non-nil, a function to maybe turn off highlight changes mode.
It is called by global-highlight-changes when the mode is turned off.
The default setting of nil causes highlight changes mode to be
disabled in all buffers.")

(defun highlight-changes-mode-turn-off ()
  (if highlight-changes-mode-turn-off-fn
      (funcall highlight-changes-mode-turn-off-fn)
    (highlight-changes-mode -1)))


So to summarize,  the default behaviour is as you prefer, but we allow
a user to override it

  reply	other threads:[~2006-12-09 19:40 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <17721.60660.980363.609046@kahikatea.snap.net.nz>
2006-10-23  5:11 ` highlight-changes-mode Richard Stallman
2006-10-23 18:39   ` highlight-changes-mode Richard Stallman
2006-10-24  0:16     ` highlight-changes-mode rsharman
2006-10-24 17:43       ` highlight-changes-mode Richard Stallman
2006-11-27  1:57         ` highlight-changes-mode rsharman
2006-11-27  6:43           ` highlight-changes-mode Nick Roberts
2006-11-28  2:15             ` highlight-changes-mode rsharman
2006-12-06  6:25             ` highlight-changes-mode rsharman
2006-12-06  6:37               ` highlight-changes-mode rsharman
2006-12-06 18:44               ` highlight-changes-mode Richard Stallman
2006-12-06 19:58                 ` highlight-changes-mode Drew Adams
2006-12-07 21:02                   ` highlight-changes-mode Richard Stallman
2006-12-07 21:13                     ` highlight-changes-mode Drew Adams
2006-12-09 18:55                       ` global minor modes that can be overridden locally? [was: highlight-changes-mode] Drew Adams
2006-12-11  1:06                         ` Richard Stallman
2006-12-11  1:16                           ` Lennart Borgman
2006-12-11  1:45                             ` Drew Adams
2006-12-11  1:52                               ` Lennart Borgman
2006-12-11  1:58                                 ` Drew Adams
2006-12-12  2:57                             ` Richard Stallman
2006-12-12  3:27                               ` Lennart Borgman
2006-12-12 21:45                                 ` Richard Stallman
2006-12-12 23:02                                   ` Lennart Borgman
2006-12-12  4:06                               ` Drew Adams
2006-12-12  4:25                                 ` global minor modes that can be overridden locally? Miles Bader
2006-12-12  5:00                                   ` Drew Adams
2006-12-29 16:25                                     ` Drew Adams
2006-12-29 22:15                                       ` Stefan Monnier
2006-12-29 22:40                                         ` Drew Adams
2006-12-30  6:24                                           ` Richard Stallman
2006-12-30  8:25                                             ` Drew Adams
2006-12-31  1:46                                               ` Richard Stallman
2006-12-30 22:43                                             ` Kim F. Storm
2006-12-30 23:27                                               ` Lennart Borgman (gmail)
2006-12-30  6:23                                       ` Richard Stallman
2006-12-12 11:08                                   ` Juanma Barranquero
2006-12-12 11:15                                     ` Miles Bader
2006-12-12 11:25                                       ` Juanma Barranquero
2006-12-12 11:33                                         ` Miles Bader
2006-12-12 11:59                                           ` Juanma Barranquero
2006-12-11  1:40                           ` global minor modes that can be overridden locally? [was:highlight-changes-mode] Drew Adams
2006-12-12  2:58                             ` Richard Stallman
2006-12-12  4:08                               ` global minor modes that can be overridden locally?[was:highlight-changes-mode] Drew Adams
2006-12-12 21:45                                 ` Richard Stallman
2006-12-06 23:39                 ` highlight-changes-mode rsharman
2006-12-07 21:03                   ` highlight-changes-mode Richard Stallman
2006-12-09 19:40                     ` rsharman [this message]
2006-12-11  1:06                       ` highlight-changes-mode Richard Stallman
2006-12-11  9:15                         ` highlight-changes-mode Kim F. Storm
2006-12-12  2:58                           ` highlight-changes-mode Richard Stallman
2006-12-12  3:16                         ` highlight-changes-mode rsharman
2006-12-12 21:45                           ` highlight-changes-mode Richard Stallman
2006-12-12 23:33                             ` highlight-changes-mode rsharman
2006-12-14  5:29                               ` highlight-changes-mode Richard Stallman
2006-11-27 15:38           ` highlight-changes-mode Richard Stallman
2006-11-28  2:04             ` highlight-changes-mode rsharman
2006-12-05  2:42               ` highlight-changes-mode rsharman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=17787.4401.435315.516412@cube.homenetwork \
    --to=rsharman@pobox.com \
    --cc=emacs-devel@gnu.org \
    --cc=nickrob@snap.net.nz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).