Avoid :redir inside execute()

This was happening when starting vim with `let g:gitgutter_log = 1`
and generated E930.
This commit is contained in:
Andy Stewart
2023-06-03 09:56:17 +01:00
parent 538fba90fb
commit 621b9e77ff

View File

@@ -75,23 +75,21 @@ function! gitgutter#debug#log(message, ...) abort
endif
endif
execute 'redir >> '.s:log_file
if s:new_log_session
let s:start = reltime()
silent echo "\n==== start log session ===="
endif
if s:new_log_session
let s:start = reltime()
call writefile(['==== start log session ===='], s:log_file, 'a')
endif
let elapsed = reltimestr(reltime(s:start)).' '
silent echo ''
" callers excluding this function
silent echo elapsed.expand('<sfile>')[:-22].':'
silent echo elapsed.s:format_for_log(a:message)
if a:0 && !empty(a:1)
for msg in a:000
silent echo elapsed.s:format_for_log(msg)
endfor
endif
redir END
let elapsed = reltimestr(reltime(s:start)).' '
call writefile([''], s:log_file, 'a')
" callers excluding this function
call writefile([elapsed.expand('<sfile>')[:-22].':'], s:log_file, 'a')
call writefile([elapsed.s:format_for_log(a:message)], s:log_file, 'a')
if a:0 && !empty(a:1)
for msg in a:000
call writefile([elapsed.s:format_for_log(msg)], s:log_file, 'a')
endfor
endif
let s:new_log_session = 0
endif