From d78184e6460c5fdd51650c5b4c82d5209cf0002e Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 21 Feb 2018 00:42:30 +0100 Subject: [PATCH] Use processed-dict, `uniq()` might not be available --- autoload/gitgutter.vim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/autoload/gitgutter.vim b/autoload/gitgutter.vim index 3f90eee..eb9c41d 100644 --- a/autoload/gitgutter.vim +++ b/autoload/gitgutter.vim @@ -3,7 +3,12 @@ let s:t_string = type('') " Primary functions {{{ function! gitgutter#all(force) abort - for bufnr in uniq(sort(tabpagebuflist())) + let processed = {} + for bufnr in tabpagebuflist() + if has_key(processed, bufnr) + continue + endif + let processed[bufnr] = 1 let file = expand('#'.bufnr.':p') if !empty(file) call gitgutter#init_buffer(bufnr) @@ -57,9 +62,13 @@ function! gitgutter#disable() abort for i in range(tabpagenr('$')) call extend(buflist, tabpagebuflist(i + 1)) endfor - call uniq(sort(buflist)) + let processed = {} for bufnr in buflist + if has_key(processed, bufnr) + continue + endif + let processed[bufnr] = 1 let file = expand('#'.bufnr.':p') if !empty(file) call s:clear(bufnr)