Skip to content

Commit 4204e69

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents ecc0c91 + 1a08a3e commit 4204e69

22 files changed

Lines changed: 240 additions & 164 deletions

runtime/filetype.vim

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1112,6 +1112,9 @@ au BufNewFile,BufRead *.ldif setf ldif
11121112
" Ld loader
11131113
au BufNewFile,BufRead *.ld setf ld
11141114

1115+
" Lean
1116+
au BufNewFile,BufRead *.lean setf lean
1117+
11151118
" Ledger
11161119
au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger
11171120

@@ -1396,6 +1399,9 @@ au BufNewFile,BufRead *.nse setf lua
13961399
" NSIS
13971400
au BufNewFile,BufRead *.nsi,*.nsh setf nsis
13981401

1402+
" Nu
1403+
au BufNewFile,BufRead {env,config}.nu setf nu
1404+
13991405
" Oblivion Language and Oblivion Script Extender
14001406
au BufNewFile,BufRead *.obl,*.obse,*.oblivion,*.obscript setf obse
14011407

@@ -1805,6 +1811,9 @@ au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
18051811
" S-lang (or shader language, or SmallLisp)
18061812
au BufNewFile,BufRead *.sl setf slang
18071813

1814+
" Sage
1815+
au BufNewFile,BufRead *.sage setf sage
1816+
18081817
" Samba config
18091818
au BufNewFile,BufRead smb.conf setf samba
18101819

@@ -2334,7 +2343,11 @@ au BufNewFile,BufRead *.vroom setf vroom
23342343
au BufNewFile,BufRead *.vue setf vue
23352344

23362345
" WebAssembly
2337-
au BufNewFile,BufRead *.wast,*.wat setf wast
2346+
au BufNewFile,BufRead *.wat setf wat
2347+
au BufNewFile,BufRead *.wast setf wast
2348+
2349+
" WebAssembly Interface Type (WIT)
2350+
au BufNewFile,BufRead *.wit setf wit
23382351

23392352
" Webmacro
23402353
au BufNewFile,BufRead *.wm setf webmacro

src/cindent.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,9 @@ cin_is_cpp_namespace(char_u *s)
769769

770770
s = cin_skipcomment(s);
771771

772-
if (STRNCMP(s, "inline", 6) == 0 && (s[6] == NUL || !vim_iswordc(s[6])))
772+
// skip over "inline" and "export" in any order
773+
while ((STRNCMP(s, "inline", 6) == 0 || STRNCMP(s, "export", 6) == 0)
774+
&& (s[6] == NUL || !vim_iswordc(s[6])))
773775
s = cin_skipcomment(skipwhite(s + 6));
774776

775777
if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9])))

