Björn Linse
75928101f8
refactor: enable -Wconversion for ex_getln.c
2019-07-19 15:56:38 +02:00
Jan Edmund Lazo
d4e93fedf1
vim-patch:8.1.0740: Tcl test fails ( #10540 )
...
Problem: Tcl test fails.
Solution: When the argument is empty don't give an error, instead rely on
the error reporting higher up.
8309b0559d
2019-07-19 11:46:22 +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
Justin M. Keyes
bab24a88ab
viml/profile: revert proftime_T to unsigned type #10521
...
- reltimestr(): Produce negative value by comparing the unsigned
proftime_T value to INT64_MAX.
https://github.com/neovim/neovim/issues/10452#issuecomment-511155132
1. The interfaces of nearly all platforms return uint64_t. INT64_MAX is
only half of that.
2. Low-level interfaces like this typically define that there is no
fixed starting point. The only guarantees are that it's (a)
monotonically increasing at a rate that (b) matches real time.
ref 06af88cd72
fix #10452
2019-07-16 20:10:08 +02:00
Jan Edmund Lazo
1c2cfdba88
vim-patch:8.1.0583: using illogical name for get_dict_number()/get_dict_string()
...
Problem: Using illogical name for get_dict_number()/get_dict_string().
Solution: Rename to start with dict_.
8f66717a1f
2019-07-15 23:07:29 -04:00
Jan Edmund Lazo
9108256ad4
vim-patch:8.1.1012: memory leak with E461
...
Problem: Memory leak with E461.
Solution: Clear the typeval. (Dominique Pelle, closes vim/vim#4111 )
ab89d7ab89
2019-07-15 23:07:29 -04:00
Jan Edmund Lazo
263d62f628
vim-patch:8.1.0495: :filter only supports some commands
...
Problem: :filter only supports some commands.
Solution: Add :filter support for more commands. (Marcin Szamotulski,
closes vim/vim#2856 )
f86db78fed
2019-07-15 23:07:28 -04:00
Justin M. Keyes
4013f67053
viml/profile: revert gettimeofday() #10488
...
e2ce5ff9d6
was proven to be bogus, so revert it.
close #10328
ref #10356
ref #10452
2019-07-13 12:37:58 +02:00
Justin M. Keyes
e1fae8f1fe
Merge #10435 from Shougo/vim-8.1.1610
2019-07-13 12:36:32 +02:00
Daniel Hahler
108eb4201f
vim-patch:8.1.1660: assert_fails() inside try/catch #10472
...
Problem: Assert_fails() does not fail inside try/catch.
Solution: Set trylevel to zero. (Ozaki Kiichi, closes vim/vim#4639 )
7780e5c1c5
2019-07-13 00:09:05 +02:00
Bartosz Miera
652be3cb00
eval.c: clang/"Dead assignment" #10446
2019-07-09 12:06:14 +02:00
Justin M. Keyes
1b99aa8c53
Merge #10394 from janlazo/vim-8.1.1614
...
vim-patch:8.1.{1614,1632,1634,1639}
2019-07-06 12:33:51 +02:00
Daniel Hahler
b7ca478e10
func_clear_items: use XFREE_CLEAR #10436
...
Follow-up to https://github.com/neovim/neovim/pull/10428#discussion_r300813498
2019-07-06 12:22:20 +02:00
Shougo Matsushita
b9474b0641
Fix lint failed
2019-07-06 17:51:02 +09:00
Shougo Matsushita
85164b28cb
Fix errors
2019-07-06 17:18:25 +09:00
Shougo Matsushita
5f7e0531c1
vim-patch:8.1.1611: bufadd() reuses existing buffer without a name
...
Problem: Bufadd() reuses existing buffer without a name.
Solution: When the name is empty always create a new buffer.
892ae723ab
2019-07-06 17:11:27 +09: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
Jan Edmund Lazo
6f924880c7
vim-patch:8.1.1639: changing an autoload name into a file name is inefficient
...
Problem: Changing an autoload name into a script file name is inefficient.
Solution: Remember the last replaced #. (Ozaki Kiichi, closes vim/vim#4618 )
28fc247f8d
2019-07-05 22:13:27 -04:00
Daniel Hahler
3c860e25e9
vim-patch:8.1.0229: crash when dumping profiling data #10428
...
Problem: Crash when dumping profiling data.
Solution: Reset flag indicating that initialization was done.
79c2ad50b8
2019-07-05 22:00:28 +02:00
Justin M. Keyes
e2ce5ff9d6
viml/profile: switch to uv_gettimeofday() #10356
...
Performance of high-resolution time (clock_gettime via uv_hrtime) is
expensive on some systems. For profiling VimL, syntax, etc., we don't
care about nanosecond-precision and monotonicity edge-cases, so avoid
uv_hrtime().
closes #10328
From the uv__hrtime() source:
0cdb4a5b4b/src/unix/linux-core.c (L442-L462)
/* Prefer CLOCK_MONOTONIC_COARSE if available but only when it has
* millisecond granularity or better. CLOCK_MONOTONIC_COARSE is
* serviced entirely from the vDSO, whereas CLOCK_MONOTONIC may
* decide to make a costly system call.
*/
This micro-benchmark (Debug build) shows negligible differences on my
system:
#include <sys/time.h>
...
proftime_T tm = profile_start();
int trials = 999999;
int64_t t = 0;
struct timeval tv;
for (int i = 0; i < trials; i++) {
t += gettimeofday(&tv,NULL);
}
tm = profile_end(tm);
ILOG("%d trials of gettimeofday: %s", trials, profile_msg(tm));
tm = profile_start();
for (int i = 0; i < trials; i++) {
t += os_hrtime();
}
tm = profile_end(tm);
ILOG("%d trials of os_hrtime: %s", trials, profile_msg(tm));
tm = profile_start();
for (int i = 0; i < trials; i++) {
t += os_utime();
}
tm = profile_end(tm);
ILOG("%d trials of os_utime: %s", trials, profile_msg(tm));
ILOG("%zu", t);
2019-06-29 16:39:22 +02:00
Björn Linse
619a86cb1e
eval/api: don't allow the API to be called in the sandbox.
...
Identifying and maintaining a "secure" subset of the API would be too
much busywork. So just disable the entire thing.
2019-06-26 08:19:57 +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
Justin M. Keyes
f2e3849100
Merge #10313 from rhysd/const-patches
...
vim-patch:8.1.1539,8.1.1543,8.1.1554 for :const from Vim
2019-06-24 14:27:31 +02:00
rhysd
3e8bc4a13f
eval.c: Fix clint errors and typo in comment of ex_const()
2019-06-24 09:35:56 +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
Jan Edmund Lazo
fa3db26f10
eval: assert VAR_LIST branch in filter_map()
2019-06-23 19:11:01 -04:00
Jan Edmund Lazo
4653b5943f
vim-patch:8.1.0747: map() with a bad expression doesn't give an error
...
Problem: map() with a bad expression doesn't give an error. (Ingo Karkat)
Solution: Check for giving an error message. (closes vim/vim#3800 )
ce9d50df07
2019-06-23 18:17:10 -04:00
Jan Edmund Lazo
bb02ca6def
vim-patch:8.1.0167: lock flag in new dictitem is reset in many places
...
Problem: Lock flag in new dictitem is reset in many places.
Solution: Always reset the lock flag.
c89d4b3530
2019-06-23 18:17:09 -04:00
Jan Edmund Lazo
f0d6695e7c
vim-patch:8.1.0181: memory leak with trailing characters in skip expression
...
Problem: Memory leak with trailing characters in skip expression.
Solution: Free the return value.
a43ebe9454
2019-06-23 18:17:08 -04:00
Jan Edmund Lazo
6eae28f090
eval: require nonnull func args to pass ASAN build
2019-06-23 18:17:08 -04:00
Jan Edmund Lazo
efdc0f6a69
vim-patch:8.1.0112: no error when using bad arguments with searchpair()
...
Problem: No error when using bad arguments with searchpair().
Solution: Add error messages.
3dddb09c98
2019-06-23 18:17:08 -04:00
Jan Edmund Lazo
8bc365c886
lint
2019-06-23 18:17:08 -04:00
Jan Edmund Lazo
83ef740e15
vim-patch:8.0.1239: cannot use a lambda for the skip argument to searchpair()
...
Problem: Cannot use a lambda for the skip argument to searchpair().
Solution: Evaluate a partial, funcref and lambda. (LemonBoy, closes vim/vim#1454 ,
closes vim/vim#2265 )
48570488f1
2019-06-23 18:17:08 -04:00
Björn Linse
d4938743e6
channel: refactor events, prevent recursive invocation of events
2019-06-18 10:49:38 +02:00
Daniel Hahler
d0e1417254
vim-patch:8.0.1274: setbufline() fails when using folding
...
Problem: setbufline() fails when using folding.
Solution: Set "curwin" if needed. (Ozaki Kiichi, closes vim/vim#2293 )
0c4dc88a63
2019-06-18 00:51:08 +02:00
Daniel Hahler
8db93d0d83
vim-patch:8.0.1053: setline() does not work on startup
...
Problem: setline() does not work on startup. (Manuel Ortega)
Solution: Do not check for ml_mfp to be set for the current buffer.
(Christian Brabandt)
9d954207e2
2019-06-18 00:18:52 +02: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
b397a3f397
Merge #10142 from blueyed/vim-1fbfe7c48
...
vim-patch:8.1.013{0,1}
2019-06-09 16:20:09 +02:00
erw7
1fbc01f4ab
Fix problems with message catalog directory
...
- In appimage, the message catalog is not used because there is no
message catalog in LOCALE_INSTALL_DIR. Therefore, change to
exepath/../share/locale instead of LOCALE_INSTALL_DIR.
- The old vim style($runtime/lang) is no longer used. Thus all relevant
code is removed.
2019-06-09 13:28:10 +09:00
Daniel Hahler
3dd31b2b65
vim-patch:8.1.1491: fix skipping after exception #10164
...
Problem: When skipping over code after an exception was thrown expression
evaluation is aborted after a function call. (Ingo Karkat)
Solution: Do not fail if not executing the expression. (closes vim/vim#4507 )
6064073841
2019-06-08 19:57:54 +02:00
Daniel Hahler
7823b35781
vim-patch:8.1.0130: ":profdel func" does not work if func was called already
...
Problem: ":profdel func" does not work if func was called already.
(Dominique Pelle)
Solution: Reset uf_profiling and add a flag to indicate initialization was
done.
ad64809610
2019-06-08 16:40:32 +02:00
Justin M. Keyes
f6f9e4a231
Merge #10114 from erw7/vim-8.1.1270
...
vim-patch:8.1.{0629,1270,1271,1283,1288,1289,1350,1375,1390,1475}
2019-06-07 21:28:53 +02:00
Jan Edmund Lazo
233a173226
vim-patch:8.1.0804: crash when setting v:errmsg to empty list
...
Problem: Crash when setting v:errmsg to empty list. (Jaon Franklin)
Solution: Separate getting value and assigning result.
4b9e91f0ba
2019-06-03 23:12:23 -04:00
erw7
485972dd64
vim-patch:8.1.0629: "gn" selects the wrong text with a multi-line match
...
Problem: "gn" selects the wrong text with a multi-line match.
Solution: Get the end position from searchit() directly. (closes vim/vim#3695 )
5d24a2257e
2019-06-04 09:53:55 +09:00
Jan Edmund Lazo
7443da6f6e
vim-patch:8.1.0571: non-silent execute() resets display column to zero
...
Problem: Non-silent execute() resets display column to zero.
Solution: Keep the display column as-is.
446e7a3cd3
2019-06-03 00:12:01 -04:00
Jan Edmund Lazo
8de5d64169
vim-patch:8.1.0569: execute() always resets display column to zero
...
Problem: Execute() always resets display column to zero. (Sha Liu)
Solution: Don't reset it to zero, restore the previous value. (closes vim/vim#3669 )
10ccaa17ec
2019-06-03 00:12:01 -04:00
erw7
bfc44a91ac
vim-patch:8.1.1114: confusing overloaded operator "." for string concatenation
...
Problem: Confusing overloaded operator "." for string concatenation.
Solution: Add ".." for string concatenation. Also "let a ..= b".
0f248b006c
2019-05-29 12:54:42 +09:00
erw7
d46aaa0746
vim-patch:8.1.0902: incomplete set of assignment operators
...
Problem: Incomplete set of assignment operators.
Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931 )
ff697e6cef
2019-05-29 12:05:56 +09:00
Jan Edmund Lazo
3c3b7844b9
lint
2019-05-26 21:50:37 -04:00