changeset 14409:9ffce640d0d3 v8.1.0219

patch 8.1.0219: expanding ## fails to escape backtick commit https://github.com/vim/vim/commit/2c8c681bfcd5138a0ec8ce018216dc2dc69a11a0 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 28 17:07:52 2018 +0200 patch 8.1.0219: expanding ## fails to escape backtick Problem: Expanding ## fails to escape backtick. Solution: Escape a backtick in a file name. (closes https://github.com/vim/vim/issues/3257)
author Christian Brabandt <cb@256bit.org>
date Sat, 28 Jul 2018 17:15:06 +0200
parents 91bc4a6e3a4e
children 52f6ab1e154a
files src/ex_docmd.c src/testdir/test_edit.vim src/version.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -10954,7 +10954,7 @@ arg_all(void)
 #ifndef BACKSLASH_IN_FILENAME
 			    || *p == '\\'
 #endif
-			    )
+			    || *p == '`')
 		    {
 			/* insert a backslash */
 			if (retval != NULL)
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -1375,6 +1375,14 @@ func Test_edit_complete_very_long_name()
   set swapfile&
 endfunc
 
+func Test_edit_backtick()
+  next a\`b c
+  call assert_equal('a`b', expand('%'))
+  next
+  call assert_equal('c', expand('%'))
+  call assert_equal('a\`b c', expand('##'))
+endfunc
+
 func Test_edit_quit()
   edit foo.txt
   split
--- a/src/version.c
+++ b/src/version.c
@@ -799,6 +799,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    219,
+/**/
     218,
 /**/
     217,