From 5efcf34c6378569ee0f2658570b11f241a81fbfc Mon Sep 17 00:00:00 2001 From: Riley Bruins Date: Sat, 6 May 2023 10:36:16 -0700 Subject: [PATCH] cache bufnr to prevent bugs --- autoload/mkdp/autocmd.vim | 9 +++++---- autoload/mkdp/rpc.vim | 8 ++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/autoload/mkdp/autocmd.vim b/autoload/mkdp/autocmd.vim index 9f1aa77e..f86e4e30 100644 --- a/autoload/mkdp/autocmd.vim +++ b/autoload/mkdp/autocmd.vim @@ -1,6 +1,7 @@ " init preview key action function! mkdp#autocmd#init() abort - execute 'augroup MKDP_REFRESH_INIT' . bufnr('%') + let s:bufnum = bufnr('%') + execute 'augroup MKDP_REFRESH_INIT' . s:bufnum autocmd! " refresh autocmd if g:mkdp_refresh_slow @@ -10,13 +11,13 @@ function! mkdp#autocmd#init() abort endif " autoclose autocmd if g:mkdp_auto_close - autocmd BufHidden call mkdp#rpc#preview_close() + autocmd BufHidden call mkdp#rpc#preview_close(s:bufnum) endif " server close autocmd autocmd VimLeave * call mkdp#rpc#stop_server() augroup END endfunction -function! mkdp#autocmd#clear_buf() abort - execute 'autocmd! ' . 'MKDP_REFRESH_INIT' . bufnr('%') +function! mkdp#autocmd#clear_buf(bufnum) abort + execute 'autocmd! ' . 'MKDP_REFRESH_INIT' . a:bufnum endfunction diff --git a/autoload/mkdp/rpc.vim b/autoload/mkdp/rpc.vim index b257571a..20477940 100644 --- a/autoload/mkdp/rpc.vim +++ b/autoload/mkdp/rpc.vim @@ -109,18 +109,18 @@ function! mkdp#rpc#preview_refresh() abort endif endfunction -function! mkdp#rpc#preview_close() abort +function! mkdp#rpc#preview_close(bufnum) abort if s:is_vim if s:mkdp_channel_id !=# v:null - call mkdp#rpc#notify(s:mkdp_channel_id, 'close_page', { 'bufnr': bufnr('%') }) + call mkdp#rpc#notify(s:mkdp_channel_id, 'close_page', { 'bufnr': a:bufnum }) endif else if s:mkdp_channel_id !=# -1 - call rpcnotify(s:mkdp_channel_id, 'close_page', { 'bufnr': bufnr('%') }) + call rpcnotify(s:mkdp_channel_id, 'close_page', { 'bufnr': a:bufnum }) endif endif let b:MarkdownPreviewToggleBool = 0 - call mkdp#autocmd#clear_buf() + call mkdp#autocmd#clear_buf(a:bufnum) endfunction function! mkdp#rpc#open_browser() abort