mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.2778: problem restoring 'packpath' in session
Problem: Problem restoring 'packpath' in session.
Solution: Let "skiprtp" also apply to 'packpath'.
d23b714d8b
Port Test_mksession_skiprtp() to lua functional test.
This commit is contained in:
parent
8415615b59
commit
59d550345d
@ -5052,7 +5052,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
global values for local options)
|
global values for local options)
|
||||||
options all options and mappings (also global values for local
|
options all options and mappings (also global values for local
|
||||||
options)
|
options)
|
||||||
skiprtp exclude 'runtimepath' from the options
|
skiprtp exclude 'runtimepath' and 'packpath' from the options
|
||||||
resize size of the Vim window: 'lines' and 'columns'
|
resize size of the Vim window: 'lines' and 'columns'
|
||||||
sesdir the directory in which the session file is located
|
sesdir the directory in which the session file is located
|
||||||
will become the current directory (useful with
|
will become the current directory (useful with
|
||||||
|
@ -5232,7 +5232,8 @@ int makeset(FILE *fd, int opt_flags, int local_only)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((opt_flags & OPT_SKIPRTP) && p->var == (char_u *)&p_rtp) {
|
if ((opt_flags & OPT_SKIPRTP)
|
||||||
|
&& (p->var == (char_u *)&p_rtp || p->var == (char_u *)&p_pp)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
42
test/functional/legacy/mksession_spec.lua
Normal file
42
test/functional/legacy/mksession_spec.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
local helpers = require('test.functional.helpers')(after_each)
|
||||||
|
local clear = helpers.clear
|
||||||
|
local command = helpers.command
|
||||||
|
local funcs = helpers.funcs
|
||||||
|
local eq = helpers.eq
|
||||||
|
|
||||||
|
describe('mksession', function()
|
||||||
|
before_each(clear)
|
||||||
|
|
||||||
|
after_each(function()
|
||||||
|
os.remove('Xtest_mks.out')
|
||||||
|
end)
|
||||||
|
|
||||||
|
it('supports "skiprtp" value', function()
|
||||||
|
command('set sessionoptions&vi')
|
||||||
|
command('set rtp+=$HOME')
|
||||||
|
command('set pp+=$HOME')
|
||||||
|
command('mksession! Xtest_mks.out')
|
||||||
|
local found_rtp = 0
|
||||||
|
local found_pp = 0
|
||||||
|
for _, line in pairs(funcs.readfile('Xtest_mks.out', 'b')) do
|
||||||
|
if line:find('set runtimepath') then
|
||||||
|
found_rtp = found_rtp + 1
|
||||||
|
end
|
||||||
|
if line:find('set packpath') then
|
||||||
|
found_pp = found_pp + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
eq(1, found_rtp)
|
||||||
|
eq(1, found_pp)
|
||||||
|
|
||||||
|
command('set sessionoptions+=skiprtp')
|
||||||
|
command('mksession! Xtest_mks.out')
|
||||||
|
local found_rtp_or_pp = 0
|
||||||
|
for _, line in pairs(funcs.readfile('Xtest_mks.out', 'b')) do
|
||||||
|
if line:find('set runtimepath') or line:find('set packpath') then
|
||||||
|
found_rtp_or_pp = found_rtp_or_pp + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
eq(0, found_rtp_or_pp)
|
||||||
|
end)
|
||||||
|
end)
|
Loading…
Reference in New Issue
Block a user