Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

FIX: Avoid error for recursive :redir. #8

Merged
merged 1 commit into from

2 participants

@inkarkat

The s:CheckSwapFileExists() may be triggered while a command or mapping runs that :redirs itself. Unfortunately, recursive :redir is not allowed, and Vim throws an error, which negatively affects the original command / mapping. This has actually been reported by a user of my EnhancedJumps plugin (vimscript #2695).

Since an occasionally failing swapfile check isn't tragic, let's just suppress the error via :silent!.

@inkarkat inkarkat FIX: Avoid error for recursive :redir.
The s:CheckSwapFileExists() may be triggered while a command or mapping runs that :redirs itself. Unfortunately, recursive :redir is not allowed, and Vim throws an error, which negatively affects the original command / mapping. This has actually been reported by a user of my EnhancedJumps plugin (vimscript #2695).

Since an occasionally failing swapfile check isn't tragic, let's just suppress the error via :silent!.
c21eb5f
@chrisbra
Owner

Nice catch, thanks! I'll merge it.

@chrisbra chrisbra merged commit 6ceebb8 into from
@inkarkat inkarkat deleted the branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Aug 12, 2012
  1. @inkarkat

    FIX: Avoid error for recursive :redir.

    inkarkat authored
    The s:CheckSwapFileExists() may be triggered while a command or mapping runs that :redirs itself. Unfortunately, recursive :redir is not allowed, and Vim throws an error, which negatively affects the original command / mapping. This has actually been reported by a user of my EnhancedJumps plugin (vimscript #2695).
    
    Since an occasionally failing swapfile check isn't tragic, let's just suppress the error via :silent!.
This page is out of date. Refresh to see the latest.
Showing with 1 addition and 1 deletion.
  1. +1 −1  autoload/recover.vim
View
2  autoload/recover.vim
@@ -30,7 +30,7 @@ fu! recover#Recover(on) "{{{1
endfu
fu! s:Swapname() "{{{1
- redir => a |sil swapname|redir end
+ sil! redir => a |sil swapname|redir end
if a[1:] == 'No swap file'
return ''
else
Something went wrong with that request. Please try again.