Commit Graph

12852 Commits

Author SHA1 Message Date
Daniel Hahler
3d1531aee5 API: include invalid buffer/window/tabpage in error message (#11712) 2020-01-14 09:21:10 +01:00
Matthew Malcomson
dfb676fe0d edit.c: Ensure undo sync when emulating <Esc>x #11706
After PR #8226 an unmapped META key in insert mode behaves like
ESC-<key> (:help i_META).

The behaviour does not fully match, since if <Esc>-<key> is pressed
manually then since it were pressed manually `gotchars` would be called
on the second <key> after insert-mode had already been left.

This would mean that `may_sync_undo` (called from `gotchars`) would
call `u_sync(FALSE)` on the second key (since we would be in normal
mode).

This overall means that <Meta-[something]> behaves differently with
respect to undo than <Esc>[something] when the [something] makes a
change.

As an example, under `nvim -u NONE`:
ihello<M-.>u

leaves the buffer empty, while
ihello<Esc>.u

leaves the buffer with one instance of `hello`.

- Fix by calling u_sync() manually in the new clause under
  `normalchar:` in `insert_handle_key`.
- Update test in tui_spec.lua that accidentally relied on the old behaviour.
2020-01-12 17:09:39 -08:00
Matthieu Coudron
05ea3c1997 defaults: set fillchars "foldsep" to box line #11702
"│" U+2502 BOX DRAWINGS LIGHT VERTICAL

Fallback to old default | if 'ambiwidth' is set.
2020-01-11 16:36:11 -08:00
Jan Edmund Lazo
1cbe8d6d78 vim-patch:8.0.1593: :qall never exits active :terminal #11704
Problem:    :qall never exits with an active terminal window.
Solution:   Add a way to kill a job in a terminal window.
25cdd9c33b
2020-01-11 16:31:05 -08:00
Jan Edmund Lazo
462ee281b7 vim-patch:8.0.1769: refactor save/restore of viewstate #11701
Problem:    Repeated saving and restoring viewstate for 'incsearch'.
Solution:   Use a structure.
9b25af3620
2020-01-11 13:21:21 -08:00
butwerenotthereyet
29b1a4761a tabpage: disallow go-to-previous in cmdline-win #11692
After cbc8d72fde when editing
the command in the command editing window (q:, q/, q?) it was possible
to switch to the previous tab.  Doing so put Nvim in a bad state.
Moreover, switching tabs via the other available mechanisms (gt, gT,
<C-W>gt, <C-W>gT) is not possible when in the command editing window.

Here, the behavior is prevented.  It is no longer possible to switch to
the previous tab when editing the command in the command editing window.
The solution is to share code between gt, gT, and g<Tab>.  Specifically,
goto_tabpage_lastused now calls through goto_tabpage rather than
directly calling goto_tabpage_tp.  Doing so works well because all the
validation enjoyed by gt and gT is present in goto_tabpage.
2020-01-09 07:31:16 -08:00
Justin M. Keyes
b6276f5aee Merge #11691 from janlazo/vim-8.2.0099 2020-01-08 22:13:46 -08:00
kevinhwang91
831fa45ad8 API: nvim_get_hl_by_id: omit hl instead of returning -1 #11685
Problem: When Normal highlight group defines ctermfg/bg, but other
         highlight group lacks ctermfg/bg, nvim_get_hl_by_id(hl_id,
         v:false) returns -1 for the missing ctermfg/bg instead of just
         omitting it.
Solution: checking for -1 in hlattrs2dict()

fix #11680
2020-01-08 06:19:23 -08:00
Marvim the Paranoid Android
a91ea02830 version.c: update [ci skip] #11636
vim-patch:8.0.0902: cannot specify directory or environment for a job
vim-patch:8.0.1127: Test_peek_and_get_char fails on 32 bit system
vim-patch:8.1.0661: clipboard regexp might be used recursively
vim-patch:8.1.0834: GUI may wait too long before dealing with messages
vim-patch:8.2.0040: timers test is still flaky on Travis for Mac
vim-patch:8.2.0053: windowsversion() does not always return the right value
vim-patch:8.2.0055: cannot use ":gui" in vimrc with VIMDLL enabled
vim-patch:8.2.0057: cannot build with small features
vim-patch:8.2.0059: compiler warnings for unused variables in small build
vim-patch:8.2.0060: message test only runs with one encoding
vim-patch:8.2.0065: Amiga and alikes: autoopen only used on Amiga OS4
vim-patch:8.2.0080: globals using INIT4() are not in the tags file
vim-patch:8.2.0081: MS-Windows also need the change to support INIT4()
vim-patch:8.2.0086: build error for small version
vim-patch:8.2.0094: MS-Windows: cannot build with Strawberry Perl 5.30
vim-patch:8.2.0100: macros for Ruby are too complicated
2020-01-07 22:38:10 -08:00
Jan Edmund Lazo
45759e44f9 Remove (void) hacks, Mark unused attrs 2020-01-08 01:08:55 -05:00
Jan Edmund Lazo
3d6cca5a9d vim-patch:8.2.0099: use of NULL pointer when out of memory
Problem:    Use of NULL pointer when out of memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes vim/vim#5449)
8b7aa2f9b2
2020-01-07 23:24:38 -05:00
Ville Hakulinen
013436c997 ui_grid_resize: fix resize logic for floating window #11655 2020-01-06 22:03:15 -08:00
Jan Edmund Lazo
83083dd47b vim-patch:8.1.1309: test for Normal highlight fails on MS-Windows GUI
Problem:    Test for Normal highlight fails on MS-Windows GUI.
Solution:   Skip the test for MS-Windows GUI.
6b528fa062
2020-01-06 00:18:02 -05:00
Jan Edmund Lazo
3c764aabb5 vim-patch:8.1.1308: the Normal highlight is not defined when compiled with GUI
Problem:    The Normal highlight is not defined when compiled with GUI.
Solution:   Always define Normal. (Christian Brabandt, closes vim/vim#4072)
f90b6e03a9
2020-01-06 00:18:02 -05:00
Jan Edmund Lazo
1aacab49ea vim-patch:8.1.1579: dict and list could be GC'ed while displaying error
Problem:    Dict and list could be GC'ed while displaying error in a timer.
            (Yasuhiro Matsumoto)
Solution:   Block garbage collection when executing a timer.  Add
            test_garbagecollect_soon(). Add "no_wait_return" to
            test_override(). (closes vim/vim#4571)
adc6714aac
2020-01-05 10:40:53 -05:00
Jan Edmund Lazo
3a3fb08602 vim-patch:8.1.0851: feedkeys() with "L" does not work properly
Problem:    feedkeys() with "L" does not work properly.
Solution:   Do not set typebuf_was_filled when using "L". (Ozaki Kiichi,
            closes vim/vim#3885)
8d4ce56a19
2020-01-05 10:35:49 -05:00
Jan Edmund Lazo
e7d49dc909 vim-patch:8.0.1786: no test for 'termwinkey'
Problem:    No test for 'termwinkey'.
Solution:   Add a test.  Make feedkeys() handle terminal_loop() returning
            before characters are consumed.
b2ac14c0b5
2020-01-05 10:35:49 -05:00
Jan Edmund Lazo
d139fb5cd0 vim-patch:8.1.0844: when timer fails test will hang forever
Problem:    When timer fails test will hang forever.
Solution:   Use reltime() to limit waiting time. (Ozaki Kiichi, closes vim/vim#3878)
50948e4ac2
2020-01-03 22:49:05 -05:00
Jan Edmund Lazo
25613fa65b vim-patch:8.1.0842: getchar_zero test fails on MS-Windows
Problem:    getchar_zero test fails on MS-Windows.
Solution:   Disable the test for now.
cb908a813c
2020-01-03 22:47:52 -05:00
Jan Edmund Lazo
a2554858df vim-patch:8.1.0840: getchar(0) never returns a character in the terminal
Problem:    getchar(0) never returns a character in the terminal.
Solution:   Call wait_func() at least once.
12dfc9eef1
2020-01-03 22:43:52 -05:00
Jan Edmund Lazo
4c4bcecc4a vim-patch:8.0.1817: a timer may change v:count unexpectedly
Problem:    A timer may change v:count unexpectedly.
Solution:   Save and restore v:count and similar variables when a timer
            callback is invoked. (closes vim/vim#2897)
b0f42ba60d
2020-01-03 20:15:32 -05:00
Justin M. Keyes
234232ff4e Merge #11648 from butwerenotthereyet/vim-8.1.0972 2020-01-03 06:56:47 -08:00
We're Yet
a7b6b37519 vim-patch:8.1.0974: cannot switch from terminal window to previous tabpage
Problem:    Cannot switch from terminal window to previous tabpage.
Solution:   Make CTRL-W gT move to previous tabpage.
882d02eeb5
2020-01-03 06:02:10 -08:00
We're Yet
42aa876488 vim-patch:8.1.0972: cannot switch from terminal window to next tabpage
Problem:    Cannot switch from terminal window to next tabpage.
Solution:   Make CTRL-W gt move to next tabpage.
72e83c1ae5
2020-01-03 06:01:47 -08:00
Jan Edmund Lazo
94cc8a20b4 vim-patch:8.2.0079: test still fails on MS-Windows #11663
Problem:    Python 3 unicode test still fails on MS-Windows.
Solution:   Do not set 'encoding' to "euc-tw" on MS-Windows.
7fc4785ea1
2020-01-03 04:13:45 -08:00
Jan Edmund Lazo
77b61cb0df option: restore termencoding (readonly) #11662
'termencoding' option was removed in abaabd1d03
but some plugins check its value.
2020-01-02 21:42:52 -08:00
butwerenotthereyet
cbc8d72fde tabpage: track last-used tabpage #11626
In a multi-window scenario, it is possible to return focus to the last
accessed window via n_CTRL-W_p.  However, in the case of a multi-tab
scenario, there was previously no way to return focus to the last
accessed *tab*.  Here, that ability is added via n_g<tab>.

Additionally, the index of the previous tab is exposed via
tabpagenr('#'), mirroring the existing functionality of winnr('#').
2020-01-02 06:06:11 -08:00
Ghjuvan Lacambre
dc6077535f API: fix crash on copy_object(kObjectTypeWindow) #11651
Closes #11646
2020-01-02 02:00:39 -08:00
Björn Linse
8645d480bd Merge pull request #11470 from bfredl/emptytable
metatable for empty dict value
2020-01-01 21:03:08 +01:00
Björn Linse
ea4127e9a7 lua: metatable for empty dict value 2020-01-01 19:26:29 +01:00
Jan Edmund Lazo
7dca8383db vim-patch:8.2.0076: Python 3 unicode test fails on MS-Windows
Problem:    Python 3 unicode test fails on MS-Windows.
Solution:   Do not set 'encoding' to "debug" on MS-Windows.
955f4e6f36
2020-01-01 13:13:44 -05:00
Jan Edmund Lazo
a11c3b7920 vim-patch:8.2.0075: Python 3 unicode test still sometimes fails
Problem:    Python 3 unicode test still sometimes fails.
Solution:   Skip the test when 'termencoding' is not empty.
2466aea508
2020-01-01 13:13:29 -05:00
Jan Edmund Lazo
abaabd1d03 vim-patch:8.2.0074: Python 3 unicode test someitmes fails
Problem:    Python 3 unicode test someitmes fails.
Solution:   Make 'termencoding' empty.  Correct number of error message.
4b7cdca230
2020-01-01 13:11:54 -05:00
Jan Edmund Lazo
5f0d5ec985 vim-patch:8.2.0070: crash when using Python 3 with "debug" encoding
Problem:    Crash when using Python 3 with "debug" encoding. (Dominique Pelle)
Solution:   Use "euc-jp" whenever enc_dbcs is set.
d518f952f0
2020-01-01 10:30:36 -05:00
Justin M. Keyes
070bd3ea23 Merge #11604 "LSP: shrink API, improve docs" 2020-01-01 06:30:29 -08:00
Justin M. Keyes
99eca04835 Merge #11645 from janlazo/vim-8.1.1346
vim-patch:8.1.1346,8.2.0068
2020-01-01 06:03:48 -08:00
Husain Alshehhi
dec165b268 PVS/V618: fix emsgf format specifier #11643 2020-01-01 05:59:37 -08:00
Jan Edmund Lazo
0f47870d1b vim-patch:8.2.0068: crash when using Python 3 with "utf32" encoding
Problem:    Crash when using Python 3 with "utf32" encoding. (Dominique Pelle)
Solution:   Use "utf-8" whenever enc_utf8 is set. (closes vim/vim#5423)
556684ff71
2019-12-31 23:24:14 -05:00
Jan Edmund Lazo
0301de758b vim-patch:8.1.1346: error for Python exception does not show useful info
Problem:    Error for Python exception does not show useful info.
Solution:   Show the last line instead of the first one. (Ben Jackson,
            closes vim/vim#4381)
7f3a28490a
2019-12-31 23:21:25 -05:00
Justin M. Keyes
93e7c7e3bd doc [ci skip] 2019-12-31 02:25:10 -08:00
Jan Edmund Lazo
eeabd3a8c6 vim-patch:8.2.0063: wrong size argument to vim_snprintf()
Problem:    Wrong size argument to vim_snprintf(). (Dominique Pelle)
Solution:   Reduce the size by the length. (related to vim/vim#5410)
08b28b7ad5
2019-12-30 17:02:15 -05:00
Jan Edmund Lazo
0e7baed219 vim-patch:8.1.1741: cleared/added match highlighting not updated in other window
Problem:    Cleared/added match highlighting not updated in other window.
            (Andi Massimino)
Solution:   Mark the right window for refresh.
4ef18dcc2e
2019-12-30 16:30:58 -05:00
Jan Edmund Lazo
6e6544d645 vim-patch:8.1.1739: deleted match highlighting not updated in other window
Problem:    Deleted match highlighting not updated in other window.
Solution:   Mark the window for refresh. (closes vim/vim#4720)  Also fix that
            ambi-width check clears with wrong attributes.
06029a857a
2019-12-30 16:26:43 -05:00
Justin M. Keyes
27b678f577 gen_vimdoc.py: fix deprecated check 2019-12-30 00:15:49 -08:00
Justin M. Keyes
f9be48436c Merge #11632 from janlazo/vim-8.1.2087
vim-patch:8.1.2087,8.2.0058
2019-12-30 08:47:19 +01:00
Jan Edmund Lazo
5e1cad6d33 vim-patch:8.0.1356: using simalt in a GUIEnter autocommand inserts characters
Problem:    Using simalt in a GUIEnter autocommand inserts strange characters.
            (Chih-Long Chang)
Solution:   Ignore K_NOP in Insert mode. (closes vim/vim#2379)
c5aa55db7e
2019-12-30 01:15:18 -05:00
Jan Edmund Lazo
78aa41354e vim-patch:8.1.2377: GUI: when losing focus a pending operator is executed
Problem:    GUI: when losing focus a pending operator is executed.
Solution:   Do not execute an operator when getting K_IGNORE. (closes vim/vim#5300)
fa5612c7d8
2019-12-30 00:49:30 -05:00
Jan Edmund Lazo
5fc8a7ee09 vim-patch:8.1.1300: in a terminal 'ballooneval' does not work right away
Problem:    In a terminal 'ballooneval' does not work right away.
Solution:   Flush output after drawing the balloon.  Add the <Ignore> key
            code.  Add a test.
2f10658b06
2019-12-30 00:34:44 -05:00
Jan Edmund Lazo
1250a01325 vim-patch:8.2.0058: running tests changes ~/.viminfo
Problem:    Running tests changes ~/.viminfo.
Solution:   Make 'viminfo' empty when summarizing tests results. (closes vim/vim#5414)
eb698d0b32
2019-12-29 22:43:43 -05:00
Jan Edmund Lazo
74e37ac665 vim-patch:8.1.2087: cannot easily select one test function to execute
Problem:    Cannot easily select one test function to execute.
Solution:   Support the $TEST_FILTER environment variable. (Ozaki Kiichi,
            closes vim/vim#2695)
a7f6c3cf07
2019-12-29 22:43:16 -05:00