Mercurial > emacs
comparison lisp/ediff-init.el @ 30373:6da8732233ea
(ediff-region-help-echo): Modify to use overlay
now passed to the function. It now works properly.
author | Dave Love <fx@gnu.org> |
---|---|
date | Fri, 21 Jul 2000 19:42:34 +0000 |
parents | 90ab0623a3e4 |
children | 557b7595fdcc |
comparison
equal
deleted
inserted
replaced
30372:2047c9586451 | 30373:6da8732233ea |
---|---|
1 ;;; ediff-init.el --- Macros, variables, and defsubsts used by Ediff | 1 ;;; ediff-init.el --- Macros, variables, and defsubsts used by Ediff |
2 | 2 |
3 ;; Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc. |
4 | 4 |
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> | 5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> |
6 | 6 |
7 ;; This file is part of GNU Emacs. | 7 ;; This file is part of GNU Emacs. |
8 | 8 |
809 | 809 |
810 (defun ediff-set-overlay-face (extent face) | 810 (defun ediff-set-overlay-face (extent face) |
811 (ediff-overlay-put extent 'face face) | 811 (ediff-overlay-put extent 'face face) |
812 (ediff-overlay-put extent 'help-echo 'ediff-region-help-echo)) | 812 (ediff-overlay-put extent 'help-echo 'ediff-region-help-echo)) |
813 | 813 |
814 (defun ediff-region-help-echo (extent-or-window &optional buffer point) | 814 (defun ediff-region-help-echo (extent-or-window &optional overlay point) |
815 (let (is-current face diff-num face-help) | 815 (unless overlay |
816 (if buffer | 816 (setq overlay extent-or-window)) |
817 ;; Emacs 21 calling sequence. | 817 (let ((is-current (ediff-overlay-get overlay 'ediff)) |
818 (progn | 818 (face (ediff-overlay-get overlay 'face)) |
819 (setq is-current (get-char-property point 'ediff buffer)) | 819 (diff-num (ediff-overlay-get overlay 'ediff-diff-num))) |
820 (setq face (get-char-property point 'face buffer)) | |
821 (if (stringp face) | |
822 (setq face (intern face))) | |
823 (setq diff-num (get-char-property point 'ediff-diff-num buffer))) | |
824 ;; XEmacs calling sequence. | |
825 (setq is-current (ediff-overlay-get extent-or-window 'ediff)) | |
826 (setq face (ediff-overlay-get extent-or-window 'face)) | |
827 (setq diff-num (ediff-overlay-get extent-or-window 'ediff-diff-num))) | |
828 | 820 |
829 ;; This happens only for refinement overlays | 821 ;; This happens only for refinement overlays |
822 (if (stringp face) | |
823 (setq face (intern face))) | |
830 (setq face-help (and face (get face 'ediff-help-echo))) | 824 (setq face-help (and face (get face 'ediff-help-echo))) |
831 | 825 |
832 (cond ((and is-current diff-num) ; current diff region | 826 (cond ((and is-current diff-num) ; current diff region |
833 (format "Difference region %S -- current" (1+ diff-num))) | 827 (format "Difference region %S -- current" (1+ diff-num))) |
834 ;; This doesn't DTRT because we may have got it from the wrong | 828 (face-help) ; refinement of current diff region |
835 ;; goverlay. Fixme. | |
836 ;;; (face-help) ; refinement of current diff region | |
837 (diff-num ; non-current | 829 (diff-num ; non-current |
838 (format "Difference region %S -- non-current" (1+ diff-num))) | 830 (format "Difference region %S -- non-current" (1+ diff-num))) |
839 (t "")) ; none | 831 (t "")) ; none |
840 )) | 832 )) |
841 | 833 |