Commit Graph

10610 Commits

Author SHA1 Message Date
Justin M. Keyes
4769deb36a doc #10017
- gen_vimdoc.py: fancy "bullet"
- rework `:help channel-callback`
- rename `:help buffered` to `:help channel-buffered`
2019-05-25 10:00:41 +02:00
Jan Edmund Lazo
f1464d0d80 vim-patch:8.1.1171: statusline test could fail in large terminal
Problem:    Statusline test could fail in large terminal.
Solution:   Make the test work on a huge terminal. (Dominique Pelle,
            closes vim/vim#4255)
316c16797a
2019-05-24 02:08:42 -04:00
Jan Edmund Lazo
4ed654d9e8 vim-patch:8.0.1220: skipping empty statusline groups is not correct
Problem:    Skipping empty statusline groups is not correct.
Solution:   Also set group_end_userhl. (itchyny)
235dddf1f4
2019-05-24 02:07:37 -04:00
Jan Edmund Lazo
83c9d1df1b vim-patch:8.0.1208: 'statusline' drops empty group with highlight change
Problem:    'statusline' drops empty group with highlight change.
Solution:   Do not drop an empty group if it changes highlighting. (Marius
            Gedminas, closes vim/vim#2228)
6b89dbb55f
2019-05-24 01:24:14 -04:00
Jan Edmund Lazo
9c43743945 lint 2019-05-23 20:07:37 -04:00
Jan Edmund Lazo
b87a1db5ac vim-patch:8.1.1373: "[p" in Visual mode puts in wrong line
Problem:    "[p" in Visual mode puts in wrong line.
Solution:   Call nv_put() instead of duplicating the functionality.
            (closes vim/vim#4408)
0ab190c057
2019-05-23 19:50:52 -04:00
Justin M. Keyes
66d127957e Merge #10049 'vim-patch:8.1.0293' 2019-05-22 11:59:04 +02:00
Jan Edmund Lazo
55fa966a92 vim-patch:8.1.1363: ":vert options" #10048
Problem:    ":vert options" does not make a vertical split.
Solution:   Pass the right modifiers in $OPTWIN_CMD. (Ken Takata,
            closes vim/vim#4401)
e0b5949a3b
2019-05-22 11:09:25 +02:00
Daniel Hahler
7905f5df99 vim-patch:8.1.0293: checks for type of stack is cryptic
Problem:    Checks for type of stack is cryptic.
Solution:   Define IS_QF_STACK() and IS_LL_STACK(). (Yegappan Lakshmanan)
4d77c65a9e
2019-05-22 04:14:35 +02:00
Justin M. Keyes
62d5137c83 Merge #10038 from janlazo/vim-8.0.1514
vim-patch:8.0.{1514,1519},8.1.1360
2019-05-21 14:46:19 +02:00
Justin M. Keyes
1de77bbcec cleanup: remove HAVE_SELINUX #10040
We never define HAVE_SELINUX, and no one has asked for it.
So remove the dead code.
2019-05-21 11:15:10 +02:00
Jan Edmund Lazo
7187020783 vim-patch:8.1.1360: buffer left 'nomodifiable' after :substitute
Problem:    Buffer left 'nomodifiable' after :substitute. (Ingo Karkat)
Solution:   Save the value of 'modifiable' earlier' (Christian Brabandt,
            closes vim/vim#4403)
80341bcd89
2019-05-20 22:48:19 -04:00
Jan Edmund Lazo
7c979f972e vim-patch:8.0.1519: getchangelist() does not use argument as bufname()
Problem:    Getchangelist() does not use argument as bufname().
Solution:   Use get_buf_tv(). (Yegappan Lakshmanan, closes vim/vim#2641)
341a64c9ca
2019-05-20 19:07:15 -04:00
Justin M. Keyes
5b04a4fa09 lua/shared: share trim() impl 2019-05-20 23:46:56 +02:00
Justin M. Keyes
646c3423dd fileio: set group of backup file
Restores code removed in #9709.

uv_fs_copyfile() copies the perm bits but not the group name.
https://github.com/libuv/libuv/pull/1547

ref #9709
ref #8288
2019-05-20 22:50:44 +02:00
Justin M. Keyes
7cc01c704c Merge #9709 'fileio: use os_copy to create backups'
ref #8288
2019-05-20 22:33:19 +02:00
Jan Edmund Lazo
783aa6b507 vim-patch:8.0.1514: getting the list of changes is not easy
Problem:    Getting the list of changes is not easy.
Solution:   Add the getchangelist() function. (Yegappan Lakshmanan,
            closes vim/vim#2634)
07ad816525
2019-05-20 13:33:59 -04:00
Jan Edmund Lazo
7ea350456d vim-patch:8.1.1358: cannot enter character with a CSI byte
Problem:    Cannot enter character with a CSI byte.
Solution:   Only check "gui.in_use" when VIMDLL is defined. (Ken Takata,
            closes vim/vim#4396)
386b43e594
2019-05-19 23:35:28 -04:00
Jan Edmund Lazo
91c1737de6 vim-patch:8.1.1357: test 37 is old style
Problem:    Test 37 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes vim/vim#4398)
999dc14644
2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
bd885d878f lint 2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
854073f1db vim-patch:8.1.0901: index in getjumplist() may be wrong
Problem:    Index in getjumplist() may be wrong. (Epheien)
Solution:   Call cleanup_jumplist() earlier. (Yegappan Lakshmanan,
            closes vim/vim#3941)
57ee2b6e0b
2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
4aad4c0533 vim-patch:8.0.1513: the jumplist is not always properly cleaned up
Problem:    The jumplist is not always properly cleaned up.
Solution:   Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
4867974137
2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
d6d9596b38 vim-patch:8.0.1498: getjumplist() returns duplicate entries
Problem:    Getjumplist() returns duplicate entries. (lacygoill)
Solution:   Call cleanup_jumplist(). (Yegappan Lakshmanan)
a7e18d237f
2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
41828a7302 vim-patch:8.0.1497: getting the jump list requires parsing the output of :jumps
Problem:    Getting the jump list requires parsing the output of :jumps.
Solution:   Add getjumplist(). (Yegappan Lakshmanan, closes vim/vim#2609)
4f50588ba3
2019-05-19 23:15:47 -04:00
Jan Edmund Lazo
83aed410b6 vim-patch:8.0.1082: tests fail when run under valgrind
Problem:    Tests fail when run under valgrind.
Solution:   Increase waiting times.
9d18961323
2019-05-19 23:15:46 -04:00
Francisco Giordano
766cc60337 eval.c: add has("osx") for apple 2019-05-19 17:03:58 -03:00
Francisco Giordano
16cac1d5f5 vim-patch:8.1.1353: undo test fails on Mac
Problem:    Undo test fails on Mac.
Solution:   Expect "private" on the Mac.
2b39d806f0
2019-05-19 17:03:58 -03:00
Francisco Giordano
8b3c0b87ff vim-patch:8.1.1352: undofile() reports wrong name
Problem:    Undofile() reports wrong name. (Francisco Giordano)
Solution:   Clean up the name before changing path separators. (closes vim/vim#4392,
            closes vim/vim#4394)
e9ebc9a91c
2019-05-19 15:31:23 -03:00
Justin M. Keyes
fab81cfb04 lua/shared: share more stuff
Leave trim() in vim.lua, because gen_vimdoc.py needs at least one
function in there, else it gets confused...
2019-05-19 18:31:40 +02:00
Justin M. Keyes
e4c2d85c77 lua/shared: share deepcopy() with test/*
deepcopy() was duplicated in test/helpers.lua
2019-05-19 17:58:54 +02:00
Justin M. Keyes
e628c011bf gen_vimdoc.py: support lua/shared.lua module [ci skip] 2019-05-19 17:30:20 +02:00
KillTheMule
53576dfb35 Document the vim.lua functions 2019-05-18 22:01:14 +02:00
KillTheMule
b102c11e38 gen_vimdoc.py: get Lua docs via lua2dox.lua #9740 2019-05-18 22:01:14 +02:00
Justin M. Keyes
974b43fd79 Merge #10028 from janlazo/vim-8.1.1345
vim-patch:8.1.{1325,1345,1348,1349}
2019-05-18 21:53:20 +02:00
Justin M. Keyes
1cbe014569 Merge #9301 'runtime/lua' 2019-05-18 21:50:57 +02:00
Jan Edmund Lazo
d07a6e2b45 vim-patch:8.1.1349: if writing runs into conversion error backup file is deleted
Problem:    If writing runs into a conversion error the backup file is
            deleted. (Arseny Nasokin)
Solution:   Don't delete the backup file is the file was overwritten and a
            conversion error occurred. (Christian Brabandt, closes vim/vim#4387)
cf0bfd9ade
2019-05-18 14:12:08 -04:00
Jan Edmund Lazo
f286af170d vim-patch:8.1.1348: running tests may cause the window to move
Problem:    Running tests may cause the window to move.
Solution:   Correct the reported window position for the offset with the
            position after ":winpos".  Works around an xterm bug.
f8191c5f07
2019-05-18 13:39:23 -04:00
Jan Edmund Lazo
a33010d1e1 vim-patch:8.1.1325: cannot build with +eval but without +channel and +timers
Problem:    Cannot build with +eval but without +channel and +timers. (John
            Marriott)
Solution:   Adjust #ifdef for get_callback().
97b0075b0d
2019-05-18 12:21:06 -04:00
Jan Edmund Lazo
3574126b89 vim-patch:8.1.1345: stuck in sandbox with ":s/../\=Function/gn"
Problem:    Stuck in sandbox with ":s/../\=Function/gn".
Solution:   Don't skip over code to restore sandbox. (Christian Brabandt)
6349e9411f
2019-05-18 12:11:11 -04:00
Justin M. Keyes
e8beea204b kbtree.h: assert valid range #10022
ref #10012
2019-05-18 16:21:33 +02:00
Justin M. Keyes
7669fc1e9b test: share implementation of testdir/load.vim
Also, don't compute load factor unless load_adjust() was called, it
slows down the test suite.

ref #9292
2019-05-18 15:48:13 +02:00
Justin M. Keyes
bba75eb184 lua/stdlib: Introduce vim.shared
This is where "pure functions" can live, which can be shared by Nvim and
test logic which may not have a running Nvim instance available.

If in the future we use Nvim itself as the Lua engine for tests, then
these functions could be moved directly onto the `vim` Lua module.

closes #6580
2019-05-18 15:48:13 +02:00
Björn Linse
b247c6fd22 kbtree: pointer UB and unitialized value fixes
- don't underflow itr->p pointer (C standard only allows one past the end, not
  one before the beginning)
- make sure itr->p->i is always initialized (even when not used)
- don't rely on `NULL < &object` (likely UB)
2019-05-18 13:37:57 +02:00
Jan Edmund Lazo
5625c7d8e1 vim-patch:8.1.1338: fix hang when concealing wide char #10023
Problem:    Hang when concealing the '>' shown for a wide char that doesn't
            fit in the last cell.
Solution:   Put back the pointer when the '>' is not going to be displayed.
            (closes vim/vim#4377)
0ebe12be86
2019-05-18 10:18:48 +02:00
Björn Linse
94f78ccf89 Merge pull request #9883 from bfredl/termredraw
make terminal state redraw like any other state
2019-05-14 13:39:00 +02:00
Björn Linse
5020daa6e5 ui/terminal: make terminal state redraw like any other state
Previously, ordinary redraws were missing from terminal mode. Instead,
there was an async callback that invoked update_screen() on terminal
data regardless of mode (as if :redraw! was invoked by a timer).

This created some issues:

- async changes to an unrelated ordinary buffer were not always redrawn in
  terminal mode
- screen cursor position was not properly updated in terminal mode (partial
  fix, will be properly fixed in a follow up PR)
- ad-hoc logic was needed for interaction with special states such as
  inccommand or horizontal wildmenu.

Instead redraw terminal mode just like any other state. This disables forced
redraws in cmdline mode, which were inconisent which async changes to
normal buffers (which are not redrawn in cmdline mode).
2019-05-14 12:54:39 +02:00
Björn Linse
9e0982a1a2 Merge pull request #9985 from bfredl/shenanigans
Fix aucmd_win issues: crashes and redrawing errors.
2019-05-13 23:24:14 +02:00
Björn Linse
74751117eb autocmd: fixes and tests for autocmd window issues
- redraw! in an invisible buffer rendered the screen unusable.
- storing the autocmd window handle and using it in API function could lead
  to crashes. Unregister the handle when the window is not active.
2019-05-13 20:32:04 +02:00
Justin M. Keyes
60aaae1c86 API/nvim_set_keymap: remove mode-shortname aliases
Reduce the API surface-area a bit. No need to have aliases for a mode.
ref #9924
2019-05-12 13:27:07 +02:00
Justin M. Keyes
f35d233e07 API/nvim_set_keymap: minor cleanup
ref #9924
2019-05-12 13:04:48 +02:00