1
0
forked from aniani/vim

updated for version 7.3.065

Problem:    Can't get current line number in a source file.
Solution:   Add the <slnum> item, similar to <sfile>.
This commit is contained in:
Bram Moolenaar
2010-11-24 15:50:59 +01:00
parent 0818b87cbf
commit 4dbbff57ba
2 changed files with 22 additions and 7 deletions

View File

@@ -9538,17 +9538,23 @@ find_cmdline_var(src, usedlen)
#define SPEC_CFILE 4
"<sfile>", /* ":so" file name */
#define SPEC_SFILE 5
"<slnum>", /* ":so" file line number */
#define SPEC_SLNUM 6
#ifdef FEAT_AUTOCMD
"<afile>", /* autocommand file name */
# define SPEC_AFILE 6
# define SPEC_AFILE 7
"<abuf>", /* autocommand buffer number */
# define SPEC_ABUF 7
# define SPEC_ABUF 8
"<amatch>", /* autocommand match name */
# define SPEC_AMATCH 8
# define SPEC_AMATCH 9
#endif
#ifdef FEAT_CLIENTSERVER
"<client>"
# define SPEC_CLIENT 9
# ifdef FEAT_AUTOCMD
# define SPEC_CLIENT 10
# else
# define SPEC_CLIENT 7
# endif
#endif
};
@@ -9573,6 +9579,7 @@ find_cmdline_var(src, usedlen)
* '<cWORD>' to WORD under the cursor
* '<cfile>' to path name under the cursor
* '<sfile>' to sourced file name
* '<slnum>' to sourced file line number
* '<afile>' to file name for autocommand
* '<abuf>' to buffer number for autocommand
* '<amatch>' to matching name for autocommand
@@ -9604,10 +9611,7 @@ eval_vars(src, srcstart, usedlen, lnump, errormsg, escaped)
#ifdef FEAT_MODIFY_FNAME
int skip_mod = FALSE;
#endif
#if defined(FEAT_AUTOCMD) || defined(FEAT_CLIENTSERVER)
char_u strbuf[30];
#endif
*errormsg = NULL;
if (escaped != NULL)
@@ -9796,6 +9800,15 @@ eval_vars(src, srcstart, usedlen, lnump, errormsg, escaped)
return NULL;
}
break;
case SPEC_SLNUM: /* line in file for ":so" command */
if (sourcing_name == NULL || sourcing_lnum == 0)
{
*errormsg = (char_u *)_("E842: no line number to use for \"<slnum>\"");
return NULL;
}
sprintf((char *)strbuf, "%ld", (long)sourcing_lnum);
result = strbuf;
break;
#if defined(FEAT_CLIENTSERVER)
case SPEC_CLIENT: /* Source of last submitted input */
sprintf((char *)strbuf, PRINTF_HEX_LONG_U,

View File

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