0
0
mirror of https://github.com/vim/vim.git synced 2025-08-26 20:03:41 -04:00

patch 8.2.4135: Vim9: ":scriptnames" shows unloaded imported autoload script

Problem:    Vim9: ":scriptnames" shows unloaded imported autoload script.
Solution:   Mark the unloaded script with "A". (closes #9552)
This commit is contained in:
Bram Moolenaar 2022-01-18 14:16:59 +00:00
parent 113b8dc111
commit 6079da7cfb
4 changed files with 17 additions and 4 deletions

View File

@ -380,6 +380,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID
|<SID>|.
For a script that was used with `import autoload` but
was not actually sourced yet an "A" is shown after the
script ID.
{not available when compiled without the |+eval|
feature}

View File

@ -1648,17 +1648,23 @@ ex_scriptnames(exarg_T *eap)
}
for (i = 1; i <= script_items.ga_len && !got_int; ++i)
if (SCRIPT_ITEM(i)->sn_name != NULL)
{
home_replace(NULL, SCRIPT_ITEM(i)->sn_name,
NameBuff, MAXPATHL, TRUE);
vim_snprintf((char *)IObuff, IOSIZE, "%3d: %s", i, NameBuff);
scriptitem_T *si = SCRIPT_ITEM(i);
if (si->sn_name != NULL)
{
home_replace(NULL, si->sn_name, NameBuff, MAXPATHL, TRUE);
vim_snprintf((char *)IObuff, IOSIZE, "%3d%s: %s",
i,
si->sn_state == SN_STATE_NOT_LOADED ? " A" : "",
NameBuff);
msg_putchar('\n');
msg_outtrans(IObuff);
out_flush(); // output one line at a time
ui_breakcheck();
}
}
}
# if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
/*

View File

@ -1397,10 +1397,12 @@ def Test_autoload_mapping()
CheckScriptSuccess(lines)
assert_false(exists("g:toggle_loaded"))
assert_false(exists("g:toggle_called"))
assert_match('\d A: \f*[/\\]toggle.vim', execute('scriptnames'))
feedkeys("tt", 'xt')
assert_equal('yes', g:toggle_loaded)
assert_equal('yes', g:toggle_called)
assert_match('\d: \f*[/\\]toggle.vim', execute('scriptnames'))
feedkeys("xx", 'xt')
assert_equal('yes', g:doit_called)

View File

@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4135,
/**/
4134,
/**/