mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Lint
This commit is contained in:
parent
8bcc011959
commit
37b8e95fd6
@ -85,9 +85,9 @@ String buffer_get_line(Buffer buffer, Integer index, Error *err)
|
|||||||
/// @return False when live updates couldn't be enabled because the buffer isn't
|
/// @return False when live updates couldn't be enabled because the buffer isn't
|
||||||
/// loaded; otherwise True.
|
/// loaded; otherwise True.
|
||||||
Boolean nvim_buf_live_updates_start(uint64_t channel_id,
|
Boolean nvim_buf_live_updates_start(uint64_t channel_id,
|
||||||
Buffer buffer,
|
Buffer buffer,
|
||||||
Boolean send_buffer,
|
Boolean send_buffer,
|
||||||
Error *err)
|
Error *err)
|
||||||
FUNC_API_SINCE(4) FUNC_API_REMOTE_ONLY
|
FUNC_API_SINCE(4) FUNC_API_REMOTE_ONLY
|
||||||
{
|
{
|
||||||
buf_T *buf = find_buffer_by_handle(buffer, err);
|
buf_T *buf = find_buffer_by_handle(buffer, err);
|
||||||
@ -97,7 +97,6 @@ Boolean nvim_buf_live_updates_start(uint64_t channel_id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
return liveupdate_register(buf, channel_id, send_buffer);
|
return liveupdate_register(buf, channel_id, send_buffer);
|
||||||
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
/// Deactivate live updates from this buffer to the current channel.
|
/// Deactivate live updates from this buffer to the current channel.
|
||||||
@ -107,8 +106,8 @@ Boolean nvim_buf_live_updates_start(uint64_t channel_id,
|
|||||||
/// @return False when live updates couldn't be disabled because the buffer
|
/// @return False when live updates couldn't be disabled because the buffer
|
||||||
/// isn't loaded; otherwise True.
|
/// isn't loaded; otherwise True.
|
||||||
Boolean nvim_buf_live_updates_stop(uint64_t channel_id,
|
Boolean nvim_buf_live_updates_stop(uint64_t channel_id,
|
||||||
Buffer buffer,
|
Buffer buffer,
|
||||||
Error *err)
|
Error *err)
|
||||||
FUNC_API_SINCE(4) FUNC_API_REMOTE_ONLY
|
FUNC_API_SINCE(4) FUNC_API_REMOTE_ONLY
|
||||||
{
|
{
|
||||||
buf_T *buf = find_buffer_by_handle(buffer, err);
|
buf_T *buf = find_buffer_by_handle(buffer, err);
|
||||||
|
@ -1738,9 +1738,9 @@ buf_T * buflist_new(char_u *ffname, char_u *sfname, linenr_T lnum, int flags)
|
|||||||
if (flags & BLN_DUMMY)
|
if (flags & BLN_DUMMY)
|
||||||
buf->b_flags |= BF_DUMMY;
|
buf->b_flags |= BF_DUMMY;
|
||||||
buf_clear_file(buf);
|
buf_clear_file(buf);
|
||||||
clrallmarks(buf); /* clear marks */
|
clrallmarks(buf); // clear marks
|
||||||
fmarks_check_names(buf); /* check file marks for this file */
|
fmarks_check_names(buf); // check file marks for this file
|
||||||
buf->b_p_bl = (flags & BLN_LISTED) ? TRUE : FALSE; /* init 'buflisted' */
|
buf->b_p_bl = (flags & BLN_LISTED) ? true : false; // init 'buflisted'
|
||||||
kv_destroy(buf->liveupdate_channels);
|
kv_destroy(buf->liveupdate_channels);
|
||||||
kv_init(buf->liveupdate_channels);
|
kv_init(buf->liveupdate_channels);
|
||||||
if (!(flags & BLN_DUMMY)) {
|
if (!(flags & BLN_DUMMY)) {
|
||||||
|
@ -745,8 +745,9 @@ void ex_retab(exarg_T *eap)
|
|||||||
|
|
||||||
if (curbuf->b_p_ts != new_ts)
|
if (curbuf->b_p_ts != new_ts)
|
||||||
redraw_curbuf_later(NOT_VALID);
|
redraw_curbuf_later(NOT_VALID);
|
||||||
if (first_line != 0)
|
if (first_line != 0) {
|
||||||
changed_lines(first_line, 0, last_line + 1, 0L, true);
|
changed_lines(first_line, 0, last_line + 1, 0L, true);
|
||||||
|
}
|
||||||
|
|
||||||
curwin->w_p_list = save_list; /* restore 'list' */
|
curwin->w_p_list = save_list; /* restore 'list' */
|
||||||
|
|
||||||
|
@ -837,7 +837,7 @@ open_line (
|
|||||||
if (did_append) {
|
if (did_append) {
|
||||||
changed_lines(curwin->w_cursor.lnum, curwin->w_cursor.col,
|
changed_lines(curwin->w_cursor.lnum, curwin->w_cursor.col,
|
||||||
curwin->w_cursor.lnum + 1, 1L, true);
|
curwin->w_cursor.lnum + 1, 1L, true);
|
||||||
did_append = FALSE;
|
did_append = false;
|
||||||
|
|
||||||
/* Move marks after the line break to the new line. */
|
/* Move marks after the line break to the new line. */
|
||||||
if (flags & OPENLINE_MARKFIX)
|
if (flags & OPENLINE_MARKFIX)
|
||||||
@ -1914,12 +1914,12 @@ void deleted_lines_mark(linenr_T lnum, long count)
|
|||||||
* Takes care of calling changed() and updating b_mod_*.
|
* Takes care of calling changed() and updating b_mod_*.
|
||||||
* Careful: may trigger autocommands that reload the buffer.
|
* Careful: may trigger autocommands that reload the buffer.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
changed_lines (
|
changed_lines(
|
||||||
linenr_T lnum, /* first line with change */
|
linenr_T lnum, // first line with change
|
||||||
colnr_T col, /* column in first line with change */
|
colnr_T col, // column in first line with change
|
||||||
linenr_T lnume, /* line below last changed line */
|
linenr_T lnume, // line below last changed line
|
||||||
long xtra, /* number of extra lines (negative when deleting) */
|
long xtra, // number of extra lines (negative when deleting)
|
||||||
bool send_liveupdate // some callers like undo/redo call changed_lines()
|
bool send_liveupdate // some callers like undo/redo call changed_lines()
|
||||||
// and then increment b_changedtick *again*. This flag
|
// and then increment b_changedtick *again*. This flag
|
||||||
// allows these callers to send the LiveUpdate events
|
// allows these callers to send the LiveUpdate events
|
||||||
|
@ -632,12 +632,13 @@ void op_reindent(oparg_T *oap, Indenter how)
|
|||||||
/* Mark changed lines so that they will be redrawn. When Visual
|
/* Mark changed lines so that they will be redrawn. When Visual
|
||||||
* highlighting was present, need to continue until the last line. When
|
* highlighting was present, need to continue until the last line. When
|
||||||
* there is no change still need to remove the Visual highlighting. */
|
* there is no change still need to remove the Visual highlighting. */
|
||||||
if (last_changed != 0)
|
if (last_changed != 0) {
|
||||||
changed_lines(first_changed, 0,
|
changed_lines(first_changed, 0,
|
||||||
oap->is_VIsual ? start_lnum + oap->line_count :
|
oap->is_VIsual ? start_lnum + oap->line_count :
|
||||||
last_changed + 1, 0L, true);
|
last_changed + 1, 0L, true);
|
||||||
else if (oap->is_VIsual)
|
} else if (oap->is_VIsual) {
|
||||||
redraw_curbuf_later(INVERTED);
|
redraw_curbuf_later(INVERTED);
|
||||||
|
}
|
||||||
|
|
||||||
if (oap->line_count > p_report) {
|
if (oap->line_count > p_report) {
|
||||||
i = oap->line_count - (i + 1);
|
i = oap->line_count - (i + 1);
|
||||||
@ -1856,8 +1857,9 @@ void op_tilde(oparg_T *oap)
|
|||||||
did_change |= one_change;
|
did_change |= one_change;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (did_change)
|
if (did_change) {
|
||||||
changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L, true);
|
changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L, true);
|
||||||
|
}
|
||||||
} else { // not block mode
|
} else { // not block mode
|
||||||
if (oap->motion_type == kMTLineWise) {
|
if (oap->motion_type == kMTLineWise) {
|
||||||
oap->start.col = 0;
|
oap->start.col = 0;
|
||||||
|
@ -2030,7 +2030,7 @@ void undo_time(long step, int sec, int file, int absolute)
|
|||||||
break;
|
break;
|
||||||
curbuf->b_u_curhead = uhp;
|
curbuf->b_u_curhead = uhp;
|
||||||
u_undoredo(true, true);
|
u_undoredo(true, true);
|
||||||
uhp->uh_walk = nomark; /* don't go back down here */
|
uhp->uh_walk = nomark; // don't go back down here
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -10,7 +10,12 @@ local origlines = {"original line 1",
|
|||||||
"original line 5",
|
"original line 5",
|
||||||
"original line 6"}
|
"original line 6"}
|
||||||
|
|
||||||
function sendkeys(keys)
|
local function expectn(name, args)
|
||||||
|
-- expect the next message to be the specified notification event
|
||||||
|
eq({'notification', name, args}, next_message())
|
||||||
|
end
|
||||||
|
|
||||||
|
local function sendkeys(keys)
|
||||||
nvim('input', keys)
|
nvim('input', keys)
|
||||||
-- give neovim some time to process msgpack requests before possibly sending
|
-- give neovim some time to process msgpack requests before possibly sending
|
||||||
-- more key presses - otherwise they all pile up in the queue and get
|
-- more key presses - otherwise they all pile up in the queue and get
|
||||||
@ -19,16 +24,7 @@ function sendkeys(keys)
|
|||||||
repeat until os.clock() > ntime
|
repeat until os.clock() > ntime
|
||||||
end
|
end
|
||||||
|
|
||||||
function editoriginal(activate, lines)
|
local function open(activate, lines)
|
||||||
if not lines then
|
|
||||||
lines = origlines
|
|
||||||
end
|
|
||||||
-- load up the file with the correct contents
|
|
||||||
helpers.clear()
|
|
||||||
return open(activate, lines)
|
|
||||||
end
|
|
||||||
|
|
||||||
function open(activate, lines)
|
|
||||||
local filename = helpers.tmpname()
|
local filename = helpers.tmpname()
|
||||||
helpers.write_file(filename, table.concat(lines, "\n").."\n", true)
|
helpers.write_file(filename, table.concat(lines, "\n").."\n", true)
|
||||||
command('edit ' .. filename)
|
command('edit ' .. filename)
|
||||||
@ -46,24 +42,28 @@ function open(activate, lines)
|
|||||||
return b, tick, filename
|
return b, tick, filename
|
||||||
end
|
end
|
||||||
|
|
||||||
function reopen(buf, expectedlines)
|
local function editoriginal(activate, lines)
|
||||||
|
if not lines then
|
||||||
|
lines = origlines
|
||||||
|
end
|
||||||
|
-- load up the file with the correct contents
|
||||||
|
helpers.clear()
|
||||||
|
return open(activate, lines)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function reopen(buf, expectedlines)
|
||||||
ok(buffer('live_updates_stop', buf))
|
ok(buffer('live_updates_stop', buf))
|
||||||
expectn('LiveUpdateEnd', {buf})
|
expectn('LiveUpdateEnd', {buf})
|
||||||
-- for some reason the :edit! increments tick by 2
|
-- for some reason the :edit! increments tick by 2
|
||||||
command('edit!')
|
command('edit!')
|
||||||
local tick = eval('b:changedtick')
|
local tick = eval('b:changedtick')
|
||||||
ok(buffer('live_updates_start', buf, true))
|
ok(buffer('live_updates_start', buf, true))
|
||||||
expectn('LiveUpdateStart', {buf, tick, origlines, false})
|
expectn('LiveUpdateStart', {buf, tick, expectedlines, false})
|
||||||
command('normal! gg')
|
command('normal! gg')
|
||||||
return tick
|
return tick
|
||||||
end
|
end
|
||||||
|
|
||||||
function expectn(name, args)
|
local function reopenwithfolds(b)
|
||||||
-- expect the next message to be the specified notification event
|
|
||||||
eq({'notification', name, args}, next_message())
|
|
||||||
end
|
|
||||||
|
|
||||||
function reopenwithfolds(b)
|
|
||||||
-- discard any changes to the buffer
|
-- discard any changes to the buffer
|
||||||
local tick = reopen(b, origlines)
|
local tick = reopen(b, origlines)
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ describe('liveupdate', function()
|
|||||||
command('normal! gg4YGp')
|
command('normal! gg4YGp')
|
||||||
command('normal! Gp')
|
command('normal! Gp')
|
||||||
command('normal! Gp')
|
command('normal! Gp')
|
||||||
firstfour = {'original line 4',
|
local firstfour = {'original line 4',
|
||||||
'original line 5',
|
'original line 5',
|
||||||
'original line 6',
|
'original line 6',
|
||||||
'original line 4'}
|
'original line 4'}
|
||||||
@ -159,8 +159,8 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
-- add a line at the start of an empty file
|
-- add a line at the start of an empty file
|
||||||
command('enew')
|
command('enew')
|
||||||
local tick = eval('b:changedtick')
|
tick = eval('b:changedtick')
|
||||||
b2 = nvim('get_current_buf')
|
local b2 = nvim('get_current_buf')
|
||||||
ok(buffer('live_updates_start', b2, true))
|
ok(buffer('live_updates_start', b2, true))
|
||||||
expectn('LiveUpdateStart', {b2, tick, {""}, false})
|
expectn('LiveUpdateStart', {b2, tick, {""}, false})
|
||||||
eval('append(0, ["new line 1"])')
|
eval('append(0, ["new line 1"])')
|
||||||
@ -173,7 +173,7 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
-- add multiple lines to a blank file
|
-- add multiple lines to a blank file
|
||||||
command('enew!')
|
command('enew!')
|
||||||
b3 = nvim('get_current_buf')
|
local b3 = nvim('get_current_buf')
|
||||||
ok(buffer('live_updates_start', b3, true))
|
ok(buffer('live_updates_start', b3, true))
|
||||||
tick = eval('b:changedtick')
|
tick = eval('b:changedtick')
|
||||||
expectn('LiveUpdateStart', {b3, tick, {""}, false})
|
expectn('LiveUpdateStart', {b3, tick, {""}, false})
|
||||||
@ -230,7 +230,6 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
it('knows when you modify lines of text', function()
|
it('knows when you modify lines of text', function()
|
||||||
local b, tick = editoriginal(true)
|
local b, tick = editoriginal(true)
|
||||||
local channel = nvim('get_api_info')[1]
|
|
||||||
|
|
||||||
-- some normal text editing
|
-- some normal text editing
|
||||||
command('normal! A555')
|
command('normal! A555')
|
||||||
@ -266,7 +265,7 @@ describe('liveupdate', function()
|
|||||||
command('enew!')
|
command('enew!')
|
||||||
tick = 2
|
tick = 2
|
||||||
expectn('LiveUpdateEnd', {b})
|
expectn('LiveUpdateEnd', {b})
|
||||||
bnew = nvim('get_current_buf')
|
local bnew = nvim('get_current_buf')
|
||||||
ok(buffer('live_updates_start', bnew, true))
|
ok(buffer('live_updates_start', bnew, true))
|
||||||
expectn('LiveUpdateStart', {bnew, tick, {''}, false})
|
expectn('LiveUpdateStart', {bnew, tick, {''}, false})
|
||||||
sendkeys('i')
|
sendkeys('i')
|
||||||
@ -324,7 +323,7 @@ describe('liveupdate', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
it('sends a sensible event when you use "o"', function()
|
it('sends a sensible event when you use "o"', function()
|
||||||
b, tick = editoriginal(true, {'AAA', 'BBB'})
|
local b, tick = editoriginal(true, {'AAA', 'BBB'})
|
||||||
command('set noautoindent nosmartindent')
|
command('set noautoindent nosmartindent')
|
||||||
|
|
||||||
-- use 'o' to start a new line from a line with no indent
|
-- use 'o' to start a new line from a line with no indent
|
||||||
@ -391,14 +390,14 @@ describe('liveupdate', function()
|
|||||||
it('allows a channel to watch multiple buffers at once', function()
|
it('allows a channel to watch multiple buffers at once', function()
|
||||||
-- edit 3 buffers, make sure they all have windows visible so that when we
|
-- edit 3 buffers, make sure they all have windows visible so that when we
|
||||||
-- move between buffers, none of them are unloaded
|
-- move between buffers, none of them are unloaded
|
||||||
b1, tick1, f1 = editoriginal(true, {'A1', 'A2'})
|
local b1, tick1 = editoriginal(true, {'A1', 'A2'})
|
||||||
b1nr = eval('bufnr("")')
|
local b1nr = eval('bufnr("")')
|
||||||
command('split')
|
command('split')
|
||||||
b2, tick2, f2 = open(true, {'B1', 'B2'})
|
local b2, tick2 = open(true, {'B1', 'B2'})
|
||||||
b2nr = eval('bufnr("")')
|
local b2nr = eval('bufnr("")')
|
||||||
command('split')
|
command('split')
|
||||||
b3, tick3, f3 = open(true, {'C1', 'C2'})
|
local b3, tick3 = open(true, {'C1', 'C2'})
|
||||||
b3nr = eval('bufnr("")')
|
local b3nr = eval('bufnr("")')
|
||||||
|
|
||||||
-- make a new window for moving between buffers
|
-- make a new window for moving between buffers
|
||||||
command('split')
|
command('split')
|
||||||
@ -470,12 +469,12 @@ describe('liveupdate', function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- create several new sessions, in addition to our main API
|
-- create several new sessions, in addition to our main API
|
||||||
sessions = {}
|
local sessions = {}
|
||||||
sessions[1] = addsession(helpers.tmpname()..'.1')
|
sessions[1] = addsession(helpers.tmpname()..'.1')
|
||||||
sessions[2] = addsession(helpers.tmpname()..'.2')
|
sessions[2] = addsession(helpers.tmpname()..'.2')
|
||||||
sessions[3] = addsession(helpers.tmpname()..'.3')
|
sessions[3] = addsession(helpers.tmpname()..'.3')
|
||||||
|
|
||||||
function request(sessionnr, method, ...)
|
local function request(sessionnr, method, ...)
|
||||||
local status, rv = sessions[sessionnr]:request(method, ...)
|
local status, rv = sessions[sessionnr]:request(method, ...)
|
||||||
if not status then
|
if not status then
|
||||||
error(rv[2])
|
error(rv[2])
|
||||||
@ -483,7 +482,7 @@ describe('liveupdate', function()
|
|||||||
return rv
|
return rv
|
||||||
end
|
end
|
||||||
|
|
||||||
function wantn(sessionid, name, args)
|
local function wantn(sessionid, name, args)
|
||||||
local session = sessions[sessionid]
|
local session = sessions[sessionid]
|
||||||
eq({'notification', name, args}, session:next_message())
|
eq({'notification', name, args}, session:next_message())
|
||||||
end
|
end
|
||||||
@ -534,7 +533,7 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
-- make sure there are no other pending LiveUpdate messages going to
|
-- make sure there are no other pending LiveUpdate messages going to
|
||||||
-- channel 1
|
-- channel 1
|
||||||
local channel1 = request(1, 'nvim_get_api_info')[1]
|
channel1 = request(1, 'nvim_get_api_info')[1]
|
||||||
eval('rpcnotify('..channel1..', "Hello Again")')
|
eval('rpcnotify('..channel1..', "Hello Again")')
|
||||||
wantn(1, 'Hello Again', {})
|
wantn(1, 'Hello Again', {})
|
||||||
end)
|
end)
|
||||||
@ -573,7 +572,6 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
it('works with :left', function()
|
it('works with :left', function()
|
||||||
local b, tick = editoriginal(true, {" A", " B", "B", "\tB", "\t\tC"})
|
local b, tick = editoriginal(true, {" A", " B", "B", "\tB", "\t\tC"})
|
||||||
local channel = nvim('get_api_info')[1]
|
|
||||||
command('2,4left')
|
command('2,4left')
|
||||||
tick = tick + 1
|
tick = tick + 1
|
||||||
expectn('LiveUpdate', {b, tick, 1, 3, {"B", "B", "B"}})
|
expectn('LiveUpdate', {b, tick, 1, 3, {"B", "B", "B"}})
|
||||||
@ -585,7 +583,6 @@ describe('liveupdate', function()
|
|||||||
"\t \tBB",
|
"\t \tBB",
|
||||||
" \tB",
|
" \tB",
|
||||||
"\t\tC"})
|
"\t\tC"})
|
||||||
local channel = nvim('get_api_info')[1]
|
|
||||||
command('set ts=2 et')
|
command('set ts=2 et')
|
||||||
command('2,4retab')
|
command('2,4retab')
|
||||||
tick = tick + 1
|
tick = tick + 1
|
||||||
@ -594,7 +591,6 @@ describe('liveupdate', function()
|
|||||||
|
|
||||||
it('works with :move', function()
|
it('works with :move', function()
|
||||||
local b, tick = editoriginal(true, origlines)
|
local b, tick = editoriginal(true, origlines)
|
||||||
local channel = nvim('get_api_info')[1]
|
|
||||||
-- move text down towards the end of the file
|
-- move text down towards the end of the file
|
||||||
command('2,3move 4')
|
command('2,3move 4')
|
||||||
tick = tick + 2
|
tick = tick + 2
|
||||||
@ -614,9 +610,8 @@ describe('liveupdate', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
it('sends sensible events when you manually add/remove folds', function()
|
it('sends sensible events when you manually add/remove folds', function()
|
||||||
local b, tick = editoriginal(true)
|
local b = editoriginal(true)
|
||||||
local channel = nvim('get_api_info')[1]
|
local tick = reopenwithfolds(b)
|
||||||
tick = reopenwithfolds(b)
|
|
||||||
|
|
||||||
-- delete the inner fold
|
-- delete the inner fold
|
||||||
command('normal! zR3Gzd')
|
command('normal! zR3Gzd')
|
||||||
@ -683,7 +678,7 @@ describe('liveupdate', function()
|
|||||||
eval('rpcnotify('..channel..', "Hello There")')
|
eval('rpcnotify('..channel..', "Hello There")')
|
||||||
expectn('Hello There', {})
|
expectn('Hello There', {})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- test what happens when a buffer is hidden
|
-- test what happens when a buffer is hidden
|
||||||
it('keeps updates turned on if the buffer is hidden', function()
|
it('keeps updates turned on if the buffer is hidden', function()
|
||||||
local b, tick = editoriginal(true, {'AAA'})
|
local b, tick = editoriginal(true, {'AAA'})
|
||||||
@ -720,10 +715,10 @@ describe('liveupdate', function()
|
|||||||
helpers.clear()
|
helpers.clear()
|
||||||
-- need to make a new window with a buffer because :bunload doesn't let you
|
-- need to make a new window with a buffer because :bunload doesn't let you
|
||||||
-- unload the last buffer
|
-- unload the last buffer
|
||||||
for i, cmd in ipairs({'bunload', 'bdelete', 'bwipeout'}) do
|
for _, cmd in ipairs({'bunload', 'bdelete', 'bwipeout'}) do
|
||||||
command('new')
|
command('new')
|
||||||
-- open a brand spanking new file
|
-- open a brand spanking new file
|
||||||
local b, filename = open(true, {'AAA'})
|
local b = open(true, {'AAA'})
|
||||||
|
|
||||||
-- call :bunload or whatever the command is, and then check that we
|
-- call :bunload or whatever the command is, and then check that we
|
||||||
-- receive a LiveUpdateEnd
|
-- receive a LiveUpdateEnd
|
||||||
|
Loading…
Reference in New Issue
Block a user