| Commit message (Collapse) | Author | Age |
... | |
|\ \ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | | |
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
|