aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
* | | 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
* vim-patch:8.1.0673: functionality for signs is spread out over several filesAndrej Zieger2019-05-26
| | | | | | | Problem: Functionality for signs is spread out over several files. Solution: Move most of the sign functionality into sign.c. (Yegappan Lakshmanan, closes vim/vim#3751) https://github.com/vim/vim/commit/bbea47075cc4e7826e9f8c203e4272ba023ed7b0
* vim-patch:8.1.0660: sign_cleanup() may leak memoryAndrej Zieger2019-05-26
| | | | | | | Problem: sign_cleanup() may leak memory. Solution: Free the group name before returning. Add a few more tests. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/1ea88a3e12e5f6afc5353cd0d6e6d4f4a89ced94
* vim-patch:8.1.0658: deleting signs and completion for :sign is insufficientAndrej Zieger2019-05-26
| | | | | | | | | | Problem: Deleting signs and completion for :sign is insufficient. Solution: Add deleting signs in a specified or any group from the current cursor location. Add group and priority to sign command completion. Add tests for different sign unplace commands. Update help text. Add tests for sign jump with group. Update help for sign jump. (Yegappan Lakshmanan, closes vim/vim#3731) https://github.com/vim/vim/commit/7d83bf4f2b785b46d87c7bc376fc9d0a862af782
* vim-patch:8.1.0644: finding next sign ID is inefficientAndrej Zieger2019-05-26
| | | | | | Problem: Finding next sign ID is inefficient. Solution: Add next_sign_id. (Yegappan Lakshmanan, closes vim/vim#3717) https://github.com/vim/vim/commit/6436cd83f90a0efc326798792e49e8ff96a43dce
* vim-patch:8.1.0614: placing signs can be complicatedAndrej Zieger2019-05-26
| | | | | | | | Problem: Placing signs can be complicated. Solution: Add functions for defining and placing signs. Introduce a group name to avoid different plugins using the same signs. (Yegappan Lakshmanan, closes vim/vim#3652) https://github.com/vim/vim/commit/162b71479bd4dcdb3a2ef9198a1444f6f99e6843