ediff: Miscellaneous
7.12 Miscellaneous
==================
Here are a few other variables for customizing Ediff:
‘ediff-split-window-function’
Controls the way you want the window be split between file-A and
file-B (and file-C, if applicable). It defaults to the vertical
split (‘split-window-vertically’, but you can set it to
‘split-window-horizontally’, if you so wish. Ediff also lets you
switch from vertical to horizontal split and back interactively.
Note that if Ediff detects that all the buffers it compares are
displayed in separate frames, it assumes that the user wants them
to be so displayed and stops splitting windows. Instead, it
arranges for each buffer to be displayed in a separate frame. You
can switch to the one-frame mode by hiding one of the buffers
A/B/C.
You can also swap the windows where buffers are displayed by typing
‘~’.
‘ediff-merge-split-window-function’
Controls how windows are split between buffers A and B in the merge
mode. This variable is like ‘ediff-split-window-function’, but it
defaults to ‘split-window-horizontally’ instead of
‘split-window-vertically’.
‘ediff-make-wide-display-function’
The value is a function to be called to widen the frame for
displaying the Ediff buffers. See the on-line documentation for
‘ediff-make-wide-display-function’ for details. It is also
recommended to look into the source of the default function
‘ediff-make-wide-display’.
You can toggle wide/regular display by typing ‘m’. In the wide
display mode, buffers A, B (and C, when applicable) are displayed
in a single frame that is as wide as the entire workstation screen.
This is useful when files are compared side-by-side. By default,
the display is widened without changing its height.
‘ediff-use-last-dir’
Controls the way Ediff presents the default directory when it
prompts the user for files to compare. If ‘nil’, Ediff uses the
default directory of the current buffer when it prompts the user
for file names. Otherwise, it will use the directories it had
previously used for files A, B, or C, respectively.
‘ediff-no-emacs-help-in-control-buffer’
If ‘t’, makes ‘C-h’ behave like the <DEL> key, i.e., it will move
you back to the previous difference rather than invoking help.
This is useful when, in an xterm window or a text-only terminal,
the Backspace key is bound to ‘C-h’ and is positioned more
conveniently than the <DEL> key.
‘ediff-toggle-read-only-function’
This variable’s value is a function that Ediff uses to toggle the
read-only property in its buffers.
The default function that Ediff uses simply toggles the read-only
property, unless the file is under version control. For a
checked-in file under version control, Ediff first tries to check
the file out.
‘ediff-make-buffers-readonly-at-startup nil’
If ‘t’, all variant buffers are made read-only at Ediff startup.
‘ediff-keep-variants’
The default is ‘t’, meaning that the buffers being compared or
merged will be preserved when Ediff quits. Setting this to ‘nil’
causes Ediff to offer the user a chance to delete these buffers (if
they are not modified). Supplying a prefix argument to the quit
command (‘q’) temporarily reverses the meaning of this variable.
This is convenient when the user prefers one of the behaviors most
of the time, but occasionally needs the other behavior.
However, Ediff temporarily resets this variable to ‘t’ if it is
invoked via one of the "buffer" jobs, such as ‘ediff-buffers’.
This is because it is all too easy to lose a day’s work otherwise.
Besides, in a "buffer" job, the variant buffers have already been
loaded prior to starting Ediff, so Ediff just preserves status quo
here.
Using ‘ediff-cleanup-hook’, one can make Ediff delete the variants
unconditionally (e.g., by making ‘ediff-janitor’ into one of these
hooks).
‘ediff-keep-tmp-versions’
Default is ‘nil’. If ‘t’, the versions of the files being compared
or merged using operations such as ‘ediff-revision’ or
‘ediff-merge-revisions’ are not deleted on exit. The normal action
is to clean up and delete these version files.
‘ediff-grab-mouse’
Default is ‘t’. Normally, Ediff grabs mouse and puts it in its
control frame. This is useful since the user can be sure that when
he needs to type an Ediff command the focus will be in an
appropriate Ediff’s frame. However, some users prefer to move the
mouse by themselves. The above variable, if set to ‘maybe’, will
prevent Ediff from grabbing the mouse in many situations, usually
after commands that may take more time than usual. In other
situation, Ediff will continue grabbing the mouse and putting it
where it believes is appropriate. If the value is ‘nil’, then
mouse is entirely user’s responsibility. Try different settings
and see which one is for you.