comparison man/ediff.texi @ 181:bfd6434d15b3 r20-3b17

Import from CVS: tag r20-3b17
author cvs
date Mon, 13 Aug 2007 09:53:19 +0200
parents 2d532a89d707
children 3d6bfa290dbd
comparison
equal deleted inserted replaced
180:add28d59e586 181:bfd6434d15b3
5 @comment %**start of header (This is for running Texinfo on a region.) 5 @comment %**start of header (This is for running Texinfo on a region.)
6 6
7 @comment Using ediff.info instead of ediff in setfilename breaks DOS. 7 @comment Using ediff.info instead of ediff in setfilename breaks DOS.
8 @comment @setfilename ediff 8 @comment @setfilename ediff
9 @comment @setfilename ediff.info 9 @comment @setfilename ediff.info
10 @setfilename ediff 10 @setfilename ../info/ediff
11 11
12 @settitle Ediff User's Manual 12 @settitle Ediff User's Manual
13 @synindex vr cp 13 @synindex vr cp
14 @synindex fn cp 14 @synindex fn cp
15 @synindex pg cp 15 @synindex pg cp
38 38
39 @iftex 39 @iftex
40 @titlepage 40 @titlepage
41 @title Ediff User's Manual 41 @title Ediff User's Manual
42 @sp 4 42 @sp 4
43 @subtitle Ediff version 2.66 43 @subtitle Ediff version 2.67
44 @sp 1 44 @sp 1
45 @subtitle July 1997 45 @subtitle August 1997
46 @sp 5 46 @sp 5
47 @author Michael Kifer 47 @author Michael Kifer
48 @page 48 @page
49 49
50 @vskip 0pt plus 1filll 50 @vskip 0pt plus 1filll
60 60
61 @node Top, Introduction, (dir), (dir) 61 @node Top, Introduction, (dir), (dir)
62 62
63 63
64 @menu 64 @menu
65 * Introduction:: About Ediff 2.66. 65 * Introduction:: About Ediff 2.67.
66 * Major Entry Points:: How to use Ediff. 66 * Major Entry Points:: How to use Ediff.
67 * Session Commands:: Ediff commands used within a session. 67 * Session Commands:: Ediff commands used within a session.
68 * Registry of Ediff Sessions:: Keeping track of multiple Ediff sessions. 68 * Registry of Ediff Sessions:: Keeping track of multiple Ediff sessions.
69 * Session Groups:: Comparing and merging directories. 69 * Session Groups:: Comparing and merging directories.
70 * Remote and Compressed Files:: You may want to know about this. 70 * Remote and Compressed Files:: You may want to know about this.
1458 Non-current difference regions are displayed using these alternating 1458 Non-current difference regions are displayed using these alternating
1459 faces. The odd and the even faces are actually identical on monochrome 1459 faces. The odd and the even faces are actually identical on monochrome
1460 displays, because without colors options are limited. 1460 displays, because without colors options are limited.
1461 So, Ediff uses italics to highlight non-current differences. 1461 So, Ediff uses italics to highlight non-current differences.
1462 1462
1463 @item ediff-even-diff-pixmap
1464 @itemx ediff-odd-diff-pixmap
1465 @itemx ediff-fine-diff-pixmap
1466 @vindex ediff-even-diff-pixmap
1467 @vindex ediff-odd-diff-pixmap
1468 @vindex ediff-fine-diff-pixmap
1469 On monochrome graphical displays, Ediff attempts to provide additional
1470 hues using background pixmaps. The above variables specify pixmaps (which
1471 are strings representing filenames of bitmaps) for even-numbered background
1472 difference regions, odd-numbered regions, and fine differences. If Ediff's
1473 default pixmaps don't exist on your machine, check the bitmap directory at
1474 your installation to find an appropriate bitmap. The bitmap directory can
1475 be found by checking the value of the Emacs variable
1476 @code{x-bitmap-file-path}.
1477
1478 @item ediff-force-faces 1463 @item ediff-force-faces
1479 @vindex ediff-force-faces 1464 @vindex ediff-force-faces
1480 Ediff generally can detect when Emacs is running on a device where it can 1465 Ediff generally can detect when Emacs is running on a device where it can
1481 use highlighting with faces. However, if it fails to determine that faces 1466 use highlighting with faces. However, if it fails to determine that faces
1482 can be used, the user can set this variable to @code{t} to make sure that 1467 can be used, the user can set this variable to @code{t} to make sure that
1500 effect only under a windowing system. On a text-only terminal or in an 1485 effect only under a windowing system. On a text-only terminal or in an
1501 xterm window, the only available option is highlighting with strings. 1486 xterm window, the only available option is highlighting with strings.
1502 @end table 1487 @end table
1503 1488
1504 @noindent 1489 @noindent
1505 If you want to change the above variables, you must do it 1490 If you want to change the default settings for @code{ediff-force-faces} and
1506 @strong{before} Ediff is loaded. 1491 @code{ediff-highlight-all-diffs}, you must do it @strong{before} Ediff is
1507 1492 loaded.
1508 There are two ways to change the default setting 1493
1509 for highlighting faces: either change the variables, as shown here, 1494 You can also change the defaults for the faces used to highlight the
1510 1495 difference regions. There are two ways to do this. The simplest and the
1511 @example 1496 preferred way is to use the customization widget accessible from the
1512 (setq ediff-current-diff-face-A 'bold-italic) 1497 menubar. Ediff's customization group is located under "Tools", which in
1513 @end example 1498 turn is under "Programming". The faces that are used to highlight
1514 1499 difference regions are located in the "Highlighting" subgroup of the Ediff
1515 @noindent 1500 customization group.
1516 or here, 1501
1502 The second, much more arcane, method to change default faces is to include
1503 some Lisp code in @file{~/.emacs}. For instance,
1517 1504
1518 @example 1505 @example
1519 (setq ediff-current-diff-face-A 1506 (setq ediff-current-diff-face-A
1520 (copy-face 'bold-italic 'ediff-current-diff-face-A)) 1507 (copy-face 'bold-italic 'ediff-current-diff-face-A))
1521 @end example 1508 @end example
1522 1509
1523 @noindent 1510 @noindent
1524 or modify the defaults selectively: 1511 would use the pre-defined fase @code{bold-italic} to highlight the current
1512 difference region in buffer A (this face is not a good choice, by the way).
1513
1514 If you are unhappy with just @emph{some} of the aspects of the default
1515 faces, you can modify them when Ediff is being loaded using
1516 @code{ediff-load-hook}. For instance:
1525 1517
1526 @smallexample 1518 @smallexample
1527 (add-hook 'ediff-load-hook 1519 (add-hook 'ediff-load-hook
1528 (function (lambda () 1520 (function (lambda ()
1529 (set-face-foreground 1521 (set-face-foreground
1531 (set-face-background 1523 (set-face-background
1532 ediff-current-diff-face-B "red") 1524 ediff-current-diff-face-B "red")
1533 (make-face-italic 1525 (make-face-italic
1534 ediff-current-diff-face-B)))) 1526 ediff-current-diff-face-B))))
1535 @end smallexample 1527 @end smallexample
1536
1537 You may also want to take a look at how the above faces are defined in the
1538 source code of Ediff.
1539 1528
1540 @strong{Note:} it is not recommended to use @code{internal-get-face} (or 1529 @strong{Note:} it is not recommended to use @code{internal-get-face} (or
1541 @code{get-face} in XEmacs) when defining Ediff's faces, since this may 1530 @code{get-face} in XEmacs) when defining Ediff's faces, since this may
1542 cause problems when there are several frames with different font sizes. 1531 cause problems when there are several frames with different font sizes.
1543 Instead, use @code{copy-face} or @code{set/make-face-@dots{}} as shown 1532 Instead, use @code{copy-face} or @code{set/make-face-@dots{}} as shown