| Commit message (Collapse) | Author | Age |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
vim-patch:8.0.0151
Problem: To pass buffer content to system() and systemlist() one has to
first create a string or list.
Solution: Allow passing a buffer number. (LemonBoy,
closes vim/vim#1240)
https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882
vim-patch:8.0.0153
Problem: system() test fails on MS-Windows.
Solution: Deal when extra space and CR.
https://github.com/vim/vim/commit/9d9c35651712b88c81f1ae11091de1fd0bbbd35c
vim-patch:8.0.0154
Problem: system() test fails on OS/X.
Solution: Deal with leading spaces.
https://github.com/vim/vim/commit/31f19ce0a052f7c76d44a9a190e468c79cf5d56d
|
|\ \ \
| | | |
| | | | |
Add a way to collect list usage statistics
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
New logging is guarded by cmake LOG_LIST_ACTIONS define. To make it more
efficient it is allocated as a linked list with chunks of length
2^(7+chunk_num); that uses basically the same idea as behind increasing kvec
length (make appending O(1) (amortized)), but reduces constant by not bothering
to move memory around what realloc() would surely do: it is not like we need
random access to log entries here to justify usage of a single continuous memory
block.
|
| | | | |
|
| |/ / |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: The arabic shaping code is verbose.
Solution: Shorten the code without changing the functionality.
https://github.com/vim/vim/commit/7f73b54631af3f0e6f0acd1a1b4c9e8436784705
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Arabic support is verbose and not well tested.
Solution: Simplify the code. Add more tests.
https://github.com/vim/vim/commit/5f53dd3f747711be90879fa2f22a207970b86750
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Test for arabic does not check what is displayed.
Solution: Improve what is asserted. (Dominique Pelle, closes vim/vim#1523)
Add a first shaping test.
https://github.com/vim/vim/commit/5342f00ff95ed0256b8183063a83d72112f1243c
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No tests for arabic.
Solution: Add a first test for arabic. (Dominique Pelle, closes vim/vim#1518)
https://github.com/vim/vim/commit/b5e8377364110ee70090274da15d202778e96a64
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Diff mode is not sufficiently tested.
Solution: Add more diff mode tests. (Dominique Pelle, closes vim/vim#1515)
https://github.com/vim/vim/commit/aeb661e1f4a491286ef7af8c3105aff1f3b16f1c
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: With 'linebreak' set and 'breakat' includes ">" a double-wide
character results in "<<" displayed.
Solution: Check for the character not to be replaced. (Ozaki Kiichi,
closes vim/vim#1456)
https://github.com/vim/vim/commit/38632faf635f6434441827e136bceb5a930c59ad
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
*** CID 161216: Memory - illegal accesses (RETURN_LOCAL)
/src/nvim/eval.c: 11143 in get_user_input()
11137 rettv->vval.v_string =
11138 (char_u *)getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
11139 xp_type, xp_arg, input_callback);
11140 ex_normal_busy = save_ex_normal_busy;
11141 callback_free(&input_callback);
11142
>>> CID 161216: Memory - illegal accesses (RETURN_LOCAL)
>>> Using "cancelreturn", which points to an out-of-scope variable "def".
11143 if (rettv->vval.v_string == NULL && cancelreturn != NULL) {
11144 rettv->vval.v_string = (char_u *)xstrdup(cancelreturn);
11145 }
11146
11147 xfree(xp_arg);
11148
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
*** CID 169163: Null pointer dereferences (FORWARD_NULL)
/src/nvim/eval/decode.c: 290 in decode_string()
284 if (elw_ret == -1) {
285 tv_clear(&tv);
286 return (typval_T) { .v_type = VAR_UNKNOWN, .v_lock = VAR_UNLOCKED };
287 }
288 return tv;
289 } else {
>>> CID 169163: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "s" to "xmemdupz", which dereferences it. (The dereference is assumed on the basis of the 'nonnull' parameter attribute.)
290 return (typval_T) {
291 .v_type = VAR_STRING,
292 .v_lock = VAR_UNLOCKED,
293 .vval = { .v_string = (char_u *)(
294 s_allocated ? (char *)s : xmemdupz(s, len)) },
295 };
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Diff mode is displayed wrong when adding a line at the end of a
buffer.
Solution: Adjust marks in diff mode. (James McCoy, closes vim/vim#1329)
https://github.com/vim/vim/commit/f58a8475e17bd566760fc7e2a17d35ddf4edacf2
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: :map completion does not have <special>. (Dominique Pelle)
Solution: Recognize <special> in completion. Add a test.
https://github.com/vim/vim/commit/cf5fdf7d1689ecb145b634dcb9c6e9fc60f63869
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Illegal memory access with "t".
Solution: Use strncmp() instead of memcmp(). (Dominique Pelle, closes vim/vim#1528)
https://github.com/vim/vim/commit/66727e16079fbac6db3897b5c3736ec9fba995bb
|
|/ / / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:8.0.0364: ]s does not move cursor with two spell errors in one line
Problem: ]s does not move cursor with two spell errors in one line. (Manuel
Ortega)
Solution: Don't stop search immediately when wrapped, search the line first.
(Ken Takata) Add a test.
https://github.com/vim/vim/commit/d3f78dc9ebd729475a7f24a50a91112e300d5ac9
* disable spell test for now
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement nvim_command_output with `execute({cmd},"silent")`.
Behavior changes:
- does not provoke any hit-enter prompt
- no longer prepends a newline char
- does not capture some noise (like the "[New File]" message, see the
change to tabnewentered_spec.lua)
Technically ("bug-for-bug") this a breaking change. But the previous
behavior of nvim_command_output meant that it probably wasn't used for
anything outside of tests.
Also remove the undocumented `v:command_output` variable which was
a hack introduced only for the purposes of nvim_command_output.
closes #7726
|
|
|
|
|
|
|
|
| |
Problem: The condition for when a typval needs to be cleared is too
complicated.
Solution: Init the type to VAR_UNKNOWN and clear it always.
https://github.com/vim/vim/commit/f06e5a549f42396be3478ccc1b5f03be64e1173e
|
|
|
|
|
|
|
|
| |
Problem: No test for concatenating an empty string that results from out of
bounds indexing.
Solution: Add a simple test.
https://github.com/vim/vim/commit/218426896cbb2129aa4e85803ea97c5b57df1eaa
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, the default `:filetype ...` setup was skipped if the user
config touched `:filetype` in any way (including implicitly via `:syntax
on`). No one needs that, and it's very confusing.
Instead, proceed with `:filetype ... on` unless the user explicitly
called `:filetype ... off`.
closes #7765
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
do_profiling is a global variable, and as such the clang static
analyzer has trouble making arguments about it.
This commit does one comparison against do_profiling and puts the
result in a local variable. This prevents errors from the value of
do_profiling changing between comparisons.
|
| |
| |
| |
| |
| |
| | |
The clang static analyzer convinced itself lp->ll_newkey could be NULL.
This adds an assertion that checks this doesn't actually happen, as well
as a parallel assertion for di->di_key.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clang static analyzer had trouble with filter_map in eval.c because
tv_copy could, in principle, change the v_type of argvars[0]. It
saw a potential null pointer going somewhere it shouldn't as a result.
The from argument in tv_copy should be const, which also cleans up the
static analyzer's complaint.
|
| |
| |
| |
| | |
If the lval is a index into a list, li should not be null.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Test_existent_file() fails on some file systems.
Solution: Run the test again with a sleep when the test fails without a
sleep. (James McCoy, closes vim/vim#1984)
https://github.com/vim/vim/commit/82de3c2c036bc89c2d9bdea236e0a7f1208a5571
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: EMSG() is sometimes used for internal errors.
Solution: Change them to IEMSG(). (Dominique Pelle) And a few more.
https://github.com/vim/vim/commit/de33011ec623fd562419dede6bf465b5b9881a20
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TERM=konsole-256color is recognized by ncurses.
TERM=konsole-xterm might be more clever, but should not be necessary
(for Nvim at least), we already special-case Konsole in various places.
We may need to clean up some areas that currently assume Konsole always
"pretends xterm" (`TERM=xterm-256color`), though I didn't find any such
cases.
ref #6403
ref https://github.com/neovim/neovim/issues/6403#issuecomment-348713346
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Flags of :substitute not sufficiently tested.
Solution: Test up to two letter flag combinations. (James McCoy, closes
vim/vim#1479)
https://github.com/vim/vim/commit/8c50d50b6e19b755d7bad7b2724d14ead29364a7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:8.0.0334
vim-patch:8.0.0335
vim-patch:8.0.0343
vim-patch:8.0.0345
Problem: Can't access b:changedtick from a dict reference.
Solution: Make changedtick a member of the b: dict. (inspired by neovim
vim/vim#6112)
https://github.com/vim/vim/commit/79518e2ace5fce7b9c49060e462a6e935dba0a84
vim-patch:8.0.0343: b:changedtick can be unlocked
Problem: b:changedtick can be unlocked, even though it has no effect.
(Nikolai Pavlov)
Solution: Add a check and error E940. (closes #1496)
vim-patch:8.0.0345: islocked('d.changedtick') does not work
Problem: islocked('d.changedtick') does not work.
Solution: Make it work.
vim-patch:8.0.0335: functions test fails
Problem: Functions test fails.
Solution: Use the right buffer number.
https://github.com/vim/vim/commit/507647da3151f7ffccac1b217936240daa79849c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Illegal memory access with vi'
Solution: For quoted text objects bail out if the Visual area spans more
than one line.
https://github.com/vim/vim/commit/46522af72424c7fadfa7a4cbba3dd21b82d19131
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get and set quickfix list items.
Solution: Add the "items" argument to getqflist() and setqflist(). (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/6a8958db259d4444da6e6956e54a6513c1af8860
|
|/
|
|
|
|
|
|
| |
Problem: Cannot easily get to the last quickfix list.
Solution: Add "$" as a value for the "nr" argument of getqflist() and
setqflist(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/875feea6ce223462d55543735143d747dcaf4287
|
|\
| |
| | |
Remove some tv_list_item_…() functions
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|