Mercurial > emacs
comparison man/ediff.texi @ 38514:10482dd382e7
* viper-ex.el (ex-token-list,ex-cmd-execute): Revamped, courtesy
of Scott Bronson.
(ex-cmd-assoc,ex-compile,ex-cmd-one-letr): New functions.
(viper-check-sub,viper-get-ex-command,viper-execute-ex-command):
Deleted functions.
(viper-get-ex-com-subr,viper-ex,ex-mark): Changed to use the new
ex-token-list.
(viper-get-ex-address-subr): convert registers to char data type.
* viper-util.el (viper-int-to-char,viper-char-equal): new
functions.
(viper-memq-char): use viper-int-to-char.
(viper-file-checked-in-p): use vc-locking-user, if vc doesn't have
vc-locking-state.
(viper-read-key): use viper-read-key-sequence.
* viper.el (viper-major-mode-modifier-list): added
inferior-emacs-lisp-mode.
(this-major-mode-requires-vi-state): new function that uses simple
heuristics to decide if vi state is appropriate.
(set-viper-state-in-major-mode): use this-major-mode-requires-vi-state.
(viper-non-hook-settings): don't advise read-key-sequence.
(viper-read-key-sequence): new function that replaces the
previously used advice to read-key-sequence.
* viper-cmd.el (viper-test-com-defun,viper-exec-change,
viper-exec-Change,viper-execute-com,viper-insert,viper-append,
viper-Append,viper-Insert,viper-open-line,viper-Open-line,
viper-open-line-at-point,viper-substitute,viper-overwrite,
viper-replace-char-subr,viper-forward-word,viper-forward-Word):
got rid of the negative character hack.
(viper-escape-to-state,viper-replace-state-exit-cmd):
use viper-read-key-sequence.
(viper-envelop-ESC-key): no need for ad-get-orig-definition.
(viper-minibuffer-standard-hook,viper-read-string-with-history):
don't override existing minibuffer-setup-hook.
(viper-mark-point,viper-goto-mark-subr,viper-brac-function):
convert registers to char data type.
(viper-autoindent): use viper-indent-line.
* viper-keym.el: use viper-exec-key-in-emacs.
* viper.texi: Added credits, new commands, like :make.
* ediff-util.el: Copyright years.
(ediff-choose-syntax-table): New function.
(ediff-setup): Use ediff-choose-syntax-table.
(ediff-file-checked-out-p,ediff-file-checked-in-p): check if
vc-state is available.
(ediff-make-temp-file): use ediff-coding-system-for-write.
* ediff-init.el (ediff-with-syntax-table): New macro, uses
with-syntax-table.
(ediff-coding-system-for-read): from ediff-diff.el
(ediff-coding-system-for-write): new variable.
(ediff-highest-priority): fixed the bug having to do with disappearing
overlays.
(ediff-file-remote-p): use file-remote-p, if available.
(ediff-listable-file): new function.
(ediff-file-attributes): use ediff-listable-file.
* ediff-mult.el (ediff-meta-insert-file-info1): use
ediff-listable-file.
* ediff-ptch.el (ediff-prompt-for-patch-file): use
ediff-coding-system-for-read.
(ediff-patch-file-internal): use ediff-coding-system-for-write.
* ediff-diff.el (ediff-coding-system-for-read): moved to ediff-init.el.
(ediff-match-diff3-line,ediff-get-diff3-group): improved pattern.
* ediff.el: Date of last update, copyright years.
* ediff-wind (ediff-setup-control-frame): Nill->nil.
* ediff.texi: added clarifications, acknowledgements.
author | Michael Kifer <kifer@cs.stonybrook.edu> |
---|---|
date | Sat, 21 Jul 2001 05:28:24 +0000 |
parents | d0c11ec0421d |
children | 62e02f5ae533 |
comparison
equal
deleted
inserted
replaced
38513:144b56521d1d | 38514:10482dd382e7 |
---|---|
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 |
16 @synindex ky cp | |
16 | 17 |
17 @dircategory Emacs | 18 @dircategory Emacs |
18 @direntry | 19 @direntry |
19 * Ediff: (ediff). A visual interface for comparing and merging programs. | 20 * Ediff: (ediff). A visual interface for comparing and merging programs. |
20 @end direntry | 21 @end direntry |
147 extends Emerge, much of the functionality in Ediff is influenced by Emerge. | 148 extends Emerge, much of the functionality in Ediff is influenced by Emerge. |
148 The architecture and the interface are, of course, drastically different. | 149 The architecture and the interface are, of course, drastically different. |
149 | 150 |
150 @node Major Entry Points, Session Commands, Introduction, Top | 151 @node Major Entry Points, Session Commands, Introduction, Top |
151 @chapter Major Entry Points | 152 @chapter Major Entry Points |
153 | |
154 When Ediff starts up, it displays a small control window, which accepts the | |
155 Ediff commands and two or three windows displaying the files to be compared | |
156 or merged. The control window can be in its own small frame or it can be | |
157 part of a bigger frame that displays other buffers. In any case, it is | |
158 important that the control window be active (i.e., be the one receiving the | |
159 keystrokes) when you use Ediff. You can switch to other Emacs buffers at | |
160 will and even edit the files currently being compared with Ediff and then | |
161 switch back to Ediff at any time by activating the appropriate Emacs windows. | |
152 | 162 |
153 Ediff can be invoked interactively using the following functions, which can | 163 Ediff can be invoked interactively using the following functions, which can |
154 be run either from the minibuffer or from the menu bar. In the menu bar, | 164 be run either from the minibuffer or from the menu bar. In the menu bar, |
155 all Ediff's entry points belong to three submenus of the Tools menu: | 165 all Ediff's entry points belong to three submenus of the Tools menu: |
156 Compare, Merge, and Apply Patch. | 166 Compare, Merge, and Apply Patch. |
441 @node Quick Help Commands,Other Session Commands,,Session Commands | 451 @node Quick Help Commands,Other Session Commands,,Session Commands |
442 @section Quick Help Commands | 452 @section Quick Help Commands |
443 | 453 |
444 @table @kbd | 454 @table @kbd |
445 @item ? | 455 @item ? |
456 @kindex ? | |
446 Toggles the Ediff Quick Help window ON and OFF. | 457 Toggles the Ediff Quick Help window ON and OFF. |
447 @item G | 458 @item G |
459 @kindex G | |
448 Prepares a mail buffer for sending a praise or a curse to the Ediff maintainer. | 460 Prepares a mail buffer for sending a praise or a curse to the Ediff maintainer. |
449 | 461 |
450 @item E | 462 @item E |
463 @kindex E | |
451 Brings up the top node of this manual, where you can find further | 464 Brings up the top node of this manual, where you can find further |
452 information on the various Ediff functions and advanced issues, such as | 465 information on the various Ediff functions and advanced issues, such as |
453 customization, session groups, etc. | 466 customization, session groups, etc. |
454 | 467 |
455 @item v | 468 @item v |
469 @kindex v | |
456 Scrolls up buffers A and B (and buffer C where appropriate) in a | 470 Scrolls up buffers A and B (and buffer C where appropriate) in a |
457 coordinated fashion. | 471 coordinated fashion. |
458 @item V | 472 @item V |
473 @kindex V | |
459 Scrolls the buffers down. | 474 Scrolls the buffers down. |
460 | 475 |
461 @item < | 476 @item < |
477 @kindex < | |
462 Scrolls the buffers to the left simultaneously. | 478 Scrolls the buffers to the left simultaneously. |
463 @item > | 479 @item > |
480 @kindex > | |
464 Scrolls buffers to the right. | 481 Scrolls buffers to the right. |
465 | 482 |
466 @item wd | 483 @item wd |
484 @kindex wd | |
467 Saves the output from the diff utility, for further reference. | 485 Saves the output from the diff utility, for further reference. |
468 | 486 |
469 With prefix argument, saves the plain output from @code{diff} (see | 487 With prefix argument, saves the plain output from @code{diff} (see |
470 @code{ediff-diff-program} and @code{ediff-diff-options}). Without the | 488 @code{ediff-diff-program} and @code{ediff-diff-options}). Without the |
471 argument, it saves customized @code{diff} output (see | 489 argument, it saves customized @code{diff} output (see |
472 @code{ediff-custom-diff-program} and @code{ediff-custom-diff-options}), if | 490 @code{ediff-custom-diff-program} and @code{ediff-custom-diff-options}), if |
473 it is available. | 491 it is available. |
474 | 492 |
475 @item wa | 493 @item wa |
494 @kindex wa | |
476 Saves buffer A, if it was modified. | 495 Saves buffer A, if it was modified. |
477 @item wb | 496 @item wb |
497 @kindex wb | |
478 Saves buffer B, if it was modified. | 498 Saves buffer B, if it was modified. |
479 @item wc | 499 @item wc |
500 @kindex wc | |
480 Saves buffer C, if it was modified (if you are in a session that | 501 Saves buffer C, if it was modified (if you are in a session that |
481 compares three files simultaneously). | 502 compares three files simultaneously). |
482 | 503 |
483 @item a | 504 @item a |
505 @kindex a | |
484 @emph{In comparison sessions:} | 506 @emph{In comparison sessions:} |
485 Copies the current difference region (or the region specified as the prefix | 507 Copies the current difference region (or the region specified as the prefix |
486 to this command) from buffer A to buffer B. | 508 to this command) from buffer A to buffer B. |
487 Ediff saves the old contents of buffer B's region; it can | 509 Ediff saves the old contents of buffer B's region; it can |
488 be restored via the command @kbd{rb}, which see. | 510 be restored via the command @kbd{rb}, which see. |
491 Copies the current difference region (or the region specified as the prefix | 513 Copies the current difference region (or the region specified as the prefix |
492 to this command) from buffer A to the merge buffer. The old contents of | 514 to this command) from buffer A to the merge buffer. The old contents of |
493 this region in buffer C can be restored via the command @kbd{r}. | 515 this region in buffer C can be restored via the command @kbd{r}. |
494 | 516 |
495 @item b | 517 @item b |
518 @kindex b | |
496 Works similarly, but copies the current difference region from buffer B to | 519 Works similarly, but copies the current difference region from buffer B to |
497 buffer A (in @emph{comparison sessions}) or the merge buffer (in | 520 buffer A (in @emph{comparison sessions}) or the merge buffer (in |
498 @emph{merge sessions}). | 521 @emph{merge sessions}). |
499 | 522 |
500 Ediff saves the old contents of the difference region copied over; it can | 523 Ediff saves the old contents of the difference region copied over; it can |
501 be reinstated via the command @kbd{ra} in comparison sessions and | 524 be reinstated via the command @kbd{ra} in comparison sessions and |
502 @kbd{r} in merge sessions. | 525 @kbd{r} in merge sessions. |
503 | 526 |
504 @item ab | 527 @item ab |
528 @kindex ab | |
505 Copies the current difference region (or the region specified as the prefix | 529 Copies the current difference region (or the region specified as the prefix |
506 to this command) from buffer A to buffer B. This (and the next five) | 530 to this command) from buffer A to buffer B. This (and the next five) |
507 command is enabled only in sessions that compare three files | 531 command is enabled only in sessions that compare three files |
508 simultaneously. The old region in buffer B is saved and can be restored | 532 simultaneously. The old region in buffer B is saved and can be restored |
509 via the command @kbd{rb}. | 533 via the command @kbd{rb}. |
510 @item ac | 534 @item ac |
535 @kindex ac | |
511 Copies the difference region from buffer A to buffer C. | 536 Copies the difference region from buffer A to buffer C. |
512 The old region in buffer C is saved and can be restored via the command | 537 The old region in buffer C is saved and can be restored via the command |
513 @kbd{rc}. | 538 @kbd{rc}. |
514 @item ba | 539 @item ba |
540 @kindex ba | |
515 Copies the difference region from buffer B to buffer A. | 541 Copies the difference region from buffer B to buffer A. |
516 The old region in buffer A is saved and can be restored via the command | 542 The old region in buffer A is saved and can be restored via the command |
517 @kbd{ra}. | 543 @kbd{ra}. |
518 @item bc | 544 @item bc |
545 @kindex bc | |
519 Copies the difference region from buffer B to buffer C. | 546 Copies the difference region from buffer B to buffer C. |
520 The command @kbd{rc} undoes this. | 547 The command @kbd{rc} undoes this. |
521 @item ca | 548 @item ca |
549 @kindex ca | |
522 Copies the difference region from buffer C to buffer A. | 550 Copies the difference region from buffer C to buffer A. |
523 The command @kbd{ra} undoes this. | 551 The command @kbd{ra} undoes this. |
524 @item cb | 552 @item cb |
553 @kindex cb | |
525 Copies the difference region from buffer C to buffer B. | 554 Copies the difference region from buffer C to buffer B. |
526 The command @kbd{rb} undoes this. | 555 The command @kbd{rb} undoes this. |
527 | 556 |
528 @item p | 557 @item p |
529 @itemx DEL | 558 @itemx DEL |
559 @kindex p | |
560 @kindex DEL | |
530 Makes the previous difference region current. | 561 Makes the previous difference region current. |
531 @item n | 562 @item n |
532 @itemx SPC | 563 @itemx SPC |
564 @kindex n | |
565 @kindex SPC | |
533 Makes the next difference region current. | 566 Makes the next difference region current. |
534 | 567 |
535 @item j | 568 @item j |
536 @itemx -j | 569 @itemx -j |
537 @itemx Nj | 570 @itemx Nj |
571 @kindex j | |
538 Makes the very first difference region current. | 572 Makes the very first difference region current. |
539 | 573 |
540 @kbd{-j} makes the last region current. Typing a number, N, and then `j' | 574 @kbd{-j} makes the last region current. Typing a number, N, and then `j' |
541 makes the difference region N current. Typing -N (a negative number) then | 575 makes the difference region N current. Typing -N (a negative number) then |
542 `j' makes current the region Last - N. | 576 `j' makes current the region Last - N. |
543 | 577 |
544 @item ga | 578 @item ga |
579 @kindex ga | |
545 Makes current the difference region closest to the position of the point in | 580 Makes current the difference region closest to the position of the point in |
546 buffer A. | 581 buffer A. |
547 | 582 |
548 However, with a prefix argument, Ediff would position all variants | 583 However, with a prefix argument, Ediff would position all variants |
549 around the area indicated by the current point in buffer A: if | 584 around the area indicated by the current point in buffer A: if |
551 positioned at this difference region. If the point is not in any difference | 586 positioned at this difference region. If the point is not in any difference |
552 region, then it is in an area where all variants agree with each other. In | 587 region, then it is in an area where all variants agree with each other. In |
553 this case, the variants will be positioned so that each would display this | 588 this case, the variants will be positioned so that each would display this |
554 area (of agreement). | 589 area (of agreement). |
555 @item gb | 590 @item gb |
591 @kindex gb | |
556 Makes current the difference region closest to the position of the point in | 592 Makes current the difference region closest to the position of the point in |
557 buffer B. | 593 buffer B. |
558 | 594 |
559 With a prefix argument, behaves like @kbd{ga}, but with respect to buffer B. | 595 With a prefix argument, behaves like @kbd{ga}, but with respect to buffer B. |
560 @item gc | 596 @item gc |
597 @kindex gc | |
561 @emph{In merge sessions:} | 598 @emph{In merge sessions:} |
562 makes current the difference region closest to the point in the merge buffer. | 599 makes current the difference region closest to the point in the merge buffer. |
563 | 600 |
564 @emph{In 3-file comparison sessions:} | 601 @emph{In 3-file comparison sessions:} |
565 makes current the region closest to the point in buffer C. | 602 makes current the region closest to the point in buffer C. |
566 | 603 |
567 With a prefix argument, behaves like @kbd{ga}, but with respect to buffer C. | 604 With a prefix argument, behaves like @kbd{ga}, but with respect to buffer C. |
568 | 605 |
569 @item ! | 606 @item ! |
607 @kindex ! | |
570 Recomputes the difference regions, bringing them up to date. This is often | 608 Recomputes the difference regions, bringing them up to date. This is often |
571 needed because it is common to do all sorts of editing during Ediff | 609 needed because it is common to do all sorts of editing during Ediff |
572 sessions, so after a while, the highlighted difference regions may no | 610 sessions, so after a while, the highlighted difference regions may no |
573 longer reflect the actual differences among the buffers. | 611 longer reflect the actual differences among the buffers. |
574 | 612 |
575 @item * | 613 @item * |
614 @kindex * | |
576 Forces refinement of the current difference region, which highlights the exact | 615 Forces refinement of the current difference region, which highlights the exact |
577 words of disagreement among the buffers. With a negative prefix argument, | 616 words of disagreement among the buffers. With a negative prefix argument, |
578 unhighlights the current region. | 617 unhighlights the current region. |
579 | 618 |
580 Forceful refinement may be needed if Ediff encounters a difference region | 619 Forceful refinement may be needed if Ediff encounters a difference region |
587 | 626 |
588 This command is also useful when the highlighted fine differences are | 627 This command is also useful when the highlighted fine differences are |
589 no longer current, due to user editing. | 628 no longer current, due to user editing. |
590 | 629 |
591 @item m | 630 @item m |
631 @kindex m | |
592 Displays the current Ediff session in a frame as wide as the physical | 632 Displays the current Ediff session in a frame as wide as the physical |
593 display. This is useful when comparing files side-by-side. Typing `m' again | 633 display. This is useful when comparing files side-by-side. Typing `m' again |
594 restores the original size of the frame. | 634 restores the original size of the frame. |
595 | 635 |
596 @item | | 636 @item | |
637 @kindex | | |
597 Toggles the horizontal/vertical split of the Ediff display. Horizontal | 638 Toggles the horizontal/vertical split of the Ediff display. Horizontal |
598 split is convenient when it is possible to compare files | 639 split is convenient when it is possible to compare files |
599 side-by-side. If the frame in which files are displayed is too narrow | 640 side-by-side. If the frame in which files are displayed is too narrow |
600 and lines are cut off, typing @kbd{m} may help some. | 641 and lines are cut off, typing @kbd{m} may help some. |
601 | 642 |
602 @item @@ | 643 @item @@ |
644 @kindex @@ | |
603 Toggles auto-refinement of difference regions (i.e., automatic highlighting | 645 Toggles auto-refinement of difference regions (i.e., automatic highlighting |
604 of the exact words that differ among the variants). Auto-refinement is | 646 of the exact words that differ among the variants). Auto-refinement is |
605 turned off on devices where Emacs doesn't support highlighting. | 647 turned off on devices where Emacs doesn't support highlighting. |
606 | 648 |
607 On slow machines, it may be advantageous to turn auto-refinement off. The | 649 On slow machines, it may be advantageous to turn auto-refinement off. The |
608 user can always forcefully refine specific difference regions by typing | 650 user can always forcefully refine specific difference regions by typing |
609 @kbd{*}. | 651 @kbd{*}. |
610 | 652 |
611 @item h | 653 @item h |
654 @kindex h | |
612 Cycles between full highlighting, the mode where fine differences are not | 655 Cycles between full highlighting, the mode where fine differences are not |
613 highlighted (but computed), and the mode where highlighting is done with | 656 highlighted (but computed), and the mode where highlighting is done with |
614 ASCII strings. The latter is not really recommended, unless on a dumb TTY. | 657 ASCII strings. The latter is not really recommended, unless on a dumb TTY. |
615 | 658 |
616 @item r | 659 @item r |
660 @kindex r | |
617 Restores the old contents of the region in the merge buffer. | 661 Restores the old contents of the region in the merge buffer. |
618 (If you copied a difference region from buffer A or B into the merge buffer | 662 (If you copied a difference region from buffer A or B into the merge buffer |
619 using the commands @kbd{a} or @kbd{b}, Ediff saves the old contents of the | 663 using the commands @kbd{a} or @kbd{b}, Ediff saves the old contents of the |
620 region in case you change your mind.) | 664 region in case you change your mind.) |
621 | 665 |
622 This command is enabled in merge sessions only. | 666 This command is enabled in merge sessions only. |
623 | 667 |
624 @item ra | 668 @item ra |
669 @kindex ra | |
625 Restores the old contents of the current difference region in buffer A, | 670 Restores the old contents of the current difference region in buffer A, |
626 which was previously saved when the user invoked one of these commands: | 671 which was previously saved when the user invoked one of these commands: |
627 @kbd{b}, @kbd{ba}, @kbd{ca}, which see. This command is enabled in | 672 @kbd{b}, @kbd{ba}, @kbd{ca}, which see. This command is enabled in |
628 comparison sessions only. | 673 comparison sessions only. |
629 @item rb | 674 @item rb |
675 @kindex rb | |
630 Restores the old contents of the current difference region in buffer B, | 676 Restores the old contents of the current difference region in buffer B, |
631 which was previously saved when the user invoked one of these commands: | 677 which was previously saved when the user invoked one of these commands: |
632 @kbd{a}, @kbd{ab}, @kbd{cb}, which see. This command is enabled in | 678 @kbd{a}, @kbd{ab}, @kbd{cb}, which see. This command is enabled in |
633 comparison sessions only. | 679 comparison sessions only. |
634 @item rc | 680 @item rc |
681 @kindex rc | |
635 Restores the old contents of the current difference region in buffer C, | 682 Restores the old contents of the current difference region in buffer C, |
636 which was previously saved when the user invoked one of these commands: | 683 which was previously saved when the user invoked one of these commands: |
637 @kbd{ac}, @kbd{bc}, which see. This command is enabled in 3-file | 684 @kbd{ac}, @kbd{bc}, which see. This command is enabled in 3-file |
638 comparison sessions only. | 685 comparison sessions only. |
639 | 686 |
640 @item ## | 687 @item ## |
688 @kindex ## | |
641 Tell Ediff to skip over regions that disagree among themselves only in the | 689 Tell Ediff to skip over regions that disagree among themselves only in the |
642 amount of white space and line breaks. | 690 amount of white space and line breaks. |
643 | 691 |
644 Even though such regions will be skipped over, you can still jump to any | 692 Even though such regions will be skipped over, you can still jump to any |
645 one of them by typing the region number and then `j'. Typing @kbd{##} | 693 one of them by typing the region number and then `j'. Typing @kbd{##} |
646 again puts Ediff back in the original state. | 694 again puts Ediff back in the original state. |
647 | 695 |
648 @item #h | 696 @item #h |
649 @itemx #f | 697 @itemx #f |
698 @kindex #f | |
699 @kindex #h | |
650 Ediff works hard to ameliorate the effects of boredom in the workplace... | 700 Ediff works hard to ameliorate the effects of boredom in the workplace... |
651 | 701 |
652 Quite often differences are due to identical replacements (e.g., the word | 702 Quite often differences are due to identical replacements (e.g., the word |
653 `foo' is replaced with the word `bar' everywhere). If the number of regions | 703 `foo' is replaced with the word `bar' everywhere). If the number of regions |
654 with such boring differences exceeds your tolerance threshold, you may be | 704 with such boring differences exceeds your tolerance threshold, you may be |
665 @kbd{#f} does dual job: it focuses on regions that match the corresponding | 715 @kbd{#f} does dual job: it focuses on regions that match the corresponding |
666 regular expressions. All other regions will be skipped | 716 regular expressions. All other regions will be skipped |
667 over. @xref{Selective Browsing}, for more. | 717 over. @xref{Selective Browsing}, for more. |
668 | 718 |
669 @item A | 719 @item A |
720 @kindex A | |
670 Toggles the read-only property in buffer A. | 721 Toggles the read-only property in buffer A. |
671 If file A is under version control and is checked in, it is checked out | 722 If file A is under version control and is checked in, it is checked out |
672 (with your permission). | 723 (with your permission). |
673 @item B | 724 @item B |
725 @kindex B | |
674 Toggles the read-only property in buffer B. | 726 Toggles the read-only property in buffer B. |
675 If file B is under version control and is checked in, it is checked out. | 727 If file B is under version control and is checked in, it is checked out. |
676 @item C | 728 @item C |
729 @kindex C | |
677 Toggles the read-only property in buffer C (in 3-file comparison sessions). | 730 Toggles the read-only property in buffer C (in 3-file comparison sessions). |
678 If file C is under version control and is checked in, it is checked out. | 731 If file C is under version control and is checked in, it is checked out. |
679 | 732 |
680 @item ~ | 733 @item ~ |
734 @kindex ~ | |
681 Swaps the windows where buffers A and B are displayed. If you are comparing | 735 Swaps the windows where buffers A and B are displayed. If you are comparing |
682 three buffers at once, then this command would rotate the windows among | 736 three buffers at once, then this command would rotate the windows among |
683 buffers A, B, and C. | 737 buffers A, B, and C. |
684 | 738 |
685 @item i | 739 @item i |
740 @kindex i | |
686 Displays all kinds of useful data about the current Ediff session. | 741 Displays all kinds of useful data about the current Ediff session. |
687 @item D | 742 @item D |
743 @kindex D | |
688 Runs @code{ediff-custom-diff-program} on the variants and displays the | 744 Runs @code{ediff-custom-diff-program} on the variants and displays the |
689 buffer containing the output. This is useful when you must send the output | 745 buffer containing the output. This is useful when you must send the output |
690 to your Mom. | 746 to your Mom. |
691 | 747 |
692 With a prefix argument, displays the plain @code{diff} output. | 748 With a prefix argument, displays the plain @code{diff} output. |
693 @xref{Patch and Diff Programs}, for details. | 749 @xref{Patch and Diff Programs}, for details. |
694 | 750 |
695 @item R | 751 @item R |
752 @kindex R | |
696 Displays a list of currently active Ediff sessions---the Ediff Registry. | 753 Displays a list of currently active Ediff sessions---the Ediff Registry. |
697 You can then restart any of these sessions by either clicking on a session | 754 You can then restart any of these sessions by either clicking on a session |
698 record or by putting the cursor over it and then typing the return key. | 755 record or by putting the cursor over it and then typing the return key. |
699 | 756 |
700 (Some poor souls leave so many active Ediff sessions around that they loose | 757 (Some poor souls leave so many active Ediff sessions around that they loose |
704 Typing @kbd{R} brings up Ediff Registry only if it is typed into an Ediff | 761 Typing @kbd{R} brings up Ediff Registry only if it is typed into an Ediff |
705 Control Panel. If you don't have a control panel handy, type this in the | 762 Control Panel. If you don't have a control panel handy, type this in the |
706 minibuffer: @kbd{M-x eregistry}. @xref{Registry of Ediff Sessions}. | 763 minibuffer: @kbd{M-x eregistry}. @xref{Registry of Ediff Sessions}. |
707 | 764 |
708 @item M | 765 @item M |
766 @kindex M | |
709 Shows the session group buffer that invoked the current Ediff session. | 767 Shows the session group buffer that invoked the current Ediff session. |
710 @xref{Session Groups}, for more information on session groups. | 768 @xref{Session Groups}, for more information on session groups. |
711 | 769 |
712 @item z | 770 @item z |
771 @kindex z | |
713 Suspends the current Ediff session. (If you develop a condition known as | 772 Suspends the current Ediff session. (If you develop a condition known as |
714 Repetitive Ediff Injury---a serious but curable illness---you must change | 773 Repetitive Ediff Injury---a serious but curable illness---you must change |
715 your current activity. This command tries hard to hide all Ediff-related | 774 your current activity. This command tries hard to hide all Ediff-related |
716 buffers.) | 775 buffers.) |
717 | 776 |
718 The easiest way to resume a suspended Ediff session is through the registry | 777 The easiest way to resume a suspended Ediff session is through the registry |
719 of active sessions. @xref{Registry of Ediff Sessions}, for details. | 778 of active sessions. @xref{Registry of Ediff Sessions}, for details. |
720 @item q | 779 @item q |
780 @kindex q | |
721 Terminates this Ediff session. With a prefix argument (e.g.,@kbd{1q}), asks | 781 Terminates this Ediff session. With a prefix argument (e.g.,@kbd{1q}), asks |
722 if you also want to delete the buffers of the variants. | 782 if you also want to delete the buffers of the variants. |
723 Modified files and the results of merges are never deleted. | 783 Modified files and the results of merges are never deleted. |
724 | 784 |
725 @item % | 785 @item % |
786 @kindex % | |
726 Toggles narrowing in Ediff buffers. Ediff buffers may be narrowed if you | 787 Toggles narrowing in Ediff buffers. Ediff buffers may be narrowed if you |
727 are comparing only parts of these buffers via the commands | 788 are comparing only parts of these buffers via the commands |
728 @code{ediff-windows-*} and @code{ediff-regions-*}, which see. | 789 @code{ediff-windows-*} and @code{ediff-regions-*}, which see. |
729 | 790 |
730 @item C-l | 791 @item C-l |
792 @kindex C-l | |
731 Restores the usual Ediff window setup. This is the quickest way to resume | 793 Restores the usual Ediff window setup. This is the quickest way to resume |
732 an Ediff session, but it works only if the control panel of that session is | 794 an Ediff session, but it works only if the control panel of that session is |
733 visible. | 795 visible. |
734 | 796 |
735 @item $$ | 797 @item $$ |
798 @kindex $$ | |
736 While merging with an ancestor file, Ediff is determined to reduce user's | 799 While merging with an ancestor file, Ediff is determined to reduce user's |
737 wear and tear by saving him and her much of unproductive, repetitive | 800 wear and tear by saving him and her much of unproductive, repetitive |
738 typing. If it notices that, say, file A's difference region is identical to | 801 typing. If it notices that, say, file A's difference region is identical to |
739 the same difference region in the ancestor file, then the merge buffer will | 802 the same difference region in the ancestor file, then the merge buffer will |
740 automatically get the difference region taken from buffer B. The rationale | 803 automatically get the difference region taken from buffer B. The rationale |
750 The above command does this for you by skipping the regions where only one | 813 The above command does this for you by skipping the regions where only one |
751 of the variants clashes with the ancestor but the other variant agrees with | 814 of the variants clashes with the ancestor but the other variant agrees with |
752 it. Typing @kbd{$$} again undoes this setting. | 815 it. Typing @kbd{$$} again undoes this setting. |
753 | 816 |
754 @item $* | 817 @item $* |
818 @kindex $* | |
755 When merging files with large number of differences, it is sometimes | 819 When merging files with large number of differences, it is sometimes |
756 convenient to be able to skip the difference regions for which you already | 820 convenient to be able to skip the difference regions for which you already |
757 decided which variant is most appropriate. Typing @kbd{$*} will accomplish | 821 decided which variant is most appropriate. Typing @kbd{$*} will accomplish |
758 precisely this. | 822 precisely this. |
759 | 823 |
765 things in this respect). If the merge region is marked as `prefer-A' then | 829 things in this respect). If the merge region is marked as `prefer-A' then |
766 this region will be skipped if it differs from the current difference | 830 this region will be skipped if it differs from the current difference |
767 region in buffer A, etc. | 831 region in buffer A, etc. |
768 | 832 |
769 @item / | 833 @item / |
834 @kindex / | |
770 Displays the ancestor file during merges. | 835 Displays the ancestor file during merges. |
771 @item & | 836 @item & |
837 @kindex & | |
772 In some situations, such as when one of the files agrees with the ancestor file | 838 In some situations, such as when one of the files agrees with the ancestor file |
773 on a difference region and the other doesn't, Ediff knows what to do: it copies | 839 on a difference region and the other doesn't, Ediff knows what to do: it copies |
774 the current difference region from the second buffer into the merge buffer. | 840 the current difference region from the second buffer into the merge buffer. |
775 | 841 |
776 In other cases, the right course of action is not that clearcut, and Ediff | 842 In other cases, the right course of action is not that clearcut, and Ediff |
786 region has the status @samp{default-A} then changing the default action to | 852 region has the status @samp{default-A} then changing the default action to |
787 @samp{default-B} will also replace this merge-buffer's region with the | 853 @samp{default-B} will also replace this merge-buffer's region with the |
788 corresponding region from buffer B. | 854 corresponding region from buffer B. |
789 | 855 |
790 @item s | 856 @item s |
857 @kindex s | |
791 Causes the merge window shrink to its minimum size, thereby exposing as much | 858 Causes the merge window shrink to its minimum size, thereby exposing as much |
792 of the variant buffers as possible. Typing `s' again restores | 859 of the variant buffers as possible. Typing `s' again restores |
793 the original size of that window. | 860 the original size of that window. |
794 | 861 |
795 With a positive prefix argument, this command enlarges the merge window. | 862 With a positive prefix argument, this command enlarges the merge window. |
805 | 872 |
806 The split between the merge window and the variant windows is controlled by | 873 The split between the merge window and the variant windows is controlled by |
807 the variable @code{ediff-merge-window-share}, which see. | 874 the variable @code{ediff-merge-window-share}, which see. |
808 | 875 |
809 @item + | 876 @item + |
877 @kindex + | |
810 Combines the difference regions from buffers A and B and copies the | 878 Combines the difference regions from buffers A and B and copies the |
811 result into the merge buffer. @xref{Merging and diff3}, and the | 879 result into the merge buffer. @xref{Merging and diff3}, and the |
812 variables @code{ediff-combine-diffs} and @code{ediff-combination-pattern}. | 880 variables @code{ediff-combine-diffs} and @code{ediff-combination-pattern}. |
813 | 881 |
814 | 882 |
815 @item = | 883 @item = |
884 @kindex = | |
816 You may run into situations when a large chunk of text in one file has been | 885 You may run into situations when a large chunk of text in one file has been |
817 edited and then moved to a different place in another file. In such a case, | 886 edited and then moved to a different place in another file. In such a case, |
818 these two chunks of text are unlikely to belong to the same difference | 887 these two chunks of text are unlikely to belong to the same difference |
819 region, so the refinement feature of Ediff will not be able to tell you | 888 region, so the refinement feature of Ediff will not be able to tell you |
820 what exactly differs inside these chunks. Since eyeballing large pieces of | 889 what exactly differs inside these chunks. Since eyeballing large pieces of |
833 be asked which two of the three buffers to use). | 902 be asked which two of the three buffers to use). |
834 | 903 |
835 @emph{If you are merging files or buffers (with or without ancestor):} | 904 @emph{If you are merging files or buffers (with or without ancestor):} |
836 Ediff would take the current region in the merge buffer and compare | 905 Ediff would take the current region in the merge buffer and compare |
837 it to the current region in the buffer of your choice (A or B). | 906 it to the current region in the buffer of your choice (A or B). |
907 | |
908 @emph{Note: In all these cases you must first switch to the appropriate | |
909 Emacs buffers and manually set the regions that you want to compare.} | |
838 | 910 |
839 Highlighting set by the parent Ediff session is removed, to avoid interference | 911 Highlighting set by the parent Ediff session is removed, to avoid interference |
840 with highlighting of the child session. When done with the child session, type | 912 with highlighting of the child session. When done with the child session, type |
841 @kbd{C-l} in the parent's control panel to restore the original highlighting. | 913 @kbd{C-l} in the parent's control panel to restore the original highlighting. |
842 | 914 |
2327 Sam Steingold (sds@@goems.com), | 2399 Sam Steingold (sds@@goems.com), |
2328 Leigh L Klotz (klotz@@adoc.xerox.com), | 2400 Leigh L Klotz (klotz@@adoc.xerox.com), |
2329 Fritz Knabe (Fritz.Knabe@@ecrc.de), | 2401 Fritz Knabe (Fritz.Knabe@@ecrc.de), |
2330 Heinz Knutzen (hk@@informatik.uni-kiel.d400.de), | 2402 Heinz Knutzen (hk@@informatik.uni-kiel.d400.de), |
2331 Andrew Koenig (ark@@research.att.com), | 2403 Andrew Koenig (ark@@research.att.com), |
2404 Hannu Koivisto (azure@@iki.fi), | |
2332 Ken Laprade (laprade@@dw3f.ess.harris.com), | 2405 Ken Laprade (laprade@@dw3f.ess.harris.com), |
2333 Will C Lauer (wcl@@cadre.com), | 2406 Will C Lauer (wcl@@cadre.com), |
2334 Richard Levitte (levitte@@e.kth.se), | 2407 Richard Levitte (levitte@@e.kth.se), |
2335 Mike Long (mike.long@@analog.com), | 2408 Mike Long (mike.long@@analog.com), |
2336 Martin Maechler (maechler@@stat.math.ethz.ch), | 2409 Martin Maechler (maechler@@stat.math.ethz.ch), |
2337 Simon Marshall (simon@@gnu.org), | 2410 Simon Marshall (simon@@gnu.org), |
2411 Paul C. Meuse (pmeuse@@delcomsys.com), | |
2338 Richard Mlynarik (mly@@adoc.xerox.com), | 2412 Richard Mlynarik (mly@@adoc.xerox.com), |
2339 Stefan Monnier (monnier@@cs.yale.edu), | 2413 Stefan Monnier (monnier@@cs.yale.edu), |
2340 Chris Murphy (murphycm@@sun.aston.ac.uk), | 2414 Chris Murphy (murphycm@@sun.aston.ac.uk), |
2341 Erik Naggum (erik@@naggum.no), | 2415 Erik Naggum (erik@@naggum.no), |
2342 Eyvind Ness (Eyvind.Ness@@hrp.no), | 2416 Eyvind Ness (Eyvind.Ness@@hrp.no), |