aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-10-10 08:22:32 +0800
committerGitHub <noreply@github.com>2023-10-10 08:22:32 +0800
commitf5eabaa9407ae3d1ccf6592337453c423eff3d9a (patch)
treef6c011f53187d5e0abe76ef23f1c99d704e3336f
parent43f22853fecf312713deed983b9cde1a6bda6ebd (diff)
downloadrneovim-f5eabaa9407ae3d1ccf6592337453c423eff3d9a.tar.gz
rneovim-f5eabaa9407ae3d1ccf6592337453c423eff3d9a.tar.bz2
rneovim-f5eabaa9407ae3d1ccf6592337453c423eff3d9a.zip
fix(path): restore space separation in 'path' (#25571)
Removing this behavior causes more inconsistencies and bugs.
-rw-r--r--runtime/doc/news.txt2
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/vim_diff.txt2
-rw-r--r--runtime/lua/vim/_meta/options.lua6
-rw-r--r--src/nvim/options.lua4
-rw-r--r--src/nvim/path.c2
6 files changed, 15 insertions, 5 deletions
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt
index d3cc8cf3d0..f836185cbe 100644
--- a/runtime/doc/news.txt
+++ b/runtime/doc/news.txt
@@ -57,8 +57,6 @@ The following changes may require adaptations in user config or plugins.
• for `backspace=1` set `backspace=indent,eol`
• for `backspace=2` set `backspace=indent,eol,start` (default behavior in Nvim)
• for `backspace=3` set `backspace=indent,eol,nostop`
- • paths in |'path'| and |'cdpath'| can no longer be separated with spaces
- (but paths themselves may contain spaces now).
• |'backupdir'| and |'directory'| will no longer remove a `>` at the start
of the option.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 87cf811d63..07f4eb80c5 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4499,6 +4499,10 @@ A jump table for the options with a short description can be found at |Q_op|.
option may be relative or absolute.
- Use commas to separate directory names: >
:set path=.,/usr/local/include,/usr/include
+< - Spaces can also be used to separate directory names. To have a
+ space in a directory name, precede it with an extra backslash, and
+ escape the space: >
+ :set path=.,/dir/with\\\ space
< - To include a comma in a directory name precede it with an extra
backslash: >
:set path=.,/dir/with\\,comma
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index c354a9e463..d000d7c35c 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -658,7 +658,6 @@ Options:
*'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
*'balloonexpr'* *'bexpr'*
bioskey (MS-DOS)
- 'cdpath': paths can no longer be separated with spaces.
conskey (MS-DOS)
*'cp'* *'nocompatible'* *'nocp'* *'compatible'* (Nvim is always "nocompatible".)
'cpoptions' (gjkHw<*- and all POSIX flags were removed)
@@ -723,7 +722,6 @@ Options:
Use |g8| or |ga|. See |mbyte-combining|.
*'maxmem'* Nvim delegates memory-management to the OS.
*'maxmemtot'* Nvim delegates memory-management to the OS.
- 'path': paths can no longer be separated with spaces.
printoptions
*'printdevice'*
*'printencoding'*
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index e90a85ae0a..4f6408b136 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -4621,6 +4621,12 @@ vim.go.pm = vim.go.patchmode
--- ```
--- :set path=.,/usr/local/include,/usr/include
--- ```
+--- - Spaces can also be used to separate directory names. To have a
+--- space in a directory name, precede it with an extra backslash, and
+--- escape the space:
+--- ```
+--- :set path=.,/dir/with\\\ space
+--- ```
--- - To include a comma in a directory name precede it with an extra
--- backslash:
--- ```
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
index 396fa7c670..68d88ea0aa 100644
--- a/src/nvim/options.lua
+++ b/src/nvim/options.lua
@@ -5926,6 +5926,10 @@ return {
option may be relative or absolute.
- Use commas to separate directory names: >
:set path=.,/usr/local/include,/usr/include
+ < - Spaces can also be used to separate directory names. To have a
+ space in a directory name, precede it with an extra backslash, and
+ escape the space: >
+ :set path=.,/dir/with\\\ space
< - To include a comma in a directory name precede it with an extra
backslash: >
:set path=.,/dir/with\\,comma
diff --git a/src/nvim/path.c b/src/nvim/path.c
index 5d991ce719..15a8762da1 100644
--- a/src/nvim/path.c
+++ b/src/nvim/path.c
@@ -848,7 +848,7 @@ static void expand_path_option(char *curdir, garray_T *gap)
char *buf = xmalloc(MAXPATHL);
while (*path_option != NUL) {
- copy_option_part(&path_option, buf, MAXPATHL, ",");
+ copy_option_part(&path_option, buf, MAXPATHL, " ,");
if (buf[0] == '.' && (buf[1] == NUL || vim_ispathsep(buf[1]))) {
// Relative to current buffer: