Skip to content

Commit

Permalink
Merge pull request #30 from svermeulen/sverm/NumberedRegistersFix
Browse files Browse the repository at this point in the history
Bug fix - yoinkSyncNumberedRegisters flag was sometimes causing default register to change unexpectedly
  • Loading branch information
svermeulen committed Sep 15, 2021
2 parents 440d939 + 2363b1c commit 89ed693
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions autoload/yoink.vim
Expand Up @@ -264,12 +264,19 @@ function! s:onHistoryChanged()
if g:yoinkSyncNumberedRegisters
let history = yoink#getYankHistory()

" We skip the first one because it's assumed that's set to the default register
" already (or failing that, the '0' register)
" For unknown reasons we need to temporarily store the default register
" contents, then restore this afterwards
" Since it seems that when we set register '1' this sometimes clobbers the default register
" as well
let oldDefaultYankInfo = yoink#getDefaultYankInfo()

" Start with 1 because 0 in history is already saved in default reg
for i in range(1, min([len(history) - 1, 9]))
let entry = history[i]
call setreg(i, entry.text, entry.type)
endfor

call yoink#setDefaultYankInfo(oldDefaultYankInfo)
endif

for Callback in s:historyChangedCallbacks
Expand Down

0 comments on commit 89ed693

Please sign in to comment.