Skip to content

Instantly share code, notes, and snippets.

@basyura
Created March 17, 2013 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save basyura/5181841 to your computer and use it in GitHub Desktop.
Save basyura/5181841 to your computer and use it in GitHub Desktop.
diff --git a/autoload/vimproc/parser.vim b/autoload/vimproc/parser.vim
index b1965ad..dcd65e8 100644
--- a/autoload/vimproc/parser.vim
+++ b/autoload/vimproc/parser.vim
@@ -779,7 +779,7 @@ function! s:parse_double_quote(script, i) "{{{
elseif has_key(escape_sequences, script[i])
let arg .= escape_sequences[script[i]]
else
- let arg .= '\' . script[i]
+ let arg .= script[i]
endif
let i += 1
else
@@ -802,9 +802,19 @@ function! s:parse_back_quote(script, i) "{{{
let i = a:i + 2
while i < max
- if a:script[i] == '`'
- " Quote end.
- return [eval(arg), i+1]
+ if a:script[i] == '\'
+ " Escape.
+ let i += 1
+
+ if i >= max
+ throw 'Exception: Join to next line (\).'
+ endif
+
+ let arg .= '\' . a:script[i]
+ let i += 1
+ elseif a:script[i] == '`'
+ " Quote end.
+ return [eval(arg), i+1]
else
let arg .= a:script[i]
let i += 1
diff --git a/doc/vimproc.txt b/doc/vimproc.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment