X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/892c6176ca48be65188f674165c48a839d7af9ea..177c0ea74342272645959b82cf219faa0b3dba16:/man/ediff.texi diff --git a/man/ediff.texi b/man/ediff.texi index ed1dbe01e8..fa3774ec08 100644 --- a/man/ediff.texi +++ b/man/ediff.texi @@ -15,23 +15,20 @@ @synindex pg cp @synindex ky cp -@dircategory Emacs -@direntry -* Ediff: (ediff). A visual interface for comparing and merging programs. -@end direntry - @iftex @finalout @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) -@ifinfo -This file documents Ediff, a comprehensive visual interface to diff +@copying +This file documents Ediff, a comprehensive visual interface to Unix diff and patch utilities. -Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. +@quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no @@ -48,42 +45,28 @@ This document is part of a collection distributed under the GNU Free Documentation License. If you want to distribute this document separately from the collection, you can do so by adding a copy of the license to the document, as described in section 6 of the license. -@end ifinfo +@end quotation +@end copying + +@dircategory Emacs +@direntry +* Ediff: (ediff). A visual interface for comparing and merging programs. +@end direntry -@iftex @titlepage @title Ediff User's Manual @sp 4 -@subtitle Ediff version 2.70 +@subtitle Ediff version 2.76.1 @sp 1 -@subtitle March 1998 +@subtitle January 2002 @sp 5 @author Michael Kifer @page @vskip 0pt plus 1filll -@noindent -Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU -Manual'', and with the Back-Cover Texts as in (a) below. A copy of the -license is included in the section entitled ``GNU Free Documentation -License'' in the Emacs manual. - -(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify -this GNU Manual, like GNU software. Copies published by the Free -Software Foundation raise funds for GNU development.'' - -This document is part of a collection distributed under the GNU Free -Documentation License. If you want to distribute this document -separately from the collection, you can do so by adding a copy of the -license to the document, as described in section 6 of the license. +@insertcopying @end titlepage -@page -@end iftex + @node Top, Introduction, (dir), (dir) @@ -123,7 +106,7 @@ Furthermore, Ediff is equipped with directory-level capabilities that allow the user to conveniently launch browsing or merging sessions on groups of files in two (or three) different directories. -In addition, Ediff can apply a patch to a file and then let you step though +In addition, Ediff can apply a patch to a file and then let you step through both files, the patched and the original one, simultaneously, difference-by-difference. You can even apply a patch right out of a mail buffer, i.e., patches received by mail don't even have to be saved. Since @@ -225,11 +208,16 @@ Compare windows line-by-line. @item ediff-regions-wordwise @findex ediff-regions-wordwise -Compare regions word-by-word. +Compare regions word-by-word. The regions can come from the same buffer +and they can even overlap. You will be asked to specify the buffers that +contain the regions, which you want to compare. For each buffer, you will +also be asked to mark the regions to be compared. Pay attention to the +messages that appear in the minibuffer. @item ediff-regions-linewise @findex ediff-regions-linewise -Compare regions line-by-line. +Similar to @code{ediff-windows-linewise}, but compares the regions +line-by-line. See @code{ediff-windows-linewise} for more details. @item ediff-revision @findex ediff-revision @@ -257,8 +245,8 @@ utility to change the original files on disk. This is not that dangerous, since you will always have the original contents of the file saved in another file that has the extension @file{.orig}. Furthermore, if the file is under version control, then you can always back -out to one of the previous versions (see the section on Version Countrol in -Emacs manual). +out to one of the previous versions (see the section on Version Control in +the Emacs manual). @code{ediff-patch-file} is careful about versions control: if the file to be patched is checked in, then Ediff will offer to check it out, because @@ -384,15 +372,14 @@ On a color display, fine differences are highlighted with color; on a monochrome display, they are underlined. @xref{Highlighting Difference Regions}, for information on how to customize this. -The functions @code{ediff-windows-wordwise}, +The commands @code{ediff-windows-wordwise}, @code{ediff-windows-linewise}, @code{ediff-regions-wordwise} and @code{ediff-regions-linewise} do comparison on parts of existing Emacs -buffers. Since @code{ediff-windows-wordwise} and +buffers. The commands @code{ediff-windows-wordwise} and @code{ediff-regions-wordwise} are intended for relatively small segments -of buffers, comparison is done on the basis of words rather than lines. -No refinement is necessary in this case. These commands are recommended -only for relatively small regions (perhaps, up to 100 lines), because -these functions have a relatively slow startup. +of buffers (e.g., up to 100 lines, depending on the speed of your machine), +as they perform comparison on the basis of words rather than lines. +(Word-wise comparison of large chunks of text can be slow.) To compare large regions, use @code{ediff-regions-linewise}. This command displays differences much like @code{ediff-files} and @@ -890,31 +877,30 @@ what exactly differs inside these chunks. Since eyeballing large pieces of text is contrary to human nature, Ediff has a special command to help reduce the risk of developing a cataract. -The above command compares regions within Ediff buffers. This creates a -child Ediff session for comparing current Emacs regions in buffers A, B, or -C as follows: +In other situations, the currently highlighted region might be big and you +might want to reconcile of them interactively. -@emph{If you are comparing 2 files or buffers:} -Ediff would compare current Emacs regions in buffers A and B. +All of this can be done with the above command, @kbd{=}, which +compares regions within Ediff buffers. Typing @kbd{=} creates a +child Ediff session for comparing regions in buffers A, B, or +C as follows. -@emph{If you are comparing 3 files or buffers simultaneously:} Ediff would -compare the current Emacs regions in the buffers of your choice (you will -be asked which two of the three buffers to use). +First, you will be asked whether you want to compare the fine differences +between the currently highlighted buffers on a word-by-word basis. If you +accept, a child Ediff session will start using the currently highlighted +regions. Ediff will let you step over the differences word-wise. -@emph{If you are merging files or buffers (with or without ancestor):} -Ediff would take the current region in the merge buffer and compare -it to the current region in the buffer of your choice (A or B). +If you reject the offer, you will be asked to select regions of your choice. -@emph{Note: In all these cases you must first switch to the appropriate -Emacs buffers and manually set the regions that you want to compare.} +@emph{If you are comparing 2 files or buffers:} +Ediff will ask you to select regions in buffers A and B. -Highlighting set by the parent Ediff session is removed, to avoid interference -with highlighting of the child session. When done with the child session, type -@kbd{C-l} in the parent's control panel to restore the original highlighting. +@emph{If you are comparing 3 files or buffers simultaneously:} Ediff will +ask you to choose buffers and then select regions inside those buffers. -If you temporarily switch to the parent session, parent highlighting will be -restored. If you then come back to the child session, you may want to remove -parent highlighting, so it won't interfere. Typing @kbd{h} may help here. +@emph{If you are merging files or buffers (with or without ancestor):} +Ediff will ask you to choose which buffer (A or B) to compare with the +merge buffer and then select regions in those buffers. @end table @@ -949,6 +935,21 @@ This function can also be invoked from the Menubar. However, in some cases, the change will take place only after you execute one of the Ediff commands, such as going to the next difference or redisplaying. +@item ediff-toggle-use-toolbar +@findex ediff-toggle-use-toolbar +Available in XEmacs only. The Ediff toolbar provides quick access to some +of the common Ediff functions. This function toggles the display of the +toolbar. If invoked from the menubar, the function may take sometimes +effect only after you execute an Ediff command, such as going to the next +difference. + +@item ediff-use-toolbar-p +@vindex ediff-use-toolbar-p +The use of the toolbar can also be specified via the variable +@code{ediff-use-toolbar-p} (default is @code{t}). This variable can be set +only in @file{.emacs} --- do @strong{not} change it interactively. Use the +function @code{ediff-toggle-use-toolbar} instead. + @item ediff-revert-buffers-then-recompute-diffs @findex ediff-revert-buffers-then-recompute-diffs This command reverts the buffers you are comparing and recomputes their @@ -1031,9 +1032,20 @@ memorize them. In directory comparison or merging, a session group panel displays only the files common to all directories involved. The differences are kept in a -separate buffer and are conveniently displayed by typing @kbd{D} to the -corresponding session group panel. Thus, as an added benefit, Ediff can be -used to compare the contents of up to three directories. +separate @emph{directory difference buffer} and are conveniently displayed +by typing @kbd{D} to the corresponding session group panel. Thus, as an +added benefit, Ediff can be used to compare the contents of up to three +directories. + +@cindex Directory difference buffer +Sometimes it is desirable to copy some files from one directory to another +without exiting Ediff. The @emph{directory difference buffer}, which is +displayed by typing @kbd{D} as discussed above, can be used for this +purpose. If a file is, say, in Ediff's Directory A, but is missing in +Ediff's Directory B (Ediff will refuse to override existing files), then +typing @kbd{C} or clicking mouse button 2 over that file (which must be +displayed in directory difference buffer) will copy that file from +Directory A to Directory B. Session records in session group panels are also marked with @kbd{+}, for active sessions, and with @kbd{-}, for finished sessions. @@ -1071,7 +1083,7 @@ set on a per-buffer basis. Therefore, use @code{setq-default} to change this variable globally. @cindex Multi-file patches -A multi-file patch is a concatenated output of several runs of the +A multi-file patch is a concatenated output of several runs of the Unix @code{diff} command (some versions of @code{diff} let you create a multi-file patch in just one run). Ediff facilitates creation of multi-file patches as follows. If you are in a session group buffer @@ -1821,8 +1833,8 @@ format yet. @vindex ediff-coding-system-for-read This variable specifies the coding system to use when reading the output that the programs @code{diff3} and @code{diff} send to Emacs. The default -is @code{raw-text}, and this should work fine on GNU, Unix, and in most -cases under Windows NT/95/98/2000. There are @code{diff} programs +is @code{raw-text}, and this should work fine in Unix and in most +cases under Windows NT/95/98/2000. There are @code{diff} programs for which the default option doesn't work under Windows. In such cases, @code{raw-text-dos} might work. If not, you will have to experiment with other coding systems or use GNU diff. @@ -2347,7 +2359,7 @@ control buffer is in its own frame. @node Credits, Index, Customization, Top @chapter Credits -Ediff was written by Michael Kifer . It was inspired +Ediff was written by Michael Kifer . It was inspired by emerge.el written by Dale R.@: Worley . An idea due to Boris Goldowsky made it possible to highlight fine differences in Ediff buffers. Alastair Burt @@ -2356,9 +2368,9 @@ made it work with VC, Marc Paquette wrote the toolbar support package for Ediff, and Hrvoje Niksic adapted it to the Emacs customization package. -Many people provided help with bug reports, patches, and advice. +Many people provided help with bug reports, feature suggestions, and advice. Without them, Ediff would not be nearly as useful as it is today. -Here is a full list of contributors (I hope I didn't miss anyone): +Here is a hopefully full list of contributors: @example Adrian Aichner (aichner@@ecf.teradyne.com), @@ -2396,7 +2408,6 @@ Karl Heuer (kwzh@@gnu.org), (jaffe@@chipmunk.cita.utoronto.ca), David Karr (dkarr@@nmo.gtegsc.com), Norbert Kiesel (norbert@@i3.informatik.rwth-aachen.de), -Sam Steingold (sds@@goems.com), Leigh L Klotz (klotz@@adoc.xerox.com), Fritz Knabe (Fritz.Knabe@@ecrc.de), Heinz Knutzen (hk@@informatik.uni-kiel.d400.de), @@ -2406,6 +2417,7 @@ Ken Laprade (laprade@@dw3f.ess.harris.com), Will C Lauer (wcl@@cadre.com), Richard Levitte (levitte@@e.kth.se), Mike Long (mike.long@@analog.com), +Dave Love (d.love@@dl.ac.uk), Martin Maechler (maechler@@stat.math.ethz.ch), Simon Marshall (simon@@gnu.org), Paul C. Meuse (pmeuse@@delcomsys.com), @@ -2421,6 +2433,8 @@ Francois Pinard (pinard@@iro.umontreal.ca), Tibor Polgar (tlp00@@spg.amdahl.com), David Prince (dave0d@@fegs.co.uk), Paul Raines (raines@@slac.stanford.edu), +Stefan Reicher (xsteve@@riic.at), +Charles Rich (rich@@merl.com), Bill Richter (richter@@math.nwu.edu), C.S.@: Roberson (roberson@@aur.alcatel.com), Kevin Rodgers (kevin.rodgers@@ihs.com), @@ -2432,12 +2446,14 @@ Vin Shelton (acs@@xemacs.org), Scott O. Sherman (Scott.Sherman@@mci.com), Richard Stallman (rms@@gnu.org), Richard Stanton (stanton@@haas.berkeley.edu), +Sam Steingold (sds@@goems.com), Ake Stenhoff (etxaksf@@aom.ericsson.se), Stig (stig@@hackvan.com), Peter Stout (Peter_Stout@@cs.cmu.edu), Chuck Thompson (cthomp@@cs.uiuc.edu), Ray Tomlinson (tomlinso@@bbn.com), Raymond Toy (toy@@rtp.ericsson.se), +Stephen J. Turnbull (stephen@@xemacs.org), Jan Vroonhof (vroonhof@@math.ethz.ch), Colin Walters (walters@@cis.ohio-state.edu), Philippe Waroquiers (philippe.waroquiers@@eurocontrol.be),