;;; hilit-chg.el --- minor mode displaying buffer changes with special face
-;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;; 2008, 2009, 2010 Free Software Foundation, Inc.
;; Author: Richard Sharman <rsharman@pobox.com>
;; Keywords: faces
;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; You can automatically rotate faces when the buffer is saved;
;; see function `highlight-changes-rotate-faces' for how to do this.
-;; There are two hooks used by `highlight-changes-mode':
-;; `highlight-changes-enable-hook' - is run when Highlight Changes mode
-;; is enabled for a buffer.
-;; `highlight-changes-disable-hook' - is run when Highlight Changes mode
-;; is disabled for a buffer.
-
-;; Example usage:
-;; (defun my-highlight-changes-enable-hook ()
-;; (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t)
-;; )
+;; The hook `highlight-changes-mode-hook' is called when
+;; Highlight Changes mode is turned on or off.
+;; When it called, variable `highlight-changes-mode' has been updated
+;; to the new value.
;;
-;; (defun my-highlight-changes-disable-hook ()
-;; (remove-hook 'write-file-functions 'highlight-changes-rotate-faces t)
-;; )
-;;
-;; (add-hook 'highlight-changes-enable-hook 'my-highlight-changes-enable-hook)
-;; (add-hook 'highlight-changes-disable-hook
-;; 'my-highlight-changes-disable-hook)
+;; Example usage:
+;; (defun my-highlight-changes-mode-hook ()
+;; (if highlight-changes-mode
+;; (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t)
+;; (remove-hook 'write-file-functions 'highlight-changes-rotate-faces t)
+;; ))
;; Automatically enabling Highlight Changes mode
;; previous active/passive aspect of highlight-changes-mode.
;; - Removed highlight-changes-toggle-hook
;; - Put back eval-and-compile inadvertently dropped
-
+;; May 2008
+;; - Removed highlight-changes-disable-hook and highlight-changes-enable-hook
+;; because highlight-changes-mode-hook can do both.
;;; Code:
(t (:inverse-video t)))
"Face used for highlighting changes."
:group 'highlight-changes)
-;; backward-compatibility alias
-(put 'highlight-changes-face 'face-alias 'highlight-changes)
+(define-obsolete-face-alias 'highlight-changes-face
+ 'highlight-changes "22.1")
;; This looks pretty ugly, actually. Maybe the underline should be removed.
(defface highlight-changes-delete
(t (:inverse-video t)))
"Face used for highlighting deletions."
:group 'highlight-changes)
-;; backward-compatibility alias
-(put 'highlight-changes-delete-face 'face-alias 'highlight-changes-delete)
-
+(define-obsolete-face-alias 'highlight-changes-delete-face
+ 'highlight-changes-delete "22.1")
;; A (not very good) default list of colors to rotate through.
-;;
(define-obsolete-variable-alias 'highlight-changes-colours
'highlight-changes-colors "22.1")
through various faces.
\\[highlight-compare-with-file] - mark text as changed by comparing this
buffer with the contents of a file
-\\[highlight-compare-buffers] highlights differences between two buffers.
-
-Hook variables:
-`highlight-changes-enable-hook': called when enabling Highlight Changes mode.
-`highlight-changes-disable-hook': called when disabling Highlight Changes mode."
+\\[highlight-compare-buffers] highlights differences between two buffers."
nil ;; init-value
hilit-chg-string ;; lighter
nil ;; keymap
(setq highlight-changes-mode (not highlight-changes-mode)))
(if highlight-changes-mode
;; it is being turned on
- ;; the hook has been moved into hilit-chg-set
- ;; (run-hooks 'highlight-changes-enable-hook))
(hilit-chg-set)
;; mode is turned off
(hilit-chg-clear)))
(setq highlight-changes-visible-mode highlight-changes-visibility-initial-state)
(hilit-chg-update)
(force-mode-line-update)
- (add-hook 'after-change-functions 'hilit-chg-set-face-on-change nil t)
- (run-hooks 'highlight-changes-enable-hook))
+ (add-hook 'after-change-functions 'hilit-chg-set-face-on-change nil t))
(defun hilit-chg-clear ()
"Remove Highlight Changes mode for this buffer.