Justin M. Keyes
8b06231612
Merge #10869 'vim-patch:8.1.{0309,0362,0365,0515,1946}'
2019-09-05 14:10:32 -07:00
Björn Linse
79ea47d478
Merge pull request #10451 from bfredl/floatbuf
...
anchor float to buffer position
2019-09-05 12:50:38 +02:00
Björn Linse
d5162afa2a
anchor float to buffer position
...
vim-patch:8.1.1645: cannot use a popup window for a balloon
2019-09-04 23:57:02 +02:00
Justin M. Keyes
83c5701fe6
vim-patch:8.1.1498: ":write" increments b:changedtick even though nothing changed
...
Problem: ":write" increments b:changedtick even though nothing changed.
(Daniel Hahler)
Solution: Only increment b:changedtick if the modified flag is reset.
c024b46678
2019-09-04 21:21:28 +02:00
erw7
9db60b06a1
vim-patch:8.1.0515: reloading a script gives errors for existing functions
...
Problem: Reloading a script gives errors for existing functions.
Solution: Allow redefining a function once when reloading a script.
ded5f1bed7
2019-09-04 13:40:05 +09:00
erw7
a2e48b556b
vim-patch:8.1.0362: cannot get the script line number when executing a function
...
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362 ) Also display the line number with ":verbose set".
f29c1c6aa3
2019-09-04 13:40:04 +09:00
Justin M. Keyes
58318af718
jobwait(): fix race if job exits before waiting on it
...
Problem: If a job exits while waiting on another job, the on_exit
handler is queued but f_jobwait() skips it.
Solution: Always do process_wait(), so that handlers are run during
f_jobwait().
fix #8302
Test case:
$ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest
Failure example (macOS CI):
FAILED test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting
test/functional/core/job_spec.lua:606: Expected objects to be the same.
Passed in:
(table: 0x1be77c80) {
[1] = 'notification'
[2] = 'wait'
*[3] = {
*[1] = 3 } }
Expected:
(table: 0x1be77d10) {
[1] = 'notification'
[2] = 'wait'
*[3] = {
*[1] = 4 } }
stack traceback:
test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
2019-09-03 16:14:29 +02:00
Abdelhakeem
7844501c2b
eval: add wait()
...
closes #10362
2019-09-01 21:17:14 +02:00
Justin M. Keyes
0221a9220a
paste: edge-case: handle EOL at end-of-buffer
...
This is "readfile()-style", see also ":help channel-lines".
2019-08-27 21:19:10 +02:00
Justin M. Keyes
21f0f7bca5
paste: WIP #4448
2019-08-27 21:19:10 +02:00
Daniel Hahler
e3e0574cb3
Merge pull request #10841 from janlazo/vim-7.4.1407
...
vim-patch:7.4.1407,8.1.1111
2019-08-25 21:04:17 +02:00
Daniel Hahler
bec2336231
vim-patch:8.1.1913: not easy to compute the space on the command line ( #10845 )
...
Problem: Not easy to compute the space on the command line.
Solution: Add v:echospace. (Daniel Hahler, closes vim/vim#4732 )
37f4cbd46f
2019-08-25 20:53:17 +02:00
Jan Edmund Lazo
66c06dad62
vim-patch:8.1.1924: using empty string for current buffer is unexpected
...
Problem: Using empty string for current buffer is unexpected.
Solution: Make the argument optional for bufname() and bufnr().
a8eee21e75
2019-08-24 21:18:15 -04:00
Jan Edmund Lazo
1dc088ea7d
vim-patch:8.1.1111: it is not easy to check for infinity
...
Problem: It is not easy to check for infinity.
Solution: Add isinf(). (Ozaki Kiichi, closes vim/vim#3787 )
fda1bff39f
2019-08-24 17:02:05 -04:00
Jan Edmund Lazo
01b5499eea
vim-patch:7.4.1407
...
Problem: json_encode() does not handle NaN and inf properly. (David
Barnett)
Solution: For JSON turn them into "null". For JS use "NaN" and "Infinity".
Add isnan().
f1b6ac7229
2019-08-24 15:56:17 -04:00
Jan Edmund Lazo
2a1887c2df
vim-patch:8.1.0187: getwininfo() and win_screenpos() return different numbers
...
Problem: getwininfo() and win_screenpos() return different numbers.
Solution: Add one to "wincol" and "winrow" from getwininfo().
7132ddc101
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
c58054c231
vim-patch:8.0.1386: cannot select modified buffers with getbufinfo()
...
Problem: Cannot select modified buffers with getbufinfo().
Solution: Add the "bufmodified" flag. (Yegappan Lakshmanan, closes vim/vim#2431 )
8e6a31df81
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
9358979d09
vim-patch:8.1.0037: cannot easily append lines to another buffer
...
Problem: Cannot easily append lines to another buffer.
Solution: Add appendbufline().
ca851593a6
2019-08-23 07:46:51 -04:00
Daniel Hahler
fd66ad2262
vim-patch:8.1.1305: there is no easy way to manipulate environment variables
...
Problem: There is no easy way to manipulate environment variables.
Solution: Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
closes vim/vim#2875 )
691ddeefb5
2019-08-06 01:17:32 +02:00
Justin M. Keyes
df636003bf
doc: remove "{not available ...}" noise
2019-08-02 16:36:42 +02:00
Justin M. Keyes
9bc4f275b3
vim-patch:5477506a9f01
...
Update runtime files.
5477506a9f
NA:
vim-patch:2a9c9f6d89f1 "undo extra changes in src/Makefile"
2a9c9f6d89
2019-08-02 16:20:23 +02:00
Justin M. Keyes
7c19a4e518
vim-patch:85850f3a5ef9
...
Update runtime files
85850f3a5e
2019-08-02 16:20:22 +02:00
Justin M. Keyes
0414a33868
vim-patch:61da1bfa6c6b
...
Update runtime files.
61da1bfa6c
2019-08-02 16:20:22 +02:00
Justin M. Keyes
4ea8323667
vim-patch:68e6560b84f1
...
Update runtime files.
68e6560b84
2019-08-02 16:20:22 +02:00
Justin M. Keyes
bf6919f26b
cleanup
2019-08-02 16:20:22 +02:00
Justin M. Keyes
4d830ca31b
vim-patch:62e1bb4a111e
...
Update runtime files.
62e1bb4a11
NA: vim-patch:496555fd1821
2019-08-01 22:58:20 +02:00
Justin M. Keyes
31a5ec23eb
vim-patch:723dd946f948
...
Update runtime files.
723dd946f9
2019-08-01 22:52:42 +02:00
Justin M. Keyes
a14fc7b159
vim-patch:f6b401090e81
...
Update runtime files
f6b401090e
2019-08-01 22:26:04 +02:00
Justin M. Keyes
47b4eb110d
vim-patch:4c92e75dd4dd
...
Update runtime files.
4c92e75dd4
vim-patch:c854898881c0
Revert change accidentally included in runtime file updates. Closes vim/vim#3998 .
c854898881
2019-08-01 16:51:53 +02:00
Justin M. Keyes
57fa9add79
vim-patch:314dd79cac2a
...
Update runtime files.
314dd79cac
2019-07-29 20:50:07 +02:00
Justin M. Keyes
6fed505100
vim-patch:d09091d4955c
...
Update runtime files.
d09091d495
2019-07-29 20:50:07 +02:00
Justin M. Keyes
4cab90ad8c
vim-patch:c8c884926750
...
Update runtime files.
c8c8849267
2019-07-29 20:50:07 +02:00
Justin M. Keyes
aa680f6acb
vim-patch:9d87a37ee9d8
...
Update runtime files.
9d87a37ee9
2019-07-29 20:50:07 +02:00
Justin M. Keyes
c8f34a9a3e
vim-patch:d47d52232bf2
...
Update runtime files.
d47d52232b
2019-07-29 20:50:07 +02:00
Justin M. Keyes
80dda68926
vim-patch:ba3ff539303c
...
Update runtime files
ba3ff53930
2019-07-29 20:50:07 +02:00
Daniel Hahler
10fd5ae277
vim-patch:7.4.2213: runtime parts with EndOfBuffer port #10635
...
Problem: Cannot highlight the "~" lines at the end of a window differently.
Solution: Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy)
58b853460a
Includes minor doc parts from 7.4.1304 for runtime/doc/eval.txt.
2019-07-28 13:27:03 +02:00
Daniel Hahler
256608a13b
vim-patch:b1c9198af ( #10634 )
...
Vim 8.1 release
Update version number and information. Fix a couple of tests.
b1c9198afb
2019-07-28 11:48:07 +02:00
Abdelhakeem
b6278bbf12
API: Context: save/restore
2019-07-27 22:14:58 +02:00
Justin M. Keyes
afef973262
doc [ci skip] #10383
...
- test/README.md: document luassert `TableFormatLevel`
- CONTRIBUTING.md: absorb parts of the old "Development tips" wiki page
2019-07-19 21:32:04 +02:00
Justin M. Keyes
58dd5fcc01
jobstop(): close channel before process_stop() #10522
...
fix #9799
regression of #7081
Helped-by: Björn Linse <bjorn.linse@gmail.com>
Problem: :UpdateRemotePlugins (which calls rpcstop()) sometimes crashes:
remote/host: python3 host registered plugins []
nvim: ../src/nvim/event/wstream.c:78:
_Bool wstream_write(Stream *, WBuffer *): Assertion `!stream->closed' failed.
Aborted (core dumped)
Order of events (channel 163, see logs below):
1. Channel's in-stream (0x2ba86c0) is **closed** by `f_rpcstop`..`process_stop`.
2. `receive_msgpack` parses the channel out-stream (0x2ba8860)
3. Invokes "nvim_command_output" API method.
4. Writes result to the **closed** in-stream => **abort**
- af993da435
(`receive_msgpack`) tried to hack around same/similar issue.
- Hack was removed in 5215e3205a
.
Solution: in jobstop(), close the channel before process_stop().
Log:
DEBUG 2019-07-16T20:54:12.191 25159 stream_close:96: closing Stream: 0x2b01a90
DEBUG 2019-07-16T20:54:12.210 25159 process_spawn:124: new: pid=28407 argv=[/usr/bin/python3]
DEBUG 2019-07-16T20:54:12.210 25159 rpc_start:72: rpc ch 163 in-stream=0x2ba86c0 out-stream=0x2ba8860
INFO 2019-07-16T20:54:12.210 25159 channel_create_event:199: new channel 163 (function <SNR>61_on_exit[4]..<SNR>60_job_exit_cb[101]..<SNR>60_decrement_job_count[8]..remote#host#UpdateRemotePlugins[6]..<SNR>31_RegistrationCommands[15]..remote#host#Require[10]..provider#pythonx#Require[13]..provider#Poll:3) : {"id": 163, "client": {}, "mode": "rpc", "stream": "job"}
DEBUG 2019-07-16T20:54:12.211 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 1, "poll", []]
DEBUG 2019-07-16T20:54:12.355 25159 receive_msgpack:227: ch 163: parsing 21 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.355 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 1, "vim_get_api_info", []]
DEBUG 2019-07-16T20:54:12.355 25159 RPC: <-ch 163: invoke nvim_get_api_info
DEBUG 2019-07-16T20:54:12.357 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 1, nil, [163, {"version"=>{"major"=>0, "minor"=>4, }, ...
DEBUG 2019-07-16T20:54:12.377 25159 receive_msgpack:227: ch 163: parsing 85 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 2, "nvim_eval", ["((&number||&relativenumber) ? &numberwidth : 0) + &foldcolumn"]]
DEBUG 2019-07-16T20:54:12.377 25159 handle_request:359: RPC: scheduled nvim_eval
DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 1, nil, "ok"]
DEBUG 2019-07-16T20:54:12.378 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 2, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/__pycache__"]]
DEBUG 2019-07-16T20:54:12.378 25159 RPC: <-ch 163: invoke nvim_eval
DEBUG 2019-07-16T20:54:12.379 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 2, nil, 0]
DEBUG 2019-07-16T20:54:12.379 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.379 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 2, nil, 0]
DEBUG 2019-07-16T20:54:12.380 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 3, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/foo.py"]]
DEBUG 2019-07-16T20:54:12.380 25159 receive_msgpack:227: ch 163: parsing 79 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.380 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 3, "nvim_command", ["redir =>a |exe "sil sign place buffer=".bufnr('')|redir end"]]
DEBUG 2019-07-16T20:54:12.381 25159 handle_request:359: RPC: scheduled nvim_command
DEBUG 2019-07-16T20:54:12.381 25159 RPC: <-ch 163: invoke nvim_command
DEBUG 2019-07-16T20:54:12.381 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 3, nil, nil]
DEBUG 2019-07-16T20:54:12.381 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.381 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 3, nil, 0]
DEBUG 2019-07-16T20:54:12.382 25159 stream_close:95: trace:
log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256
stream_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:95
stream_may_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:111
process_stop at /home/vagrant/neovim/build/../src/nvim/event/process.c:230
f_jobstop at /home/vagrant/neovim/build/../src/nvim/eval.c:12231
f_rpcstop at /home/vagrant/neovim/build/../src/nvim/eval.c:14533
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6564
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
eval7 at /home/vagrant/neovim/build/../src/nvim/eval.c:4407
eval6 at /home/vagrant/neovim/build/../src/nvim/eval.c:4104
eval5 at /home/vagrant/neovim/build/../src/nvim/eval.c:3985
eval4 at /home/vagrant/neovim/build/../src/nvim/eval.c:3688
eval3 at /home/vagrant/neovim/build/../src/nvim/eval.c:3606
eval2 at /home/vagrant/neovim/build/../src/nvim/eval.c:3537
eval1 at /home/vagrant/neovim/build/../src/nvim/eval.c:3464
eval0 at /home/vagrant/neovim/build/../src/nvim/eval.c:3424
ex_let_const at /home/vagrant/neovim/build/../src/nvim/eval.c:1604
ex_let at /home/vagrant/neovim/build/../src/nvim/eval.c:1546
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
do_ucmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:5803
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2243
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
callback_call at /home/vagrant/neovim/build/../src/nvim/eval.c:17917
channel_callback_call at /home/vagrant/neovim/build/../src/nvim/channel.c:675
on_channel_event at /home/vagrant/neovim/build/../src/nvim/channel.c:581
multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147
nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987
normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133
state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73
normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462
main at /home/vagrant/neovim/build/../src/nvim/main.c:570
?? ??:0
_start at ??:?
DEBUG 2019-07-16T20:54:12.417 25159 stream_close:96: closing Stream: 0x2ba86c0
INFO 2019-07-16T20:54:12.417 25159 os_proc_tree_kill:96: sending SIGTERM to process group: -28407
DEBUG 2019-07-16T20:54:12.417 25159 receive_msgpack:227: ch 163: parsing 31 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.417 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 4, "nvim_command_output", ["echo a"]]
DEBUG 2019-07-16T20:54:12.417 25159 handle_request:359: RPC: scheduled nvim_command_output
DEBUG 2019-07-16T20:54:12.424 25159 RPC: <-ch 163: invoke nvim_command_output
DEBUG 2019-07-16T20:54:12.424 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 4, [0, "Vim(echo):E121: Undefined variable: a"], nil]
ERROR 2019-07-16T20:54:12.424 25159 wstream_write:78: xxx stream=0x2ba86c0
DEBUG 2019-07-16T20:54:12.425 25159 wstream_write:79: trace:
log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256
wstream_write at /home/vagrant/neovim/build/../src/nvim/event/wstream.c:82
channel_write at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:407
request_event at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:383
multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147
nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987
normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133
state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73
normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462
main at /home/vagrant/neovim/build/../src/nvim/main.c:570
?? ??:0
_start at ??:?
2019-07-17 11:13:57 +02:00
Shougo Matsushita
3f6346b732
vim-patch:8.1.1610: there is no way to add or load a buffer without side effects
...
Problem: There is no way to add or load a buffer without side effects.
Solution: Add the bufadd() and bufload() functions.
15e248e37f
2019-07-06 17:09:56 +09:00
Justin M. Keyes
2ef6f28e11
doc [ci skip] #10177
...
ref #10278 #10279 #10353
2019-06-30 00:09:45 +02:00
Justin M. Keyes
79450f2da9
Merge #10250 from blueyed/vim-8.0.1039
...
vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
2019-06-25 02:36:07 +02:00
rhysd
3d5a800278
vim-patch:8.1.1554: docs and tests for :const can be improved
...
Problem: Docs and tests for :const can be improved.
Solution: Improve documentation, add a few more tests. (Ryuichi Hayashida,
closes vim/vim#4551 )
1c196e7b17
2019-06-24 09:31:30 +09:00
rhysd
1c90c19f62
vim-patch:8.1.1539: not easy to define a variable and lock it
...
Problem: Not easy to define a variable and lock it.
Solution: Add ":const".
9937a05543
2019-06-24 09:30:51 +09:00
Daniel Hahler
9485061baa
vim-patch:8.0.1039: cannot change a line in not current buffer
...
Problem: Cannot change a line in a buffer other than the current one.
Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953 )
b31cf2bb0b
2019-06-17 23:43:26 +02:00
Jan Edmund Lazo
e6a1bea1eb
vim-patch:8.0.0931: getwininfo() does not indicate a terminal window
...
Problem: getwininfo() does not indicate a terminal window.
Solution: Add "terminal" to the dictionary.
69905d108b
2019-06-13 19:39:55 -04:00
Justin M. Keyes
04e2ba85b1
doc [ci skip] #10129
...
- document lua vim.loop #10123
2019-06-10 15:53:42 +02:00
Jan Edmund Lazo
0b4c53fc23
vim-patch:8.0.1305: writefile() never calls fsync() #10153
...
Problem: Writefile() never calls fsync().
Solution: Follow the 'fsync' option with override to enable or disable.
7567d0b115
2019-06-09 00:12:28 +02:00
Justin M. Keyes
8a33cb32ba
Merge #10086 'vim-patch:8.1.{902,1114}'
2019-06-02 23:32:28 +02:00