From 49315f65c985a72c2aac55b883f5ef1195c53ddc Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Sat, 4 Feb 2006 00:54:59 +0000
Subject: [PATCH] updated for version 7.0192

---
 src/os_unix.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/os_unix.c b/src/os_unix.c
index 4a339f90a3..c60ddafe52 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5126,10 +5126,11 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
 		else if (pat[i][j] == '\\' && pat[i][j + 1] != NUL)
 		{
 		    /* Remove a backslash, take char literally.  But keep
-		     * backslash before special character and inside
-		     * backticks. */
+		     * backslash inside backticks, before a special character
+		     * and before a backtick. */
 		    if (intick
-			  || vim_strchr(SHELL_SPECIAL, pat[i][j + 1]) != NULL)
+			  || vim_strchr(SHELL_SPECIAL, pat[i][j + 1]) != NULL
+			  || pat[i][j + 1] == '`')
 			*p++ = '\\';
 		    ++j;
 		}
@@ -5356,7 +5357,8 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
 	/* Space or NL separates */
 	if (shell_style == STYLE_ECHO || shell_style == STYLE_BT)
 	{
-	    while (!(shell_style == STYLE_ECHO && *p == ' ') && *p != '\n')
+	    while (!(shell_style == STYLE_ECHO && *p == ' ')
+						   && *p != '\n' && *p != NUL)
 		++p;
 	    if (p == buffer + len)		/* last entry */
 		*p = NUL;
-- 
GitLab