Commit: runtime(doc): clarify directory of Vim's executable vs CWD

4 views
Skip to first unread message

Christian Brabandt

unread,
Aug 8, 2024, 3:15:13 PM8/8/24
to vim...@googlegroups.com
runtime(doc): clarify directory of Vim's executable vs CWD

Commit: https://github.com/vim/vim/commit/0cc5dce5780d39fe621f6146d4fb862318918125
Author: zeertzjq <zeer...@outlook.com>
Date: Thu Aug 8 21:12:15 2024 +0200

runtime(doc): clarify directory of Vim's executable vs CWD

According to :h win32-PATH, "the same directory as Vim" means the same
directory as the Vim executable, not Vim's current directory. In patch
8.2.4860 these two concepts were mixed up.

closes: #15451

Signed-off-by: zeertzjq <zeer...@outlook.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index fe940ca46..4192b81ca 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 9.1. Last change: 2024 Jul 28
+*builtin.txt* For Vim version 9.1. Last change: 2024 Aug 08


VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2532,8 +2532,10 @@ executable({expr}) *executable()*
This function checks if an executable with the name {expr}
exists. {expr} must be the name of the program without any
arguments.
+
executable() uses the value of $PATH and/or the normal
- searchpath for programs. *PATHEXT*
+ searchpath for programs.
+ *PATHEXT*
On MS-Windows the ".exe", ".bat", etc. can optionally be
included. Then the extensions in $PATHEXT are tried. Thus if
"foo.exe" does not exist, "foo.exe.bat" can be found. If
@@ -2543,11 +2545,14 @@ executable({expr}) *executable()*
then the name is also tried without adding an extension.
On MS-Windows it only checks if the file exists and is not a
directory, not if it's really executable.
- On MS-Windows an executable in the same directory as Vim is
- normally found. Since this directory is added to $PATH it
- should also work to execute it |win32-PATH|. This can be
- disabled by setting the $NoDefaultCurrentDirectoryInExePath
- environment variable. *NoDefaultCurrentDirectoryInExePath*
+ On MS-Windows an executable in the same directory as the Vim
+ executable is always found. Since this directory is added to
+ $PATH it should also work to execute it |win32-PATH|.
+ *NoDefaultCurrentDirectoryInExePath*
+ On MS-Windows an executable in Vim's current working directory
+ is also normally found, but this can be disabled by setting
+ the $NoDefaultCurrentDirectoryInExePath environment variable.
+
The result is a Number:
1 exists
0 does not exist
Reply all
Reply to author
Forward
0 new messages