X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/3f715d17fef56ee78a3df7ebb00d4e8b1aec37de..6420d28b9ab9c09b69992e05e0e63c3bbaf2646d:/lisp/hilit-chg.el diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el index 0f84a0406a..041c1ee938 100644 --- a/lisp/hilit-chg.el +++ b/lisp/hilit-chg.el @@ -1,7 +1,6 @@ ;;; 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-2011 Free Software Foundation, Inc. ;; Author: Richard Sharman ;; Keywords: faces @@ -195,8 +194,8 @@ (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 @@ -205,13 +204,11 @@ (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") @@ -388,7 +385,7 @@ This command does not itself set highlight-changes mode." ) -(defun hilit-chg-cust-fix-changes-face-list (w wc &optional event) +(defun hilit-chg-cust-fix-changes-face-list (w _wc &optional event) ;; When customization function `highlight-changes-face-list' inserts a new ;; face it uses the default face. We don't want the user to modify this ;; face, so we rename the faces in the list on an insert. The rename is @@ -560,9 +557,9 @@ This allows you to manually remove highlighting from uninteresting changes." ;; otherwise an undone change shows up as changed. While the properties ;; are automatically restored by undo, we must fix up the overlay. (save-match-data - (let ((beg-decr 1) (end-incr 1) - (type 'hilit-chg) - old) + (let (;;(beg-decr 1) + (end-incr 1) + (type 'hilit-chg)) (if undo-in-progress (if (and highlight-changes-mode highlight-changes-visible-mode) @@ -635,7 +632,7 @@ This removes all saved change information." (highlight-save-buffer-state (hilit-chg-hide-changes) (hilit-chg-map-changes - (lambda (prop start stop) + (lambda (_prop start stop) (remove-text-properties start stop '(hilit-chg nil))))) (setq highlight-changes-mode nil) (force-mode-line-update))) @@ -914,8 +911,7 @@ changes are made, so \\[highlight-changes-next-change] and (file-a (buffer-file-name)) (existing-buf (get-file-buffer file-b)) (buf-b (or existing-buf - (find-file-noselect file-b))) - (buf-b-read-only (with-current-buffer buf-b buffer-read-only))) + (find-file-noselect file-b)))) (highlight-markup-buffers buf-a file-a buf-b file-b (not existing-buf)) (unless existing-buf (kill-buffer buf-b)) @@ -923,24 +919,26 @@ changes are made, so \\[highlight-changes-next-change] and (defun hilit-chg-get-diff-info (buf-a file-a buf-b file-b) - (let ((e nil) x y) ;; e is set by function hilit-chg-get-diff-list-hk + ;; hilit-e,x,y are set by function hilit-chg-get-diff-list-hk. + (let (hilit-e hilit-x hilit-y) (ediff-setup buf-a file-a buf-b file-b nil nil ; buf-c file-C 'hilit-chg-get-diff-list-hk (list (cons 'ediff-job-name 'something)) ) - (ediff-with-current-buffer e (ediff-really-quit nil)) - (list x y))) + (ediff-with-current-buffer hilit-e (ediff-really-quit nil)) + (list hilit-x hilit-y))) (defun hilit-chg-get-diff-list-hk () - ;; x and y are dynamically bound by hilit-chg-get-diff-info - ;; which calls this function as a hook - (defvar x) ;; placate the byte-compiler - (defvar y) - (setq e (current-buffer)) + ;; hilit-e/x/y are dynamically bound by hilit-chg-get-diff-info + ;; which calls this function as a hook. + (defvar hilit-x) ; placate the byte-compiler + (defvar hilit-y) + (defvar hilit-e) + (setq hilit-e (current-buffer)) (let ((n 0) extent p va vb a b) - (setq x nil y nil) ;; x and y are bound by hilit-chg-get-diff-info + (setq hilit-x nil hilit-y nil) (while (< n ediff-number-of-differences) (ediff-make-fine-diffs n) (setq va (ediff-get-fine-diff-vector n 'A)) @@ -956,7 +954,7 @@ changes are made, so \\[highlight-changes-next-change] and (setq extent (list (overlay-start (car p)) (overlay-end (car p)))) (setq p (cdr p)) - (setq x (append x (list extent) )));; while p + (setq hilit-x (append hilit-x (list extent) )));; while p ;; (setq vb (ediff-get-fine-diff-vector n 'B)) ;; vb is a vector @@ -971,7 +969,7 @@ changes are made, so \\[highlight-changes-next-change] and (setq extent (list (overlay-start (car p)) (overlay-end (car p)))) (setq p (cdr p)) - (setq y (append y (list extent) ))) + (setq hilit-y (append hilit-y (list extent) ))) (setq n (1+ n)));; while ;; ediff-quit doesn't work here. ;; No point in returning a value, since this is a hook function. @@ -1027,9 +1025,8 @@ This is called when `global-highlight-changes-mode' is turned on." ;; (defun hilit-chg-debug-show (&optional beg end) ;; (interactive) ;; (message "--- hilit-chg-debug-show ---") -;; (hilit-chg-map-changes '(lambda (prop start end) -;; (message "%d-%d: %s" start end prop) -;; ) +;; (hilit-chg-map-changes (lambda (prop start end) +;; (message "%d-%d: %s" start end prop)) ;; beg end ;; )) ;; @@ -1037,5 +1034,4 @@ This is called when `global-highlight-changes-mode' is turned on." (provide 'hilit-chg) -;; arch-tag: de00301d-5bad-44da-aa82-e0e010b0c463 ;;; hilit-chg.el ends here