diff options
Diffstat (limited to 'src/misc1.c')
-rw-r--r-- | src/misc1.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/misc1.c b/src/misc1.c index f95d93d49..83995356f 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -8938,6 +8938,7 @@ expand_backtick(gap, pat, flags) * 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 @@ addfile(gap, f, flags) 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; |