diff options
-rw-r--r-- | src/nvim/option.c | 2 | ||||
-rw-r--r-- | test/functional/options/defaults_spec.lua | 14 |
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() |