Variable: smerge-refine-weight-hack
smerge-refine-weight-hack is a variable defined in smerge-mode.el.gz.
Value
t
Documentation
If non-nil, pass to diff as many lines as there are chars in the region.
I.e. each atomic element (e.g. word) will be copied as many times (on different
lines) as it has chars. This has two advantages:
- if diff tries to minimize the number *lines* (rather than chars)
added/removed, this adjust the weights so that adding/removing long
symbols is considered correspondingly more costly.
- smerge-refine-forward-function only needs to be called when chopping up
the regions, and forward-char can be used afterwards.
It has the following disadvantages:
- cannot use diff -w because the weighting causes added spaces in a line
to be represented as added copies of some line, so diff -w can't do the
right thing any more.
- Is a bit more costly (may in degenerate cases use temp files that are 10x
larger than the refined regions).
Source Code
;; Defined in /usr/src/emacs/lisp/vc/smerge-mode.el.gz
(defvar smerge-refine-weight-hack t
"If non-nil, pass to diff as many lines as there are chars in the region.
I.e. each atomic element (e.g. word) will be copied as many times (on different
lines) as it has chars. This has two advantages:
- if `diff' tries to minimize the number *lines* (rather than chars)
added/removed, this adjust the weights so that adding/removing long
symbols is considered correspondingly more costly.
- `smerge-refine-forward-function' only needs to be called when chopping up
the regions, and `forward-char' can be used afterwards.
It has the following disadvantages:
- cannot use `diff -w' because the weighting causes added spaces in a line
to be represented as added copies of some line, so `diff -w' can't do the
right thing any more.
- Is a bit more costly (may in degenerate cases use temp files that are 10x
larger than the refined regions).")