Commit d143df5a authored by Juri Linkov's avatar Juri Linkov

Use diff faces for compare-windows

* lisp/vc/compare-w.el: Require diff-mode for diff faces.
(compare-windows-removed, compare-windows-added): New faces
inheriting from diff faces.
(compare-windows): Define obsolete face alias.
(compare-windows-highlight): Replace face `compare-windows' with
new faces `compare-windows-added' and `compare-windows-removed'.
(compare-windows-get-recent-window): Signal an error when
no other window is found.

Fixes: debbugs:19451
parent 2cb75922
......@@ -401,10 +401,13 @@ and comments.
the color range from `vc-annotate-color-map' is applied to the
background or to the foreground.
*** compare-windows now compares text with the most recently used window
*** `compare-windows' now compares text with the most recently used window
instead of the next window. The new option `compare-windows-get-window-function'
allows to customize this.
*** Two new faces `compare-windows-removed' and `compare-windows-added'
replace the obsolete face `compare-windows'.
** Calculator: decimal display mode uses "," groups, so it's more
fitting for use in money calculations; factorial works with
non-integer inputs.
......
2014-12-28 Juri Linkov <juri@linkov.net>
* vc/compare-w.el: Require diff-mode for diff faces.
(compare-windows-removed, compare-windows-added): New faces
inheriting from diff faces.
(compare-windows): Define obsolete face alias.
(compare-windows-highlight): Replace face `compare-windows' with
new faces `compare-windows-added' and `compare-windows-removed'
(bug#19451).
(compare-windows-get-recent-window): Signal an error when
no other window is found (bug#19170).
2014-12-27 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/elisp-mode.el (elisp--xref-identifier-file):
......
......@@ -30,6 +30,8 @@
;;; Code:
(require 'diff-mode) ; For diff faces.
(defgroup compare-windows nil
"Compare text between windows."
:prefix "compare-"
......@@ -128,11 +130,19 @@ out all highlighting later with the command `compare-windows-dehighlight'."
:group 'compare-windows
:version "22.1")
(defface compare-windows
'((t :inherit lazy-highlight))
"Face for highlighting of compare-windows difference regions."
(defface compare-windows-removed
'((t :inherit diff-removed))
"Face for highlighting of compare-windows removed regions."
:group 'compare-windows
:version "22.1")
:version "25.1")
(defface compare-windows-added
'((t :inherit diff-added))
"Face for highlighting of compare-windows added regions."
:group 'compare-windows
:version "25.1")
(define-obsolete-face-alias 'compare-windows 'compare-windows-added "25.1")
(defvar compare-windows-overlay1 nil)
(defvar compare-windows-overlay2 nil)
......@@ -158,7 +168,8 @@ then try to get a window on an iconified frame, and finally
consider all existing frames."
(or (get-mru-window 'visible t t)
(get-mru-window 0 t t)
(get-mru-window t t t)))
(get-mru-window t t t)
(error "No other window")))
(defun compare-windows-get-next-window ()
"Return the window next in the cyclic ordering of windows.
......@@ -393,13 +404,13 @@ on third call it again advances points to the next difference and so on."
(if compare-windows-overlay1
(move-overlay compare-windows-overlay1 beg1 end1 b1)
(setq compare-windows-overlay1 (make-overlay beg1 end1 b1))
(overlay-put compare-windows-overlay1 'face 'compare-windows)
(overlay-put compare-windows-overlay1 'face 'compare-windows-added)
(overlay-put compare-windows-overlay1 'priority 1000))
(overlay-put compare-windows-overlay1 'window w1)
(if compare-windows-overlay2
(move-overlay compare-windows-overlay2 beg2 end2 b2)
(setq compare-windows-overlay2 (make-overlay beg2 end2 b2))
(overlay-put compare-windows-overlay2 'face 'compare-windows)
(overlay-put compare-windows-overlay2 'face 'compare-windows-removed)
(overlay-put compare-windows-overlay2 'priority 1000))
(overlay-put compare-windows-overlay2 'window w2)
(if (not (eq compare-windows-highlight 'persistent))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment