| Commit message (Collapse) | Author | Age |
... | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
|\ \ \
| | | |
| | | | |
vim-patch:8.1.{1614,1632,1634,1639}
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| | |
Follow-up to https://github.com/neovim/neovim/pull/10428#discussion_r300813498
|
| |
| |
| |
| |
| | |
Problem: Crash when dumping profiling data.
Solution: Reset flag indicating that initialization was done.
https://github.com/vim/vim/commit/79c2ad50b8069bbb3281bcabe412bd6641756724
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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);
|
| |
| |
| |
| |
| | |
Identifying and maintaining a "secure" subset of the API would be too
much busywork. So just disable the entire thing.
|
|\ \
| | |
| | | |
vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: setbufline() fails when using folding.
Solution: Set "curwin" if needed. (Ozaki Kiichi, closes vim/vim#2293)
https://github.com/vim/vim/commit/0c4dc88a637a5027209aa00226996af84e248636
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | | |
vim-patch:8.1.1539,8.1.1543,8.1.1554 for :const from Vim
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Not easy to define a variable and lock it.
Solution: Add ":const".
https://github.com/vim/vim/commit/9937a055437ef67b57a1bdec8f0799b669c9dbf0
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Lock flag in new dictitem is reset in many places.
Solution: Always reset the lock flag.
https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Memory leak with trailing characters in skip expression.
Solution: Free the return value.
https://github.com/vim/vim/commit/a43ebe9454386427ca38c75810e2d36991f17812
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No error when using bad arguments with searchpair().
Solution: Add error messages.
https://github.com/vim/vim/commit/3dddb09c98825acefa6f2d94bb369b8e00d7b3e5
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Problem: getwininfo() does not indicate a terminal window.
Solution: Add "terminal" to the dictionary.
https://github.com/vim/vim/commit/69905d108be4af86c2d2a9224e2c588723276dc9
|
|\ \
| |/
|/| |
vim-patch:8.1.013{0,1}
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
| |
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
|
|\
| |
| | |
vim-patch:8.1.{0629,1270,1271,1283,1288,1289,1350,1375,1390,1475}
|
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Problem: Non-silent execute() resets display column to zero.
Solution: Keep the display column as-is.
https://github.com/vim/vim/commit/446e7a3cd36b2de7d559f167eb5795d1e1cd3ddb
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Problem: Confusing overloaded operator "." for string concatenation.
Solution: Add ".." for string concatenation. Also "let a ..= b".
https://github.com/vim/vim/commit/0f248b006c2574abc00c9aa7886d8f33620eb822
|
|
|
|
|
|
| |
Problem: Incomplete set of assignment operators.
Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931)
https://github.com/vim/vim/commit/ff697e6cef8ced7717a21fd525ab3200b2f1724f
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Problem: Cannot easily delete lines in another buffer.
Solution: Add deletebufline().
https://github.com/vim/vim/commit/d79a26219d7161e9211fd144f0e874aa5f6d251e
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|