mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 16:58:17 +00:00
API: nvim_create_buf: unset 'modeline' in scratch-buffer #12379
Although 'nomodeline' is not strictly part of the definition of a "scratch-buffer" it is obviously the right default.
This commit is contained in:
@@ -1037,7 +1037,7 @@ void nvim_set_current_win(Window window, Error *err)
|
|||||||
///
|
///
|
||||||
/// @param listed Sets 'buflisted'
|
/// @param listed Sets 'buflisted'
|
||||||
/// @param scratch Creates a "throwaway" |scratch-buffer| for temporary work
|
/// @param scratch Creates a "throwaway" |scratch-buffer| for temporary work
|
||||||
/// (always 'nomodified')
|
/// (always 'nomodified'). Also sets 'nomodeline' on the buffer.
|
||||||
/// @param[out] err Error details, if any
|
/// @param[out] err Error details, if any
|
||||||
/// @return Buffer handle, or 0 on error
|
/// @return Buffer handle, or 0 on error
|
||||||
///
|
///
|
||||||
@@ -1067,9 +1067,10 @@ Buffer nvim_create_buf(Boolean listed, Boolean scratch, Error *err)
|
|||||||
if (scratch) {
|
if (scratch) {
|
||||||
aco_save_T aco;
|
aco_save_T aco;
|
||||||
aucmd_prepbuf(&aco, buf);
|
aucmd_prepbuf(&aco, buf);
|
||||||
set_option_value("bh", 0L, "hide", OPT_LOCAL);
|
set_option_value("bufhidden", 0L, "hide", OPT_LOCAL);
|
||||||
set_option_value("bt", 0L, "nofile", OPT_LOCAL);
|
set_option_value("buftype", 0L, "nofile", OPT_LOCAL);
|
||||||
set_option_value("swf", 0L, NULL, OPT_LOCAL);
|
set_option_value("swapfile", 0L, NULL, OPT_LOCAL);
|
||||||
|
set_option_value("modeline", 0L, NULL, OPT_LOCAL); // 'nomodeline'
|
||||||
aucmd_restbuf(&aco);
|
aucmd_restbuf(&aco);
|
||||||
}
|
}
|
||||||
return buf->b_fnum;
|
return buf->b_fnum;
|
||||||
|
@@ -1808,7 +1808,7 @@ describe('API', function()
|
|||||||
eq({id=1}, meths.get_current_buf())
|
eq({id=1}, meths.get_current_buf())
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it("doesn't cause BufEnter or BufWinEnter autocmds", function()
|
it("does not trigger BufEnter, BufWinEnter", function()
|
||||||
command("let g:fired = v:false")
|
command("let g:fired = v:false")
|
||||||
command("au BufEnter,BufWinEnter * let g:fired = v:true")
|
command("au BufEnter,BufWinEnter * let g:fired = v:true")
|
||||||
|
|
||||||
@@ -1818,7 +1818,7 @@ describe('API', function()
|
|||||||
eq(false, eval('g:fired'))
|
eq(false, eval('g:fired'))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('|scratch-buffer|', function()
|
it('scratch-buffer', function()
|
||||||
eq({id=2}, meths.create_buf(false, true))
|
eq({id=2}, meths.create_buf(false, true))
|
||||||
eq({id=3}, meths.create_buf(true, true))
|
eq({id=3}, meths.create_buf(true, true))
|
||||||
eq({id=4}, meths.create_buf(true, true))
|
eq({id=4}, meths.create_buf(true, true))
|
||||||
@@ -1845,6 +1845,7 @@ describe('API', function()
|
|||||||
eq('nofile', meths.buf_get_option(b, 'buftype'))
|
eq('nofile', meths.buf_get_option(b, 'buftype'))
|
||||||
eq('hide', meths.buf_get_option(b, 'bufhidden'))
|
eq('hide', meths.buf_get_option(b, 'bufhidden'))
|
||||||
eq(false, meths.buf_get_option(b, 'swapfile'))
|
eq(false, meths.buf_get_option(b, 'swapfile'))
|
||||||
|
eq(false, meths.buf_get_option(b, 'modeline'))
|
||||||
end
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -1860,8 +1861,9 @@ describe('API', function()
|
|||||||
eq('nofile', meths.buf_get_option(edited_buf, 'buftype'))
|
eq('nofile', meths.buf_get_option(edited_buf, 'buftype'))
|
||||||
eq('hide', meths.buf_get_option(edited_buf, 'bufhidden'))
|
eq('hide', meths.buf_get_option(edited_buf, 'bufhidden'))
|
||||||
eq(false, meths.buf_get_option(edited_buf, 'swapfile'))
|
eq(false, meths.buf_get_option(edited_buf, 'swapfile'))
|
||||||
|
eq(false, meths.buf_get_option(edited_buf, 'modeline'))
|
||||||
|
|
||||||
-- scratch buffer can be wiped without error
|
-- Scratch buffer can be wiped without error.
|
||||||
command('bwipe')
|
command('bwipe')
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
^ |
|
^ |
|
||||||
|
Reference in New Issue
Block a user