diff --git a/autoload/gitgutter/diff_highlight.vim b/autoload/gitgutter/diff_highlight.vim index 7bd48e0..c2c48e1 100644 --- a/autoload/gitgutter/diff_highlight.vim +++ b/autoload/gitgutter/diff_highlight.vim @@ -162,6 +162,9 @@ endif " function! s:common_prefix(a, b) let len = min([len(a:a), len(a:b)]) + if len == 0 + return -1 + endif for i in range(len) if a:a[i:i] != a:b[i:i] return i - 1 diff --git a/test/test_gitgutter.vim b/test/test_gitgutter.vim index a65e0f1..20044bb 100644 --- a/test/test_gitgutter.vim +++ b/test/test_gitgutter.vim @@ -916,6 +916,9 @@ endfunction function Test_common_prefix() + " zero length + call assert_equal(-1, gitgutter#diff_highlight#common_prefix('', 'foo')) + call assert_equal(-1, gitgutter#diff_highlight#common_prefix('foo', '')) " nothing in common call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+pqrst')) call assert_equal(-1, gitgutter#diff_highlight#common_prefix('abcde', 'pqrst'))