Commit Graph

12173 Commits

Author SHA1 Message Date
Matt Wozniski
2f06413dfb Treat unmapped ALT/META as ESC+c in all modes
In #8226 <A-x> and <M-x> were changed to behave like <Esc>x in insert
mode when no mapping exists. This commit backs out that change and
replaces it with a more general one that makes unmapped ALT and META
keypresses as <Esc>+char in all modes. This fixes an unnecessary and
confusing inconsistency between modes.
2020-10-05 15:27:04 -04:00
G-flat
8972eea2e1 PVS/V1001: Remove assignment to unused variable 2020-10-05 15:17:14 +08:00
Jan Edmund Lazo
86ab4a1cb4 vim-patch:8.2.0841: 'verbose' value 16 causes duplicate output
Problem:    'verbose' value 16 causes duplicate output.
Solution:   Combine levels 15 and 16 into one message. (Christian Brabandt,
            closes vim/vim#6153)
823654bc06
2020-10-03 01:06:24 -04:00
Jan Edmund Lazo
970d6ee0d1 vim-patch:8.1.2143: cannot see each command even when 'verbose' is set
Problem:    Cannot see each command even when 'verbose' is set.
Solution:   List each command when 'verbose' is at least 16.
4facea310c

Cherry-pick Test_tselect() from patch 8.1.2141.
It requires screendump so it won't run.
I cannot port it to a lua screen test.
2020-10-02 23:13:28 -04:00
Jan Edmund Lazo
2000e1621d vim-patch:8.2.1787: crash with 'incsearch' and very long line
Problem:    Crash with 'incsearch' and very long line.
Solution:   Check whether regprog becomes NULL. (closes vim/vim#7063)
795aaa1e84

N/A patches for version.c:

vim-patch:8.2.1784: commits are not scanned for security problems

Problem:    commits are not scanned for security problems
Solution:   Enable Github code scanning. (Christian Brabandt, closes vim/vim#7057)
fa79be6b10
2020-10-02 23:13:28 -04:00
Jan Edmund Lazo
25513049b3 vim-patch:8.2.1780: statusline not updated when splitting windows
Problem:    Statusline not updated when splitting windows.
Solution:   Call status_redraw_all(). (Jason Franklin, closes vim/vim#5496)
668008be66
2020-10-02 22:31:55 -04:00
Jan Edmund Lazo
72914cd7f2 vim-patch:8.2.1779: some debian changelog files are not recognized
Problem:    Some debian changelog files are not recognized.
Solution:   Add */debian/changelog. (Jason Franklin)
0022675aa3
2020-10-02 22:31:55 -04:00
Stanley Chan
f126721357 Fix quickfix.c warning message on EMSGN macro
```
/Users/stahn_mchan/sources/neovim/src/nvim/quickfix.c:1775:5: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long')
      [-Wformat]
    EMSGN("quickfix_busy not zero on exit: %ld", (long)quickfix_busy);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                           %lld
/Users/stahn_mchan/sources/neovim/src/nvim/message.h:49:63: note: expanded from macro 'EMSGN'
```
2020-10-02 03:24:39 -05:00
Thomas Vigouroux
c10c2fab5b Merge pull request #12968 from erw7/fix-substitute2
fix substitute problem with inccommand
2020-10-02 09:56:57 +02:00
erw7
f1b39f91a5 extmark: Change nvim_buf_set_extmark to not create undo data 2020-10-02 11:41:30 +09:00
erw7
b2f9c2b6c1 undo: fix possibility of aborting 2020-10-02 11:41:30 +09:00
erw7
620c8fdfe9 extmark: fix decoration ploblems with extmark
54ce101 changed the way undo entries are created when adding decorations.
This creates all sorts of problems.This change fixes the problem by
reverting to the previous behavior.
2020-10-02 11:41:30 +09:00
erw7
8154c77bef screen.c: fix buffer overflow due to folding
fixes #12988.
2020-10-01 17:25:19 +09:00
Jan Edmund Lazo
9bac43b1fb userfunc: abort early on invalid refs
Cherry-pick set_ref_in_call_stack() changes from patch 8.1.1575.
2020-09-30 21:00:18 -04:00
Jan Edmund Lazo
594a69579f vim-patch:8.2.0042: clearing funccal values twice
Problem:    Clearing funccal values twice.
Solution:   Remove clearing individual fields.
eac7ce01e9
2020-09-30 21:00:18 -04:00
Jan Edmund Lazo
578b0b0b52 vim-patch:8.2.0499: calling a lambda is slower than evaluating a string
Problem:    Calling a lambda is slower than evaluating a string.
Solution:   Make calling a lambda faster. (Ken Takata, closes vim/vim#5727)
f10806b250

Port "uf_flags" constants from patch 8.2.1054 to sync with Vim.
Port user_func_error() from patch 8.2.0149.
Port Test_lambda_scope() changes from patch 8.1.0736 so that it passes.
2020-09-30 21:00:17 -04:00
Jan Edmund Lazo
2a57dce9f2 vim-patch:8.1.1319: computing function length name in many places
Problem:    Computing function length name in many places.
Solution:   compute name length in call_func().
6ed8819822

In call_func(), reassign "len" param to (int)STRLEN(funcname)
instead of using vim_strsave() which runs strlen().
"len" param is checked for v:lua functions.
call_func() states that strlen() is used if "len" is set to -1.
2020-09-30 21:00:17 -04:00
Jan Edmund Lazo
4edf7b9ff2 vim-patch:8.1.1591: on error garbage collection may free memory in use
Problem:    On error garbage collection may free memory in use.
Solution:   Reset may_garbage_collect when evaluating expression mapping.
            Add tests. (Ozaki Kiichi, closes vim/vim#4579)
7d491c4253
2020-09-30 21:00:17 -04:00
erw7
7cb38d5ac4 vim-patch:8.1.1563: crash when using closures
Problem:    Crash when using closures.
Solution:   Set reference in varlist of funccal when running the garbage
            collector. (Ozaki Kiichi, closes vim/vim#4554, closes vim/vim#4547)
6e5000d493
2020-09-30 21:00:17 -04:00
Jan Edmund Lazo
3430e40c60 vim-patch:8.2.1775: MS-Windows: adding a long quickfix list is slow (#13019)
vim-patch:8.2.1775: MS-Windows: adding a long quickfix list is slow

Problem:    MS-Windows: adding a long quickfix list is slow.
Solution:   Shorten the buffer name only for the first entry. (Yegappan
            Lakshmanan, closes vim/vim#7039, closes vim/vim#7033)
8ec92c9779

N/A patches for version.c:

vim-patch:8.1.2226: cannot use system copy/paste in non-xterm terminals

Problem:    Cannot use system copy/paste in non-xterm terminals.
Solution:   Instead of setting 'mouse' to "a" set it to "nvi" in defaults.vim.
5b418992cf

vim-patch:8.2.1772: cannot use CTRL-W <Down> to move out of a terminal window

Problem:    Cannot use CTRL-W <Down> to move out of a terminal window.
Solution:   Use special_to_buf() instead of mb_char2bytes(). (closes vim/vim#7045)
f43e7ac4ee

vim-patch:8.2.1774: GTK: hang when forced to exit

Problem:    GTK: hang when forced to exit.
Solution:   Do not clean up "mainwin" when really_exiting is set.
            (Zdenek Dohnal, closes vim/vim#7042)
32fbc4f247

vim-patch:8.2.1776: filetype.vim may be loaded twice

Problem:    Filetype.vim may be loaded twice.
Solution:   Do "syntax on" after "filetype on". (Adam Stankiewicz,
            closes vim/vim#7049)
17bb4d4607
2020-09-30 20:58:36 -04:00
KillTheMule
02dcc3c11a Fix byte updates for blockwise paste at buffer end 2020-09-30 21:28:21 +02:00
KillTheMule
ba515622fb Fix buffer_updates on blockwise paste
Fixes #12718.
2020-09-30 20:10:05 +02:00
Thomas Vigouroux
3c5141d2cf treesitter: add string parser (#13008) 2020-09-30 09:32:43 -04:00
Jan Edmund Lazo
0d100032b8 vim-patch:8.2.0840: search match count wrong when only match is in fold
Problem:    Search match count wrong when only match is in fold.
Solution:   Update search stats when in a closed fold. (Christian Brabandt,
            closes vim/vim#6160, closes vim/vim#6152)
6cb0726215
2020-09-29 21:36:00 -04:00
Jan Edmund Lazo
83ebe0c998 vim-patch:8.1.1992: the search stat moves when wrapping at the end of the buffer
Problem:    The search stat moves when wrapping at the end of the buffer.
Solution:   Put the "W" in front instead of at the end.
16b58ae9f3
2020-09-29 21:36:00 -04:00
Jan Edmund Lazo
a307489a79 vim-patch:8.1.1980: fix for search stat not tested
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)
0f63ed33fd
2020-09-29 19:45:06 -04:00
Jan Edmund Lazo
37c6cbc758 vim-patch:8.1.1970: search stat space wrong, no test for 8.1.1965
Problem:    Search stat space wrong, no test for 8.1.1965.
Solution:   Fix check for cmd_silent.  Add a test. (Christian Brabandt)
19e8ac72e9
2020-09-29 19:30:29 -04:00
Jan Edmund Lazo
621f7b607f vim-patch:8.1.1965: search count message is not displayed when using a mapping
Problem:    The search count message is not displayed when using a mapping.
            (Gary Johnson)
Solution:   Ignore cmd_silent for showing the search count. (Christian
            Brabandt)
359ad1a6f9
2020-09-29 19:23:46 -04:00
Thomas Vigouroux
090551a802 Merge pull request #12996 from teto/foldcol
folds: pass column on fold creation
2020-09-29 06:40:10 +02:00
Jan Edmund Lazo
6f2138eb03 vim-patch:8.2.1757: Mac: default locale is lacking the encoding (#12994)
vim-patch:8.2.1757: Mac: default locale is lacking the encoding

Problem:    Mac: default locale is lacking the encoding.
Solution:   Add ".UTF-8 to the locale. (Yee Cheng Chin, closes vim/vim#7022)
a5fe91e6dc

Cherry-pick test_environ.vim changes from patch 8.2.1432.
2020-09-28 20:20:48 -04:00
Matthieu Coudron
12fdb114d1 folds: pass column on fold creation
useful if we want to have inline folds later and/or let users create
folds that remember their start/end columns.
2020-09-28 23:53:10 +02:00
Jan Edmund Lazo
c5ceefca79 vim-patch:8.2.1754: completion with spell checking not tested (#12992)
vim-patch:8.2.1754: completion with spell checking not tested

Problem:    Completion with spell checking not tested.
Solution:   Add a test case. (Dominique Pellé, closes vim/vim#7024)
8c7ad3631a

Cherry-pick GetMessages() from patch 8.2.0666.
Comment out the code that checks for "Messages maintainer:" line
because Neovim's ":messages" command does not output it
and patches for the "methods" feature (ie. foo->bar) are not ported yet.

https://github.com/neovim/neovim/pull/5160
2020-09-27 15:08:41 -04:00
Jan Edmund Lazo
e22c15682a test/old: enable passing tests
Some TODO tests are passing now.

test_override('ALL', 1) clears previous overrides
so it's safe to comment out and execute the test.

Replace test_feedinput() with nvim_input().
Replace test_setmouse with nvim_input_mouse().
Note that test_setmouse is 1-based and nvim_input_mouse is 0-based.
2020-09-26 10:14:50 -04:00
Jan Edmund Lazo
25b9a400a9 vim-patch:8.2.1725: not all Pascal files are recognized
Problem:    Not all Pascal files are recognized.
Solution:   Add filetype patterns. (Doug Kearns)
44aaf5416e
2020-09-26 10:14:50 -04:00
Jan Edmund Lazo
6e6b660e95 vim-patch:8.2.1088: a very long translation might cause a buffer overflow
Problem:    A very long translation might cause a buffer overflow.
Solution:   Trunctate the message if needed.
6378b21d6d

N/A patches for version.c:

vim-patch:8.1.0524: terminal test fails on Windows

Problem:    Terminal test fails on Windows.
Solution:   Skip Test_terminal_does_not_truncate_last_newlines() for now.
c2c02574ec

vim-patch:8.1.1613: popup window test fails with Athena and Motif

Problem:    Popup window test fails with Athena and Motif.
Solution:   Compute the highlight attribut when the GUI is not active.
a83e70000f

vim-patch:8.2.1713: Motif GUI: crash when setting menu colors

Problem:    Motif GUI: crash when setting menu colors. (Andrzej Bylicki)
Solution:   Add {} to make "n" incremented correctly. (closes vim/vim#6989,
        closes vim/vim#5948)
7795bfea6d

vim-patch:8.2.1715: Motif GUI: commented out code missed {}

Problem:    Motif GUI: commented out code missed {}.
Solution:   Add {} and reenable the code. (similar to vim/vim#6989)
26cd3063b2

vim-patch:8.2.1717
Problem:    MS-Windows installer doesn't have Russian translations.
Solution:   Add Russian translations. (closes vim/vim#6985)
809fcecddc

vim-patch:8.2.1721: MS-Windows installer doesn't work

Problem:    MS-Windows installer doesn't work.
Solution:   Write "Russian" in ASCII. (closes vim/vim#6995, see #).
7f9c9c51a3

vim-patch:8.2.1735: Github actions appear to timeout too soon

Problem:    Github actions appear to timeout too soon.
Solution:   use "timeout" instead of "ping".
851d108313

vim-patch:8.2.1738: Mac: str2float() recognizes comma instead of decimal point

Problem:    Mac: str2float() recognizes comma instead of decimal point.
Solution:   Set LC_NUMERIC to "C". (closes vim/vim#7003)
509f8031b2

vim-patch:8.2.1745: tiny version doesn't build

Problem:    Tiny version doesn't build.
Solution:   Add dummy ex_var() function.
d47f50b331
2020-09-26 10:14:42 -04:00
Matthieu Coudron
f1fbb9e9ca Merge pull request #12515 from teto/remove-foldline-final
screen.c: remove fold_line
2020-09-24 21:48:53 +02:00
Björn Linse
a958039f0a screen: more work on fold_line replacement 2020-09-24 19:31:58 +02:00
Matthieu Coudron
f8134f2fd1 screen.c: remove fold_line
as well as copy_text_attr, text_to_screenline.
Display of folded line is now done via win_line, which reduces code
deduplication.
As fold_line was a trimmed down version of win_line, this change brings
new features such CursorLineNr highighting even on folded line, as well
as CursorLine highlighting.
2020-09-24 15:43:25 +02:00
Thomas Vigouroux
ca28cf5362 vim-patch:8.2.1678: crash when using ":set" after ":ownsyntax"
Problem:    Crash when using ":set" after ":ownsyntax".
Solution:   Make sure 'spelloptions' is not NULL. (closes vim/vim#6950)
d1f76afaf9
2020-09-24 08:09:38 +02:00
Thomas Vigouroux
0b42e3fedb vim-patch:8.2.0956: spell test fails
Problem:    Spell test fails.
Solution:   Add missing change the spell checking.
e0ebeda4d8
2020-09-24 08:09:38 +02:00
Thomas Vigouroux
cf4543a564 vim-patch:8.2.0955: build fails
Problem:    Build fails.
Solution:   Add missing struct change.
215f49c4d7
2020-09-24 07:13:39 +02:00
Thomas Vigouroux
a08959bc7a vim-patch:8.2.0953: spell checking doesn't work for CamelCased words
Problem:    Spell checking doesn't work for CamelCased words.
Solution:   Add the "camel" value in the new option 'spelloptions'.
            (closes vim/vim#1235)
362b44bd4a
2020-09-24 07:13:39 +02:00
James McCoy
461c18edad Only use __has_include when it is defined
Per GCC's documentation:

> The __has_include operator by itself, without any operand or parentheses, acts as a predefined macro so that support for it can be tested in portable code. Thus, the recommended use of the operator is as follows:
>
>     #if defined __has_include
>     #  if __has_include (<stdatomic.h>)
>     #    include <stdatomic.h>
>     #  endif
>     #endif
>
> The first ‘#if’ test succeeds only when the operator is supported by the version of GCC (or another compiler) being used. Only when that test succeeds is it valid to use __has_include as a preprocessor operator.
2020-09-20 11:45:56 -04:00
Jan Edmund Lazo
9f704c88a5 Merge pull request #12938 from janlazo/vim-8.1.0285
vim-patch:8.1.{285,1782,1972,2261,2263},8.2.{240,817,824,1549,1676,1696}
2020-09-19 17:40:55 -04:00
Jan Edmund Lazo
df46f91977 vim-patch:8.1.2263: 'noesckeys' test fails in GUI
Problem:    'noesckeys' test fails in GUI.
Solution:   Skip the test in the GUI.
215ba3b636

Cherry-pick "CheckNotGui" command from patch 8.1.1826.
2020-09-19 10:57:57 -04:00
Jan Edmund Lazo
17106b96e9 vim-patch:8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Problem:    With modifyOtherKeys set 'noesckeys' doesn't work. (James McCoy)
Solution:   Disable modifyOtherKeys while in Insert mode when 'noesckeys' is
            set. (closes vim/vim#5180)
177c9f2f06
2020-09-19 10:57:57 -04:00
Jan Edmund Lazo
d3e0d29919 vim-patch:8.2.0824: still not enough memory allocated when converting string
Problem:    Still not enough memory allocated when converting string with
            special character.
Solution:   Reserve space for expanding K_SPECIAL. (closes vim/vim#6130)
1919371b2b
2020-09-19 10:57:57 -04:00
Jan Edmund Lazo
ccfb69ab36 vim-patch:8.2.0817: not enough memory allocated when converting string
Problem:    Not enough memory allocated when converting string with special
            character.
Solution:   Reserve space for modifier code. (closes vim/vim#6130)
f7271e8316

Cherry-pick Test_eval(), Test_nr2char() from patch 8.2.0448.
2020-09-19 10:57:57 -04:00
Jan Edmund Lazo
31513a6f2d vim-patch:8.1.1972: no proper test for getchar()
Problem:    No proper test for getchar().
Solution:   Add a test with special characters.
5d712e4672

N/A patches for version.c:

vim-patch:8.1.0285: compiler warning for conversion

Problem:    Compiler warning for conversion.
Solution:   Add a type cast. (Mike Williams)
d7cc163570

vim-patch:8.1.1782: MS-Windows: system() has temp file error with 'noshelltemp'

Problem:    MS-Windows: system() has temp file error with 'noshelltemp'.
Solution:   Check s_dont_use_vimrun. (Ken Takata, closes vim/vim#4754)
0e6bfb9b2e

vim-patch:8.2.0240: using memory after it was freed

Problem:    Using memory after it was freed. (Dominique Pelle)
Solution:   Do not mix converion buffer with other buffer.
408030e8d0

vim-patch:8.2.1549: "r" fails if 'esckeys' is off and modifyOtherKeys is used

Problem:    The "r" command fails for keys with modifiers if 'esckeys' is off
            and modifyOtherKeys is used. (Lauri Tirkkonen)
Solution:   Temporarily disable bracketed paste and modifyOtherKeys if
            'esckeys' is off. (closes vim/vim#6809)
ca774f6753

vim-patch:8.2.1676: compiler warnings for function typecast

Problem:    Compiler warnings for function typecast.
Solution:   Add an intermediate cast to "void *".
a4224860a4

vim-patch:8.2.1696: unused (duplicate) macros

Problem:    Unused (duplicate) macros.
Solution:   Remove the macros.
2c12f89055
2020-09-19 10:57:35 -04:00
Björn Linse
2f2c73265f lint: is lint 2020-09-19 10:14:13 +02:00