Commit Graph

1486 Commits

Author SHA1 Message Date
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