updated for version 7.0164
diff --git a/src/os_unix.c b/src/os_unix.c
index c72cd83..7d2d0cc 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4953,11 +4953,11 @@
 #else
 	++len;				/* add space */
 	for (j = 0; pat[i][j] != NUL; )
-	    if (vim_strchr((char_u *)" '", pat[i][j]) != NULL)
+	    if (vim_strchr((char_u *)" ';&<>", pat[i][j]) != NULL)
 	    {
 		len += 2;		/* add two quotes */
 		while (pat[i][j] != NUL
-			&& vim_strchr((char_u *)" '", pat[i][j]) != NULL)
+			&& vim_strchr((char_u *)" ';&<>", pat[i][j]) != NULL)
 		{
 		    ++len;
 		    ++j;
@@ -5036,14 +5036,14 @@
 		    intick = !intick;
 		    *p++ = pat[i][j++];
 		}
-		else if (!intick && vim_strchr((char_u *)" '",
+		else if (!intick && vim_strchr((char_u *)" ';&<>",
 							   pat[i][j]) != NULL)
 		{
 		    /* Put quotes around special characters, but not when
 		     * inside ``. */
 		    *p++ = '"';
-		    while (pat[i][j] != NUL
-			    && vim_strchr((char_u *)" '", pat[i][j]) != NULL)
+		    while (pat[i][j] != NUL && vim_strchr((char_u *)" ';&<>",
+							   pat[i][j]) != NULL)
 			*p++ = pat[i][j++];
 		    *p++ = '"';
 		}