aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
* | Merge #10435 from Shougo/vim-8.1.1610Justin M. Keyes2019-07-13
|\ \
| * | Fix lint failedShougo Matsushita2019-07-06
| | |
| * | Fix errorsShougo Matsushita2019-07-06
| | |
| * | vim-patch:8.1.1611: bufadd() reuses existing buffer without a nameShougo Matsushita2019-07-06
| | | | | | | | | | | | | | | | | | Problem: Bufadd() reuses existing buffer without a name. Solution: When the name is empty always create a new buffer. https://github.com/vim/vim/commit/892ae723ab95e429222e930cf41b32809567e58e
| * | vim-patch:8.1.1610: there is no way to add or load a buffer without side effectsShougo Matsushita2019-07-06
| | | | | | | | | | | | | | | | | | Problem: There is no way to add or load a buffer without side effects. Solution: Add the bufadd() and bufload() functions. https://github.com/vim/vim/commit/15e248e37f3925d430f96e945d52d3dc423cdc83
* | | vim-patch:8.1.1660: assert_fails() inside try/catch #10472Daniel Hahler2019-07-13
| | | | | | | | | | | | | | | Problem: Assert_fails() does not fail inside try/catch. Solution: Set trylevel to zero. (Ozaki Kiichi, closes vim/vim#4639) https://github.com/vim/vim/commit/7780e5c1c5485a979ab6e3914a43e17912e213a8
* | | eval.c: clang/"Dead assignment" #10446Bartosz Miera2019-07-09
| | |
* | | Merge #10394 from janlazo/vim-8.1.1614Justin M. Keyes2019-07-06
|\ \ \ | | | | | | | | vim-patch:8.1.{1614,1632,1634,1639}
| * | | vim-patch:8.1.1639: changing an autoload name into a file name is inefficientJan Edmund Lazo2019-07-05
| |/ / | | | | | | | | | | | | | | | Problem: Changing an autoload name into a script file name is inefficient. Solution: Remember the last replaced #. (Ozaki Kiichi, closes vim/vim#4618) https://github.com/vim/vim/commit/28fc247f8d94a1cfabbcf2691ca942bde96f6d2f
* / / func_clear_items: use XFREE_CLEAR #10436Daniel Hahler2019-07-06
|/ / | | | | Follow-up to https://github.com/neovim/neovim/pull/10428#discussion_r300813498
* | vim-patch:8.1.0229: crash when dumping profiling data #10428Daniel Hahler2019-07-05
| | | | | | | | | | Problem: Crash when dumping profiling data. Solution: Reset flag indicating that initialization was done. https://github.com/vim/vim/commit/79c2ad50b8069bbb3281bcabe412bd6641756724
* | viml/profile: switch to uv_gettimeofday() #10356Justin M. Keyes2019-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://github.com/libuv/libuv/blob/0cdb4a5b4b706d0e09413d9270da28f9a88dc083/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);
* | eval/api: don't allow the API to be called in the sandbox.Björn Linse2019-06-26
| | | | | | | | | | Identifying and maintaining a "secure" subset of the API would be too much busywork. So just disable the entire thing.
* | Merge #10250 from blueyed/vim-8.0.1039Justin M. Keyes2019-06-25
|\ \ | | | | | | vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
| * | vim-patch:8.0.1274: setbufline() fails when using foldingDaniel Hahler2019-06-18
| | | | | | | | | | | | | | | | | | Problem: setbufline() fails when using folding. Solution: Set "curwin" if needed. (Ozaki Kiichi, closes vim/vim#2293) https://github.com/vim/vim/commit/0c4dc88a637a5027209aa00226996af84e248636
| * | vim-patch:8.0.1053: setline() does not work on startupDaniel Hahler2019-06-18
| | | | | | | | | | | | | | | | | | | | | 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) https://github.com/vim/vim/commit/9d954207e2cc807b475bb04f8b59ef5bb3772d99
| * | vim-patch:8.0.1039: cannot change a line in not current bufferDaniel Hahler2019-06-17
| | | | | | | | | | | | | | | | | | Problem: Cannot change a line in a buffer other than the current one. Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953) https://github.com/vim/vim/commit/b31cf2bb0be95d106bd8eef93cc07550591c1d0d
* | | Merge #10313 from rhysd/const-patchesJustin M. Keyes2019-06-24
|\ \ \ | | | | | | | | vim-patch:8.1.1539,8.1.1543,8.1.1554 for :const from Vim
| * | | eval.c: Fix clint errors and typo in comment of ex_const()rhysd2019-06-24
| | | |
| * | | vim-patch:8.1.1539: not easy to define a variable and lock itrhysd2019-06-24
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Not easy to define a variable and lock it. Solution: Add ":const". https://github.com/vim/vim/commit/9937a055437ef67b57a1bdec8f0799b669c9dbf0
* | | | eval: assert VAR_LIST branch in filter_map()Jan Edmund Lazo2019-06-23
| | | |
* | | | vim-patch:8.1.0747: map() with a bad expression doesn't give an errorJan Edmund Lazo2019-06-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: map() with a bad expression doesn't give an error. (Ingo Karkat) Solution: Check for giving an error message. (closes vim/vim#3800) https://github.com/vim/vim/commit/ce9d50df07402cb8e196537a9c4505845adecabc
* | | | vim-patch:8.1.0167: lock flag in new dictitem is reset in many placesJan Edmund Lazo2019-06-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Lock flag in new dictitem is reset in many places. Solution: Always reset the lock flag. https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3
* | | | vim-patch:8.1.0181: memory leak with trailing characters in skip expressionJan Edmund Lazo2019-06-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Memory leak with trailing characters in skip expression. Solution: Free the return value. https://github.com/vim/vim/commit/a43ebe9454386427ca38c75810e2d36991f17812
* | | | eval: require nonnull func args to pass ASAN buildJan Edmund Lazo2019-06-23
| | | |
* | | | vim-patch:8.1.0112: no error when using bad arguments with searchpair()Jan Edmund Lazo2019-06-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: No error when using bad arguments with searchpair(). Solution: Add error messages. https://github.com/vim/vim/commit/3dddb09c98825acefa6f2d94bb369b8e00d7b3e5
* | | | lintJan Edmund Lazo2019-06-23
| | | |
* | | | vim-patch:8.0.1239: cannot use a lambda for the skip argument to searchpair()Jan Edmund Lazo2019-06-23
|/ / / | | | | | | | | | | | | | | | | | | 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) https://github.com/vim/vim/commit/48570488f17e397183ea7d5c7ca67d6e4ffb013d
* / / channel: refactor events, prevent recursive invocation of eventsBjörn Linse2019-06-18
|/ /
* | vim-patch:8.0.0931: getwininfo() does not indicate a terminal windowJan Edmund Lazo2019-06-13
| | | | | | | | | | | | Problem: getwininfo() does not indicate a terminal window. Solution: Add "terminal" to the dictionary. https://github.com/vim/vim/commit/69905d108be4af86c2d2a9224e2c588723276dc9
* | Merge #10142 from blueyed/vim-1fbfe7c48Justin M. Keyes2019-06-09
|\ \ | |/ |/| vim-patch:8.1.013{0,1}
| * vim-patch:8.1.0130: ":profdel func" does not work if func was called alreadyDaniel Hahler2019-06-08
| | | | | | | | | | | | | | | | 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. https://github.com/vim/vim/commit/ad6480961080f80a455b2394f27b02935a2ded52
* | vim-patch:8.1.1491: fix skipping after exception #10164Daniel Hahler2019-06-08
|/ | | | | | 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) https://github.com/vim/vim/commit/606407384144df73a6154aca1d77e071fe1b7651
* Merge #10114 from erw7/vim-8.1.1270Justin M. Keyes2019-06-07
|\ | | | | vim-patch:8.1.{0629,1270,1271,1283,1288,1289,1350,1375,1390,1475}
| * vim-patch:8.1.0629: "gn" selects the wrong text with a multi-line matcherw72019-06-04
| | | | | | | | | | | | Problem: "gn" selects the wrong text with a multi-line match. Solution: Get the end position from searchit() directly. (closes vim/vim#3695) https://github.com/vim/vim/commit/5d24a2257e597fd752e33b2c1e9c19cf9114a517
* | vim-patch:8.1.0804: crash when setting v:errmsg to empty listJan Edmund Lazo2019-06-03
|/ | | | | | Problem: Crash when setting v:errmsg to empty list. (Jaon Franklin) Solution: Separate getting value and assigning result. https://github.com/vim/vim/commit/4b9e91f0ba02192e4592a5c4a9bdcdd6e9efeb5e
* vim-patch:8.1.0571: non-silent execute() resets display column to zeroJan Edmund Lazo2019-06-03
| | | | | | Problem: Non-silent execute() resets display column to zero. Solution: Keep the display column as-is. https://github.com/vim/vim/commit/446e7a3cd36b2de7d559f167eb5795d1e1cd3ddb
* vim-patch:8.1.0569: execute() always resets display column to zeroJan Edmund Lazo2019-06-03
| | | | | | 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) https://github.com/vim/vim/commit/10ccaa17ec8b2be1132fd19059e1cd5fb5c902c4
* vim-patch:8.1.1114: confusing overloaded operator "." for string concatenationerw72019-05-29
| | | | | | Problem: Confusing overloaded operator "." for string concatenation. Solution: Add ".." for string concatenation. Also "let a ..= b". https://github.com/vim/vim/commit/0f248b006c2574abc00c9aa7886d8f33620eb822
* vim-patch:8.1.0902: incomplete set of assignment operatorserw72019-05-29
| | | | | | Problem: Incomplete set of assignment operators. Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931) https://github.com/vim/vim/commit/ff697e6cef8ced7717a21fd525ab3200b2f1724f
* lintJan Edmund Lazo2019-05-26
|
* vim-patch:8.1.1077: reg_executing() is reset by calling input()Jan Edmund Lazo2019-05-26
| | | | | | | Problem: reg_executing() is reset by calling input(). Solution: Implement a more generic way to save and restore reg_executing. (Ozaki Kiichi, closes vim/vim#4192) https://github.com/vim/vim/commit/9a2c091a748b380efafe60583698c9afcaab1e46
* vim-patch:8.1.0995: a getchar() call resets the reg_executing() resultJan Edmund Lazo2019-05-26
| | | | | | | Problem: A getchar() call while executing a register resets the reg_executing() result. Solution: Save and restore reg_executing. (closes vim/vim#406 https://github.com/vim/vim/commit/f0fab3046c2b5c4115979347464a802853011220
* vim-patch:8.1.0020: cannot tell whether a register is executing or recordingJan Edmund Lazo2019-05-26
| | | | | | | | | Problem: Cannot tell whether a register is being used for executing or recording. Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi, closes vim/vim#2745) Rename the global variables for consistency. Store the register name in reg_executing. https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
* lintAndrej Zieger2019-05-26
|
* vim-patch:8.1.0039: cannot easily delete lines in another bufferAndrej Zieger2019-05-26
| | | | | | Problem: Cannot easily delete lines in another buffer. Solution: Add deletebufline(). https://github.com/vim/vim/commit/d79a26219d7161e9211fd144f0e874aa5f6d251e
* Resolved compile warnings & fixed lot of style related to sign apiAndrej Zieger2019-05-26
|
* vim-patch:8.1.0717: there is no function for the ":sign jump" commandAndrej Zieger2019-05-26
| | | | | | Problem: There is no function for the ":sign jump" command. Solution: Add the sign_jump() function. (Yegappan Lakshmanan, closes vim/vim#3780) https://github.com/vim/vim/commit/6b7b7190aa9e5c4f51bceaebf9275aa5097cfea1
* vim-patch:8.1.0702: ":sign place" only uses the current bufferAndrej Zieger2019-05-26
| | | | | | | | Problem: ":sign place" only uses the current buffer. Solution: List signs for all buffers when there is no buffer argument. Fix error message for invalid buffer name in sign_place(). (Yegappan Lakshmanan, closes vim/vim#3774) https://github.com/vim/vim/commit/b589f95b38ddd779d7e696abb0ea011dc92ea903
* vim-patch:8.1.0679: sign functions do not take buffer argument as documentedAndrej Zieger2019-05-26
| | | | | | Problem: Sign functions do not take buffer argument as documented. Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes vim/vim#3755) https://github.com/vim/vim/commit/2cbc1a02cb72916dfdbd0d307512c7c3fb766edf