src/edit.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2447,12 +2447,12 @@ stop_insert(
24472447
* otherwise CTRL-O w and then <Left> will clear "last_insert".
24482448
*/
24492449
ptr = get_inserted();
2450-
if (did_restart_edit == 0 || (ptr != NULL
2451-
&& (int)STRLEN(ptr) > new_insert_skip))
2450+
int added = ptr == NULL ? 0 : (int)STRLEN(ptr) - new_insert_skip;
2451+
if (did_restart_edit == 0 || added > 0)
24522452
{
24532453
vim_free(last_insert);
24542454
last_insert = ptr;
2455-
last_insert_skip = new_insert_skip;
2455+
last_insert_skip = added < 0 ? 0 : new_insert_skip;
24562456
}
24572457
else
24582458
vim_free(ptr);
@@ -3697,6 +3697,7 @@ ins_esc(
36973697
else
36983698
{
36993699
--curwin->w_cursor.col;
3700+
curwin->w_valid &= ~(VALID_WCOL|VALID_VIRTCOL);
37003701
// Correct cursor for multi-byte character.
37013702
if (has_mbyte)
37023703
mb_adjust_cursor();

src/main.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ main
320320
params.want_full_screen = FALSE;
321321

322322
/*
323-
* When certain to start the GUI, don't check capabilities of terminal.
323+
* When certain to start the GUI, don't check terminal capabilities.
324324
* For GTK we can't be sure, but when started from the desktop it doesn't
325325
* make sense to try using a terminal.
326326
*/
@@ -1360,7 +1360,11 @@ main_loop(
13601360
* update cursor and redraw.
13611361
*/
13621362
if (skip_redraw || exmode_active)
1363+
{
13631364
skip_redraw = FALSE;
1365+
setcursor();
1366+
cursor_on();
1367+
}
13641368
else if (do_redraw || stuff_empty())
13651369
{
13661370
#ifdef FEAT_GUI

src/profiler.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -436,21 +436,13 @@ static enum
436436

437437
static char *pexpand_cmds[] = {
438438
"start",
439-
#define PROFCMD_START 0
440439
"stop",
441-
#define PROFCMD_STOP 1
442440
"pause",
443-
#define PROFCMD_PAUSE 2
444441
"continue",
445-
#define PROFCMD_CONTINUE 3
446442
"func",
447-
#define PROFCMD_FUNC 4
448443
"file",
449-
#define PROFCMD_DUMP 5
450444
"dump",
451-
#define PROFCMD_FILE 6
452445
NULL
453-
#define PROFCMD_LAST 7
454446
};
455447

456448
/*

src/regexp_nfa.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6678,7 +6678,9 @@ nfa_regmatch(
66786678
int subidx;
66796679
int bytelen;
66806680

6681-
if (t->state->c <= NFA_BACKREF9)
6681+
#ifdef FEAT_SYN_HL
6682+
if (t->state->c >= NFA_BACKREF1 && t->state->c <= NFA_BACKREF9)
6683+
#endif
66826684
{
66836685
subidx = t->state->c - NFA_BACKREF1 + 1;
66846686
result = match_backref(&t->subs.norm, subidx, &bytelen);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
>:+0&#ffffff0| @58
2+
|~+0#4040ff13&| @58
3+
|~| @58
4+
|~| @58
5+
|~| @58
6+
| +0#0000000&@59

src/testdir/test_cindent.vim

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4406,6 +4406,18 @@ def Test_cindent_47()
44064406
inline/* test */namespace {
44074407
111111111111111111;
44084408
}
4409+
export namespace {
4410+
111111111111111111;
4411+
}
4412+
export inline namespace {
4413+
111111111111111111;
4414+
}
4415+
export/* test */inline namespace {
4416+
111111111111111111;
4417+
}
4418+
inline export namespace {
4419+
111111111111111111;
4420+
}
44094421

44104422
/* invalid namespaces use block indent */
44114423
namespace test test2 {
@@ -4509,6 +4521,18 @@ def Test_cindent_47()
45094521
inline/* test */namespace {
45104522
111111111111111111;
45114523
}
4524+
export namespace {
4525+
111111111111111111;
4526+
}
4527+
export inline namespace {
4528+
111111111111111111;
4529+
}
4530+
export/* test */inline namespace {
4531+
111111111111111111;
4532+
}
4533+
inline export namespace {
4534+
111111111111111111;
4535+
}
45124536

45134537
/* invalid namespaces use block indent */
45144538
namespace test test2 {

src/testdir/test_edit.vim

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ if exists("+t_kD")
55
endif
66

77
source check.vim
8+
source screendump.vim
89

910
" Needed for testing basic rightleft: Test_edit_rightleft
1011
source view_util.vim
@@ -1960,6 +1961,22 @@ func Test_edit_insert_reg()
19601961
close!
19611962
endfunc
19621963

1964+
" Test for positioning cursor after CTRL-R expression failed
1965+
func Test_edit_ctrl_r_failed()
1966+
CheckRunVimInTerminal
1967+
1968+
let buf = RunVimInTerminal('', #{rows: 6, cols: 60})
1969+
1970+
" trying to insert a dictionary produces an error
1971+
call term_sendkeys(buf, "i\<C-R>={}\<CR>")
1972+
1973+
" ending Insert mode should put the cursor back on the ':'
1974+
call term_sendkeys(buf, ":\<Esc>")
1975+
call VerifyScreenDump(buf, 'Test_edit_ctlr_r_failed_1', {})
1976+
1977+
call StopVimInTerminal(buf)
1978+
endfunc
1979+
19631980
" When a character is inserted at the last position of the last line in a
19641981
" window, the window contents should be scrolled one line up. If the top line
19651982
" is part of a fold, then the entire fold should be scrolled up.

src/testdir/test_filetype.vim

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ let s:filename_checks = {
320320
\ 'latte': ['file.latte', 'file.lte'],
321321
\ 'ld': ['file.ld'],
322322
\ 'ldif': ['file.ldif'],
323+
\ 'lean': ['file.lean'],
323324
\ 'ledger': ['file.ldg', 'file.ledger', 'file.journal'],
324325
\ 'less': ['file.less'],
325326
\ 'lex': ['file.lex', 'file.l', 'file.lxx', 'file.l++'],
@@ -411,6 +412,7 @@ let s:filename_checks = {
411412
\ 'nqc': ['file.nqc'],
412413
\ 'nroff': ['file.tr', 'file.nr', 'file.roff', 'file.tmac', 'file.mom', 'tmac.file'],
413414
\ 'nsis': ['file.nsi', 'file.nsh'],
415+
\ 'nu': ['env.nu', 'config.nu'],
414416
\ 'obj': ['file.obj'],
415417
\ 'obse': ['file.obl', 'file.obse', 'file.oblivion', 'file.obscript'],
416418
\ 'ocaml': ['file.ml', 'file.mli', 'file.mll', 'file.mly', '.ocamlinit', 'file.mlt', 'file.mlp', 'file.mlip', 'file.mli.cppo', 'file.ml.cppo'],
@@ -538,6 +540,7 @@ let s:filename_checks = {
538540
\ 'skill': ['file.il', 'file.ils', 'file.cdf'],
539541
\ 'cdc': ['file.cdc'],
540542
\ 'slang': ['file.sl'],
543+
\ 'sage': ['file.sage'],
541544
\ 'slice': ['file.ice'],
542545
\ 'slpconf': ['/etc/slp.conf', 'any/etc/slp.conf'],
543546
\ 'slpreg': ['/etc/slp.reg', 'any/etc/slp.reg'],
@@ -654,12 +657,14 @@ let s:filename_checks = {
654657
\ 'vrml': ['file.wrl'],
655658
\ 'vroom': ['file.vroom'],
656659
\ 'vue': ['file.vue'],
657-
\ 'wast': ['file.wast', 'file.wat'],
660+
\ 'wat': ['file.wat'],
661+
\ 'wast': ['file.wast'],
658662
\ 'wdl': ['file.wdl'],
659663
\ 'webmacro': ['file.wm'],
660664
\ 'wget': ['.wgetrc', 'wgetrc'],
661665
\ 'wget2': ['.wget2rc', 'wget2rc'],
662666
\ 'winbatch': ['file.wbt'],
667+
\ 'wit': ['file.wit'],
663668
\ 'wml': ['file.wml'],
664669
\ 'wsh': ['file.wsf', 'file.wsc'],
665670
\ 'wsml': ['file.wsml'],

0 commit comments

Comments
 (0)