Define GPGEdit{Options,Recipients} autocmd in their own group

This allows them to be properly cleared only when the buffer is
re-created/loaded.  This fixes the handling of the autocmds when the
Edit buffer is saved, but not hidden or deleted.

The autocmd remains in place, rather than having an acwrite buffer with
no autocmd set.

Signed-off-by: James McCoy <jamessan@jamessan.com>
This commit is contained in:
James McCoy 2019-02-11 23:23:14 -05:00
parent d90ae08795
commit 32360c8f20
No known key found for this signature in database
GPG Key ID: DFE691AE331BA3DB

View File

@ -680,8 +680,11 @@ function gnupg#edit_recipients()
endif endif
if s:NewInputBuffer('GPGRecipients') if s:NewInputBuffer('GPGRecipients')
augroup GPGRecipients
au! * <buffer>
" add a autocommand to regenerate the recipients after a write " add a autocommand to regenerate the recipients after a write
autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer() autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer()
augroup END
" put some comments to the scratch buffer " put some comments to the scratch buffer
silent put ='GPG: ----------------------------------------------------------------------' silent put ='GPG: ----------------------------------------------------------------------'
@ -767,9 +770,6 @@ function s:GPGFinishRecipientsBuffer()
execute 'silent! ' . bufwinnr(expand("<afile>:p")) . "wincmd w" execute 'silent! ' . bufwinnr(expand("<afile>:p")) . "wincmd w"
endif endif
" delete the autocommand
autocmd! * <buffer>
" get the recipients from the scratch buffer " get the recipients from the scratch buffer
let recipients = [] let recipients = []
let lines = getline(1,"$") let lines = getline(1,"$")
@ -856,8 +856,11 @@ function gnupg#edit_options()
" only do this if it isn't already a GPGOptions_* buffer " only do this if it isn't already a GPGOptions_* buffer
if s:NewInputBuffer('GPGOptions') if s:NewInputBuffer('GPGOptions')
augroup GPGOptions
au! * <buffer>
" add a autocommand to regenerate the options after a write " add a autocommand to regenerate the options after a write
autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer() autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer()
augroup END
" put some comments to the scratch buffer " put some comments to the scratch buffer
silent put ='GPG: ----------------------------------------------------------------------' silent put ='GPG: ----------------------------------------------------------------------'
@ -916,9 +919,6 @@ function s:GPGFinishOptionsBuffer()
let options = [] let options = []
let unknownOptions = [] let unknownOptions = []
" delete the autocommand
autocmd! * <buffer>
" get the options from the scratch buffer " get the options from the scratch buffer
let lines = getline(1, "$") let lines = getline(1, "$")
for option in lines for option in lines