updated for version 7.0217
diff --git a/src/misc1.c b/src/misc1.c
index f95d93d..8399535 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -8938,6 +8938,7 @@
  * Add a file to a file list.  Accepted flags:
  * EW_DIR	add directories
  * EW_FILE	add files
+ * EW_EXEC	add executable files
  * EW_NOTFOUND	add even when it doesn't exist
  * EW_ADDSLASH	add slash after directory name
  */
@@ -8964,6 +8965,10 @@
     if ((isdir && !(flags & EW_DIR)) || (!isdir && !(flags & EW_FILE)))
 	return;
 
+    /* If the file isn't executable, may not add it.  Do accept directories. */
+    if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f))
+	return;
+
     /* Make room for another item in the file list. */
     if (ga_grow(gap, 1) == FAIL)
 	return;