mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 07:18:17 +00:00
vim-patch:8.1.0562: parsing of 'diffopt' is slightly wrong
Problem: Parsing of 'diffopt' is slightly wrong.
Solution: Fix the parsing and add a test. (Jason Franklin, Christian
Brabandt)
b6fc72851c
This commit is contained in:
@@ -2109,6 +2109,7 @@ int diffopt_changed(void)
|
||||
int diff_flags_new = 0;
|
||||
int diff_foldcolumn_new = 2;
|
||||
long diff_algorithm_new = 0;
|
||||
long diff_indent_heuristic = 0;
|
||||
|
||||
char_u *p = p_dip;
|
||||
while (*p != NUL) {
|
||||
@@ -2147,7 +2148,7 @@ int diffopt_changed(void)
|
||||
diff_flags_new |= DIFF_HIDDEN_OFF;
|
||||
} else if (STRNCMP(p, "indent-heuristic", 16) == 0) {
|
||||
p += 16;
|
||||
diff_algorithm_new |= XDF_INDENT_HEURISTIC;
|
||||
diff_indent_heuristic = XDF_INDENT_HEURISTIC;
|
||||
} else if (STRNCMP(p, "internal", 8) == 0) {
|
||||
p += 8;
|
||||
diff_flags_new |= DIFF_INTERNAL;
|
||||
@@ -2179,6 +2180,8 @@ int diffopt_changed(void)
|
||||
}
|
||||
}
|
||||
|
||||
diff_algorithm_new |= diff_indent_heuristic;
|
||||
|
||||
// Can't have both "horizontal" and "vertical".
|
||||
if ((diff_flags_new & DIFF_HORIZONTAL) && (diff_flags_new & DIFF_VERTICAL)) {
|
||||
return FAIL;
|
||||
|
Reference in New Issue
Block a user