| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix #5555
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Reloading a script gives errors for existing functions.
Solution: Allow redefining a function once when reloading a script.
https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362) Also display the line number with ":verbose set".
https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
|
|/
|
|
|
|
|
|
|
| |
changed
Problem: ":write" increments b:changedtick even though nothing changed.
(Daniel Hahler)
Solution: Only increment b:changedtick if the modified flag is reset.
https://github.com/vim/vim/commit/c024b4667875e5bc6fd0ed791530e33c3161bff7
|
|
|
|
|
|
|
|
| |
add proper msg_set_pos event, delet win_scroll_over_*
make compositor click through unfocusable grids
add MsgArea attribute for the message/cmdline area, and add docs and tests
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Re-enable Test_BufLeave_Wipe. 66f5e5c7d7ce
This is my (probably-wrong) application of Zyx's suggestion in #9163:
> free_buffer_stuff() already removes changedtick. It is better to
> make `free_options` a flag variable and avoid calling
> buf_init_changedtick() based on some flag there: current workflow
> looks weird as it first removes `b:changedtick`, then re-adds it
> by calling buf_init_changedtick(), then remove again.
> Also based on my understanding it looks logical to not remove
> `b:changedtick`, but to *replace* it with something allocated if
> needed based on examining reference count before calling
> `unref_var_dict`. Because now you have key disappearing from
> dictionary for no good reason.
Patch-By: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
|
|
|
|
|
|
|
|
| |
Problem: Crash when wiping out a buffer after using getbufinfo().
(Yegappan Lakshmanan)
Solution: Remove b:changedtick from the buffer variables.
(Note: The test changes in vim-patch:8.0.1193 were already included.)
|
| |
|
| |
|
|\
| |
| | |
vim-patch:8.0.{755,1146,1164}
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Changing StatusLine highlight while evaluating 'statusline' may
not change the status line color.
Solution: When changing highlighting while redrawing don't cause another
redraw. (suggested by Ozaki Kiichi, closes vim/vim#2171, closes vim/vim#2120)
https://github.com/vim/vim/commit/65ed136844fbaffdd473903ed841c944600234dc
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
This matches Vim behavior. From `:help :ls` :
R a terminal buffer with a running job
F a terminal buffer with a finished job
? a terminal buffer without a job: `:terminal NONE`
TODO: implement `:terminal NONE`.
ref #10349
|
|
|
|
|
|
|
|
| |
Problem: A terminal window with a running job behaves different from a
window containing a changed buffer.
Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a
terminal used to run is listed as "[Scratch]".
https://github.com/vim/vim/commit/e561a7e2fa511d643c9692d26f4cf65378fd1983
|
|
|
|
|
|
| |
Problem: Cannot recognize a terminal buffer in :ls output.
Solution: Use R for a running job and F for a finished job.
https://github.com/vim/vim/commit/304b64c9e6957fa3f552e0540ca786139b39a1c4
|
|
|
|
|
|
|
| |
Problem: Get "no write since last change" error in terminal window.
Solution: Use another message when closing a terminal window. Make ":quit!"
also end the job.
https://github.com/vim/vim/commit/f5be7cd01642fafc4b7d68894eb60cca60c7a405
|
| |
|
|
|
|
|
|
|
|
|
|
| |
buf_signcols sorting breaks signlist structure.
Remove sorting in buf_signcols, because signlist is already kept
sorted and it did not correctly update the double linked list.
Fixes #10078
|
| |
|
| |
|
|
|
|
|
|
|
| |
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: 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: Using sign group names is inefficient.
Solution: Store group names in a hash table and use a reference to them.
Also remove unnecessary use of ":exe" from the tests. (Yegappan
Lakshmanan, closes vim/vim#3715)
https://github.com/vim/vim/commit/7a2d9892b7158edf8dc48e9bcaaae70a40787b37
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
vim-patch:8.0.1481
|
|
|
|
|
|
| |
Problem: Skipping empty statusline groups is not correct.
Solution: Also set group_end_userhl. (itchyny)
https://github.com/vim/vim/commit/235dddf1f4afe3a40047dbf2aca1bd177b7be18b
|
|
|
|
|
|
|
| |
Problem: 'statusline' drops empty group with highlight change.
Solution: Do not drop an empty group if it changes highlighting. (Marius
Gedminas, closes vim/vim#2228)
https://github.com/vim/vim/commit/6b89dbb55f84c485310c8c9e094dbafe3ecbace6
|
| |
|
|
|
|
|
|
| |
Problem: the "secure" variable is used inconsistently. (Justin M. Keyes)
Solution: Set it to one instead of incrementing.
https://github.com/vim/vim/commit/82b033eff82d3ed0da77fd5f5a1c023766acabba
|
|
|
|
|
|
|
| |
Problem: When executing an insecure function the secure flag is stuck.
(Gabriel Barta)
Solution: Restore "secure" instead of decrementing it. (closes vim/vim#3705)
https://github.com/vim/vim/commit/48f377a476e4a3312aa0e3535aba170484b59483
|
|
|
|
|
|
|
|
| |
Problem: Terminal window status shows "[Scratch]".
Solution: Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto)
Store the terminal title that vterm sends and use it. Update the
special buffer name. (closes vim/vim#1869)
https://github.com/vim/vim/commit/2155441460a6dc0a72125f7860507693112a1460
|
|
|
|
|
|
|
| |
Problem: Function prototypes missing without the quickfix feature. (Tony
Mechelynck)
Solution: Move non-quickfix functions to buffer.c.
https://github.com/vim/vim/commit/f0a521f4f76904edb74e182c12732189b347ff68
|
|
|
| |
Fixes https://github.com/neovim/neovim/issues/9892
|
| |
|
|
|
|
|
|
|
| |
Problem: Buffer for quickfix window is reused for another file.
Solution: Don't reuse the quickfx buffer. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/39803d82dbb215d2eea9fcd6cf2961b71515a438
|
|
|
|
|
|
|
| |
Problem: :argedit does not reuse an empty unnamed buffer.
Solution: Add the BLN_CURBUF flag and fix all the side effects. (Christian Brabandt)
https://github.com/vim/vim/commit/46a53dfc29689c6a0d80e3820e8b0a48dba6b6ec
|
|
|
|
|
|
| |
Problem: The terminal structure is never freed.
Solution: Free the structure and unreference what it contains.
https://github.com/vim/vim/commit/96ca27a0ee8ae738cab9fb386984c75c6821e31a
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Cannot build without the sandbox.
Solution: Set the secure option instead of using the sandbox. Also restrict
the characters from 'spelllang' that are used for LANG.vim.
(suggested by Yasuhiro Matsumoto)
https://github.com/vim/vim/commit/82e8c92ebef5afcac0c0fdb706ff163f9b3366f7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #990
closes #9295
- Support for multiple auto-adjusted sign columns.
With this change, having more than one sign on a line, and with the
'auto' setting on 'signcolumn', extra columns will shown automatically
to accomodate all the existing signs.
For example, suppose we have this view:
5147 }
5148
5149 return sign->typenr;
5150 }
5151 }
5152 return 0;
5153 }
5154
We have GitGutter installed, so it tells us about modified lines that
are not commmited. So let's change line 5152:
5147 }
5148
5149 return sign->typenr;
5150 }
5151 }
~ 5152 return 0;
5153 }
5154
Now we add a mark over line 5152 using 'ma' in normal mode:
5147 }
5148
5149 return sign->typenr;
5150 }
5151 }
a ~ 5152 return 0;
5153 }
5154
Previously, Vim/Nvim would have picked only one of the signs,
because there was no support for having multiple signs in a line.
- Remove signs from deleted lines.
Suppose we have highlights on a group of lines and we delete them:
+ 6 use std::ops::Deref;
--+ 7 use std::borrow::Cow;
--+ 8 use std::io::{Cursor};
9 use proc_macro2::TokenStream;
10 use syn::export::ToTokens;
--+ 11 use std::io::Write;
>> 12 use std::ops::Deref;
Without this change, these signs will momentarily accumulate in
the sign column until the plugins wake up to refresh them.
+ --+ --+ --+ >> 6
Discussion: It may be better to extend the API a bit and allow this
to happen for only certain types of signs. For example, VIM marks
and vim-gitgutter removal signs may want to be presreved, unlike
line additions and linter highlights.
- 'signcolumn': support 'auto:NUM' and 'yes:NUM' settings
- sort signs according to id, from lowest to highest. If you have
git-gutter, vim-signature, and ALE, it would appear in this order:
git-gutter - vim-signature - ALE.
- recalculate size before screen update
- If no space for all signs, prefer the higher ids (while keeping the
rendering order from low to high).
- Prevent duplicate signs. Duplicate signs were invisible to the user,
before using our extended non-standard signcolumn settings.
- multi signcols: fix bug related to wrapped lines.
In wrapped lines, the wrapped parts of a line did not include the extra
columns if they existed. The result was a misdrawing of the wrapped
parts. Fix the issue by:
1. initializing the signcol counter to 0 when we are on a wrap boundary
2. allowing for the draw of spaces in that case.
|
|
|
|
|
|
|
| |
Problem: Evaluating a modeline might invoke using a shell command. (Paul
Huber)
Solution: Set the sandbox flag when setting options from a modeline.
https://github.com/vim/vim/commit/5958f95a40a4a44bd9e7f3b7ec6554a6ef3e42ca
|
|
|
|
|
|
| |
Problem: Sign ordering depends on +netbeans feature.
Solution: Also order signs without +netbeans. (Christian Brabandt,
closes vim/vim#3224)
https://github.com/vim/vim/commit/8aeb504fc68e3fea9da5567d2d9a31a132fbf90f
|
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_VIRTUALEDIT. Adds about 10Kbyte to the code.
https://github.com/vim/vim/commit/29ddebef4038d2d2b3bc9d8d3b0109f4046d6fbf
|
|
|
|
| |
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
|
|
|
|
|
|
| |
Independently of the 'undoreload' option and the length of the file.
closes #9642
closes #9643
|