diff options
-rw-r--r-- | src/eval.c | 3 | ||||
-rw-r--r-- | src/findfile.c | 13 | ||||
-rw-r--r-- | src/globals.h | 2 | ||||
-rw-r--r-- | src/testdir/test_gf.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 24 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c index 3b563f7db..387b2802d 100644 --- a/src/eval.c +++ b/src/eval.c @@ -5462,7 +5462,6 @@ tv_get_number_chk(typval_T *varp, int *denote) break; case VAR_SPECIAL: return varp->vval.v_number == VVAL_TRUE ? 1 : 0; - break; case VAR_JOB: #ifdef FEAT_JOB_CHANNEL emsg(_("E910: Using a Job as a Number")); @@ -6147,7 +6146,7 @@ last_set_msg(sctx_T script_ctx) msg_puts((char *)p); if (script_ctx.sc_lnum > 0) { - msg_puts(_(" line ")); + msg_puts(_(line_msg)); msg_outnum((long)script_ctx.sc_lnum); } verbose_leave(); diff --git a/src/findfile.c b/src/findfile.c index dba547da1..ba996c454 100644 --- a/src/findfile.c +++ b/src/findfile.c @@ -2047,10 +2047,19 @@ file_name_in_line( if (file_lnum != NULL) { char_u *p; + char *line_english = " line "; + char *line_transl = _(line_msg); - // Get the number after the file name and a separator character + // Get the number after the file name and a separator character. + // Also accept " line 999" with and without the same translation as + // used in last_set_msg(). p = ptr + len; - p = skipwhite(p); + if (STRNCMP(p, line_english, STRLEN(line_english)) == 0) + p += STRLEN(line_english); + else if (STRNCMP(p, line_transl, STRLEN(line_transl)) == 0) + p += STRLEN(line_transl); + else + p = skipwhite(p); if (*p != NUL) { if (!isdigit(*p)) diff --git a/src/globals.h b/src/globals.h index 77a42d8ef..9ddb16441 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1660,6 +1660,8 @@ EXTERN short disallow_gui INIT(= FALSE); EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM")); EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP")); +EXTERN char line_msg[] INIT(= N_(" line ")); + #ifdef FEAT_CRYPT EXTERN char need_key_msg[] INIT(= N_("Need encryption key for \"%s\"")); #endif diff --git a/src/testdir/test_gf.vim b/src/testdir/test_gf.vim index d30187489..4a4ffcefa 100644 --- a/src/testdir/test_gf.vim +++ b/src/testdir/test_gf.vim @@ -58,6 +58,14 @@ func Test_gF() call assert_equal('Xfile', bufname('%')) call assert_equal(3, getcurpos()[1]) + enew! + call setline(1, ['one', 'the Xfile line 2, and more', 'three']) + w! Xfile2 + normal 2GfX + normal gF + call assert_equal('Xfile', bufname('%')) + call assert_equal(2, getcurpos()[1]) + set isfname& call delete('Xfile') call delete('Xfile2') diff --git a/src/version.c b/src/version.c index 7d9b3db90..9dbfd6ff4 100644 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 30, +/**/ 29, /**/ 28, |