diff --git a/src/fileio.c b/src/fileio.c
index 8ad3443..3126143 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -631,7 +631,7 @@
 #endif
     }
 
-#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
+#if defined(HAS_SWAP_EXISTS_ACTION)
     /* If "Quit" selected at ATTENTION dialog, don't load the file */
     if (swap_exists_action == SEA_QUIT)
     {
@@ -6760,6 +6760,7 @@
     {"StdinReadPost",	EVENT_STDINREADPOST},
     {"StdinReadPre",	EVENT_STDINREADPRE},
     {"Syntax",		EVENT_SYNTAX},
+    {"SwapExists",	EVENT_SWAPEXISTS},
     {"TermChanged",	EVENT_TERMCHANGED},
     {"TermResponse",	EVENT_TERMRESPONSE},
     {"User",		EVENT_USER},
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++ = '"';
 		}
