aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/option.c2
-rw-r--r--test/functional/options/defaults_spec.lua14
2 files changed, 16 insertions, 0 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 6baf8c65ce..658e0d8a47 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -521,6 +521,8 @@ static void set_runtimepath_default(void)
#undef SITE_SIZE
#undef AFTER_SIZE
set_string_default("runtimepath", rtp, true);
+ // Make a copy of 'rtp' for 'packpath'
+ set_string_default("packpath", rtp, false);
xfree(data_dirs);
xfree(config_dirs);
xfree(data_home);
diff --git a/test/functional/options/defaults_spec.lua b/test/functional/options/defaults_spec.lua
index 8eec6ad8bf..a131f72cf6 100644
--- a/test/functional/options/defaults_spec.lua
+++ b/test/functional/options/defaults_spec.lua
@@ -7,6 +7,7 @@ local execute = helpers.execute
local clear = helpers.clear
local eval = helpers.eval
local eq = helpers.eq
+local neq = helpers.neq
local function init_session(...)
local args = { helpers.nvim_prog, '-i', 'NONE', '--embed',
@@ -80,6 +81,19 @@ describe('startup defaults', function()
eq(0, eval('exists("g:syntax_on")'))
end)
end)
+
+ describe('packpath', function()
+ it('defaults to &runtimepath', function()
+ eq(meths.get_option('runtimepath'), meths.get_option('packpath'))
+ end)
+
+ it('does not follow modifications to runtimepath', function()
+ meths.command('set runtimepath+=foo')
+ neq(meths.get_option('runtimepath'), meths.get_option('packpath'))
+ meths.command('set packpath+=foo')
+ eq(meths.get_option('runtimepath'), meths.get_option('packpath'))
+ end)
+ end)
end)
describe('XDG-based defaults', function()