| 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
|
|
|
|
|
|
|
|
|
| |
Problem: Loading a session file fails if 'winheight' is a big number.
Solution: Set 'minwinheight' to zero at first. Don't give an error when
setting 'minwinheight' while 'winheight' is a big number.
Fix using vertical splits. Fix setting 'minwinwidth'.
(closes vim/vim#2970)
https://github.com/vim/vim/commit/1c3c10492a291270fa89b3c8df11828792f927d3
|
|
|
|
|
|
|
| |
Problem: SET_NO_HLSEARCH() used in a wrong way.
Solution: Make it a function. (suggested by Dominique Pelle,
closes vim/vim#2850)
https://github.com/vim/vim/commit/451fc7b954906069f1830a8092ad85616049a828
|
|
|
|
|
| |
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Ref: https://github.com/neovim/neovim/pull/10672#issuecomment-524716824
|
|
|
|
|
| |
Problem: Not easy to compute the space on the command line.
Solution: Add v:echospace. (Daniel Hahler, closes vim/vim#4732)
https://github.com/vim/vim/commit/37f4cbd46f5a6f2dd3a48d5fa4324dce37e4bd6c
|
| |
|
|
|
|
|
|
|
|
| |
If parse_shape_opt() is done before user config, the TUI may cause
unwanted changes to the terminal cursor which cannot later be undone
(see #4396).
fix #10750
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- In appimage, the message catalog is not used because there is no
message catalog in LOCALE_INSTALL_DIR. Therefore, change to
exepath/../share/locale instead of LOCALE_INSTALL_DIR.
- The old vim style($runtime/lang) is no longer used. Thus all relevant
code is removed.
|
| |
| |
| |
| | |
Also revert possibly-wrong change in f_sign_getplaced() from
652be3cb0040.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: :filter only supports some commands.
Solution: Add :filter support for more commands. (Marcin Szamotulski,
closes vim/vim#2856)
https://github.com/vim/vim/commit/f86db78fed78541cefdb706e4779ce5ae9ca7820
|
| | |
|
|\ \
| | |
| | | |
api/window: add style="minimal" flag to disable unwanted UI features for simple floats
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Problem: 'numberwidth' can only go up to 10.
Solution: Allow up to 20. (Charlie Stanton, closes vim/vim#4584)
https://github.com/vim/vim/commit/f8a071265535b8cc43e50a81f4d5049883ca50e4
|
| |
| |
| | |
ref #6289
|
| |
| |
| |
| | |
Also add `hi blend=` attribute to override transparency of indiviual attributes.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using expressions in a modeline is unsafe.
Solution: Disallow using expressions in a modeline, unless the
'modelineexpr' option is set. Update help, add more tests.
https://github.com/vim/vim/commit/110289e78195b6d01e1e6ad26ad450de476d41c1
|
|/
|
|
|
|
| |
Problem: 'backupskip' default doesn't work for Mac.
Solution: Use "/private/tmp". (Rainer Müller, closes vim/vim#2793)
https://github.com/vim/vim/commit/b8e22a053b68774dfd86fd829d9dba2333f09c05
|
|
|
|
|
|
|
| |
Problem: Cannot see current match position.
Solution: Show "3/44" when using the "n" command and "S" is not in
'shortmess'. (Christian Brabandt, closes vim/vim#4317)
https://github.com/vim/vim/commit/9dfa3139198b38b28673e251a3756430065914e9
|
|
|
|
|
|
| |
Problem: Invalid memory access with invalid modeline.
Solution: Pass pointer limit. Add a test. (closes vim/vim#3241)
https://github.com/vim/vim/commit/9cf4b5005f12ce1d6692266140bdda05d0312d79
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
On Windows we store non-config data in "$XDG_DATA_HOME/nvim-data". But
the "…/site" items in 'runtimepath' did not correctly point to that
location, they used "…/nvim/site".
Fix the init logic to use "…/nvim-data/site".
closes #9910
|
|
|
|
|
|
|
|
|
|
| |
Problem: An error in a timer can make Vim unusable.
Solution: Don't set the error flag or exception from a timer. Stop a timer
if it causes an error 3 out of 3 times. Discard an exception
caused inside a timer.
https://github.com/vim/vim/commit/c577d813b7978345dec4310b2d8f5d5624a681f6
closes #9826
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc-9 has [improved compliance] with the C spec for lifetime of compound
literals, tying their lifetime to block scope instead of function scope.
This makes the behavior comparable to all other automatic variables.
Using the SHM_ALL #define instantiated a compound literal local to an if
clause and assigned the address to a "char_u *". Since the pointer was
then being used outside of the if clause, it was using an invalid
address.
[improved compliance]: https://gcc.gnu.org/gcc-9/porting_to.html#complit
Closes #9855
|
|
|
|
| |
ASCII_ISALNUM is part of vim-patch:8.1.0540
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Setting 'filetype' in a modeline causes an error (Hirohito
Higashi).
Solution: Don't add the P_INSECURE flag when setting 'filetype' from a
modeline. Also for 'syntax'.
https://github.com/vim/vim/commit/916a818cea5ba05a5f2117407674461b8bee6832
|
|
|
|
|
|
|
|
| |
Problem: May evaluate insecure value when appending to option.
Solution: Set the secure flag when changing an option that was previously
set insecurely. Also allow numbers for the characters from
'spelllang' that are used for LANG.vim.
https://github.com/vim/vim/commit/247bb7e43b47eb8407a1111bed60b61aceda52ad
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Deprecate ext_wildmenu. ext_popupmenu already contains more state (anchor
position), and will allow further expansion (info about items).
|
|
|
|
|
| |
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
|
|
|
|
| |
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Why?
- Because we can.
- Because the TUI is just another GUI™
- Because it looks kinda nice, and provides useful context like 1 out of 100
times
Complies with "don't pay for what you don't use".
Some crashes for resizing were unfolded, add tests for those.
|
|
|
|
|
|
|
|
|
| |
Makes the 'scrollback' option more consistent (same default for all buffers) and future-proof.
- Default to -1 for all buffers, but treat it as an implementation detail.
- Document range of 1 - 100_000.
- New terminal buffer by default sets scrollback=10_000 if the global default is -1.
- Existing terminal buffer: On entering terminal-mode or on refresh, if the user explicitly did `:set[local] scbk=-1`, the local value goes to 100_000 (max). (This is undocumented on purpose. Users should work with explicit values in the range of 1-100_000.)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Showing two characters for tab is limited.
Solution: Allow for a third character for "tab:" in 'listchars'. (Nathaniel
Braun, Ken Takata, closes vim/vim#3810)
https://github.com/vim/vim/commit/83a52171ba00b2b9fd2d1d22a07e38fc9fc69c1e
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using 'listchars' is a nice way to highlight tabs that were included by accident
for buffers that set 'expandtab'.
But maybe one does not want this for buffers that set 'noexpandtab', so now one
can use:
autocmd FileType go let &l:listchars .= ',tab: '
|