1- *builtin.txt* For Vim version 9.1. Last change: 2025 Nov 28
1+ *builtin.txt* For Vim version 9.1. Last change: 2025 Dec 11
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2711,13 +2711,18 @@ executable({expr}) *executable()*
27112711 then the name is also tried without adding an extension.
27122712 On MS-Windows it only checks if the file exists and is not a
27132713 directory, not if it's really executable.
2714+
27142715 On MS-Windows an executable in the same directory as the Vim
27152716 executable is always found. Since this directory is added to
27162717 $PATH it should also work to execute it | win32-PATH | .
2717- *NoDefaultCurrentDirectoryInExePath*
2718- On MS-Windows an executable in Vim's current working directory
2719- is also normally found, but this can be disabled by setting
2720- the $NoDefaultCurrentDirectoryInExePath environment variable.
2718+ *$NoDefaultCurrentDirectoryInExePath*
2719+ On MS-Windows when using cmd.exe as 'shell' an executable in
2720+ Vim's current working directory is also normally found, which
2721+ can be disabled by setting the
2722+ `$NoDefaultCurrentDirectoryInExePath ` environment variable.
2723+ This variable is always set by Vim when executing external
2724+ commands (e.g., via | :! | , | :make | , or | system() | ) for security
2725+ reasons.
27212726
27222727 The result is a Number:
27232728 1 exists
@@ -2887,7 +2892,7 @@ exists({expr}) *exists()*
28872892 Can also be used as a | method | : >
28882893 Varname()->exists()
28892894<
2890- Return type: | String |
2895+ Return type: | Number |
28912896
28922897
28932898exists_compiled({expr} ) *exists_compiled()*
@@ -2904,7 +2909,7 @@ exists_compiled({expr}) *exists_compiled()*
29042909 Can only be used in a | :def | function. *E1233*
29052910 This does not work to check for arguments or local variables.
29062911
2907- Return type: | String |
2912+ Return type: | Number |
29082913
29092914
29102915exp({expr} ) *exp()*
@@ -5343,9 +5348,13 @@ getwininfo([{winid}]) *getwininfo()*
53435348 {only with the +quickfix feature}
53445349 quickfix 1 if quickfix or location list window
53455350 {only with the +quickfix feature}
5351+ status_height status lines height (0 or 1)
5352+ tabnr tab page number
53465353 terminal 1 if a terminal window
53475354 {only with the +terminal feature}
5348- tabnr tab page number
5355+ textoff number of columns occupied by any
5356+ 'foldcolumn' , 'signcolumn' and line
5357+ number in front of the text
53495358 topline first displayed buffer line
53505359 variables a reference to the dictionary with
53515360 window-local variables
@@ -5354,9 +5363,6 @@ getwininfo([{winid}]) *getwininfo()*
53545363 otherwise
53555364 wincol leftmost screen column of the window;
53565365 "col" from | win_screenpos() |
5357- textoff number of columns occupied by any
5358- 'foldcolumn' , 'signcolumn' and line
5359- number in front of the text
53605366 winid | window-ID |
53615367 winnr window number
53625368 winrow topmost screen line of the window;
@@ -8330,24 +8336,24 @@ printf({fmt}, {expr1} ...) *printf()*
83308336
83318337 *E1502*
83328338 You can re-use a [field-width] (or [precision] ) argument: >
8333- echo printf("%1$d at width %2$d is: %01$ *2$d", 1, 2)
8339+ echo printf("%1$d at width %2$d is: %1$0 *2$d", 1, 2)
83348340< 1 at width 2 is: 01
83358341
83368342 However, you can't use it as a different type: >
8337- echo printf("%1$d at width %2$ld is: %01$ *2$d", 1, 2)
8343+ echo printf("%1$d at width %2$ld is: %1$0 *2$d", 1, 2)
83388344< E1502: Positional argument 2 used as field width reused as
83398345 different type: long int/int
83408346
83418347 *E1503*
83428348 When a positional argument is used, but not the correct number
83438349 or arguments is given, an error is raised: >
8344- echo printf("%1$d at width %2$d is: %01$ *2$.*3$d", 1, 2)
8350+ echo printf("%1$d at width %2$d is: %1$0 *2$.*3$d", 1, 2)
83458351< E1503: Positional argument 3 out of bounds: %1$d at width
8346- %2$d is: %01$ *2$.*3$d
8352+ %2$d is: %1$0 *2$.*3$d
83478353
83488354 Only the first error is reported: >
8349- echo printf("%01$ *2$.*3$d %4$d", 1, 2)
8350- < E1503: Positional argument 3 out of bounds: %01$ *2$.*3$d
8355+ echo printf("%1$0 *2$.*3$d %4$d", 1, 2)
8356+ < E1503: Positional argument 3 out of bounds: %1$0 *2$.*3$d
83518357 %4$d
83528358
83538359 *E1504*
0 commit comments