| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Also fix snapshot_util() to work even if default_attr_ids is not a
proper lua array.
|
|
|
|
|
|
|
| |
Problem: has('patch-7.4.1') doesn't work.
Solution: Fix off-by-one error. (Thinca)
https://github.com/vim/vim/commit/819821c5a95fc60797ecbb5e5ca1302e397e3d9a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606
> If you really want to use bleeding-edge version you should get the
> rockspec from master branch, not a fixed commit ...
> The correct way to install from a specific commit is cloning that
> commit and running "luarocks make" from project directory. The reason
> is that running "install" or "build" on an scm rockspec fetches
> sources from master but uses build description from the rockspec
> itself, which may be outdated.
|
|
|
|
|
|
|
| |
Problem: Crash in :cgetexpr.
Solution: Check for NULL pointer. (Dominique) Add a test.
https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
|
|
|
|
|
|
|
| |
Problem: Quickfix test fails.
Solution: Accept any number of matches.
https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
|
|
|
|
|
|
|
| |
Problem: Using freed memory after setqflist() and ":caddbuffer". (Dominique)
Solution: Set qf_ptr when adding the first item to the quickfix list.
https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
|
|
|
|
|
|
|
|
|
|
| |
In order to not conflict with new error codes that Vim adds, all Neovim
error codes should be above 5000. The three existing sub-5000 error
codes (E926, E951, and E952) are now E50003, E5004, and E5005
respectively.
E953 was removed in 6167ce6df2753d5474ad49aea19f5957128ab015, so just
remove it from the help.
|
|
|
|
|
|
|
|
| |
Problem: Crash when an autocommand changes a quickfix list. (Dominique)
Solution: Check wether an entry is still valid. (Yegappan Lakshmanan,
Hirohito Higashi)
https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
|
|
|
|
|
|
|
| |
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
Solution: Do not set compl_curr_match when called from complete_check().
(closes vim/vim#1168)
https://github.com/vim/vim/commit/472e85970ee3a80abd824bef510df12e9cfe9e96
|
|\
| |
| | |
'inccommand': auto-disable if too slow; fix other behaviors
|
| | |
|
| |
| |
| |
| |
| |
| | |
Call update_topline() to adjust the current viewport.
Closes #5597
|
|/
|
|
|
|
|
|
| |
Problem: A plugin does not know when VimEnter autocommands were already
triggered.
Solution: Add the v:vim_did_enter variable.
https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
|
| |
|
|\
| |
| | |
'inccommand': Support :smagic/:snomagic. Less jumping around.
|
| |
| |
| |
| |
| | |
Remove the inner for-loop; just use the column of the first in-line
match.
|
| |
| |
| |
| |
| | |
Restore cursor position and window "view", if command is cancelled.
This is how 'incsearch' works.
|
| |
| |
| |
| |
| |
| |
| | |
- Use a standard scratch buffer instead of a new 'buftype', functions
like curbufIsChanged() already have special handling for scratch bufs.
- Cleanup some stuff from the previous merge.
- Add support for :smagic, :snomagic. Closes #5578
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* health.vim: Include v:throwpoint in error message
* health/provider.vim: Check for ruby executable
* health/provider.vim: Combine subprocess stdout and stderr
* test: Updated CheckHealth test
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Vertical movement after CTRL-A ends up in the wrong column.
(Urtica Dioica)
Solution: Set curswant when appropriate. (Hirohito Higashi)
https://github.com/vim/vim/commit/8e08125d3a9afd0b16cd84454ae9ddad0abaaab0
|
| |
| |
| |
| |
| |
| | |
Problem: Still quickfix test in old style.
Solution: Turn test 10 into a new style test.
https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
|
|/
|
|
|
|
|
| |
Problem: The quickfix title is truncated.
Solution: Save the command before it is truncated. (Anton Lindqvist)
https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initial work by:
Robin Elrharbi-Fleury (Robinhola)
Audrey Rayé (Adrey06)
Philémon Hullot (DesbyP)
Aymeric Collange (aym7)
Clément Guyomard (Clement0)
Major revisions by:
KillTheMule
Björn Linse <bjorn.linse@gmail.com>
Justin M. Keyes <justinkz@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add tests for undotree().
Helped-by: Björn Linse <bjorn.linse@gmail.com>
When "curhead" points to a valid head, the value of "newhead" is
meaningless (and really should be set to null). The undo state for
a buffer is _logically_ the enum:
enum UndoState {
CurrentHead(head),
NewHead(head),
EmptyTree
}
nvim _represents_ this as: whenever `curbuf->b_u_curhead` is nonnull it
should be used as the current head, and `curbuf->b_u_newhead` is
ignored. If the there is a current head, then this will be redoed on the
next redo, and its parent will be undone on next undo. Only if
`b_u_curhead` is NULL, `b_u_newhead` will be used as the head to undo
(and it is not possible to redo). Also both can be NULL, to indicate an
empty undotree. (To be fair, this only strictly true when calling undo.c
from the outside, in some places _within_ a function in undo.c both
values might be meaningful)
Apparently `undotree()` breaks this non-abstraction, this _cosmetic_
issue can easily be fixed by `ex_substitute` also saving and restoring
`b_u_newhead`, but is doesn't reflect any error really how
`u_undo_and_forget` manipulates the _actual_ state of the undo tree.
|
| |
| |
| |
| |
| | |
During the live preview, the buffer-local 'modified' flag
should not be changed.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'inccommand' allows us to expand the feature to other commands, such as:
:cdo
:cfdo
:global
Also rename "IncSubstitute" highlight group to "Substitute".
|
| |
| |
| |
| | |
This matches what Quickfix traditionally does.
|
| |
| |
| |
| |
| |
| | |
[inc_sub] is less obvious for users. Also, in the future we may want to
generalize the idea of a "preview buffer", or "incremental commands"
besides :substitute.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Eliminate/isolate static/global variables
- Remove special-case parameter from buflist_new()
- Remove special-case ECMD_RESERVED_BUFNR
- To determine when u_undo_and_forget() should be done, check
b_changedtick instead of a heuristic.
- use mb_string2cells() instead of strlen() to measure the :sub patterns
- call ml_close() before buf_clear_file(). Avoids leaks caught by ASan.
Original patch by:
Robin Elrharbi-Fleury (Robinhola)
Audrey Rayé (Adrey06)
Philémon Hullot (DesbyP)
Aymeric Collange (aym7)
Clément Guyomard (Clement0)
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Change shada reencoding tests to check for
correct handling of UTF-8 and binary strings.
Delete enc=latin1 json tests.
|
|/
|
|
|
| |
Problem: If CTRL-C is mapped, it does not interrupt :global output.
Solution: clear `mapped_ctrl_c` during :global.
|
|
|
|
|
|
| |
The 'dump and read back mark " from a closed tab' test needs to actually
create a second tab. Since it wasn't doing so, the 'q!' command caused
nvim to exit and the subsequent 'qall' command fails.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
API level is disconnected from NVIM version. The API metadata holds the
current API level, and the lowest backwards-compatible level supported
by this instance.
Release 0.1.6 is the first release that reports the Nvim version and API
level.
metadata['version'] = {
major: 0,
minor: 1,
patch: 6,
api_level: 1,
api_compatible: 0,
api_prerelease: false,
}
The API level may remain unchanged across Nvim releases if the API has
not changed.
When changing the API,
- set NVIM_API_PRERELEASE to true
- increment NVIM_API_LEVEL (at most once per Nvim version)
- adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken
api_level_0.mpack was generated from Nvim 0.1.5 with:
nvim --api-info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The API level is disconnected from the NVIM version. The API metadata
holds the current API level, and the lowest backwards-compatible level
supported by this instance.
Release 0.1.6 will be the first release reporting the Nvim version and
API level.
metadata['version'] = {
major: 0,
minor: 1,
patch: 6,
prerelease: true,
api_level: 1,
api_compatible: 0,
}
The API level may remain unchanged across Neovim releases if the API has
not changed.
When changing the API the CMake variable NVIM_API_PRERELEASE is set to
true, and NVIM_API_CURRENT/NVIM_API_COMPATIBILITY are incremented
accordingly.
The functional tests check the API table against fixtures of past
versions of Neovim. It compares all the functions in the old table with
the new one, it does ignore some metadata attributes that do not alter
the function signature or were removed since 0.1.5. Currently the only
fixture is 0.mpack, generated from Neovim 0.1.5 with nvim --api-info.
|
|\
| |
| |
| | |
Closes #5246
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Mark " is not set when closing a window in another tab. (Guraga)
Solution: Check all tabs for the window to be valid. (based on patch by
Hirohito Higashi, closes vim/vim#974)
https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #5449
A file containing the string "vim" followed by a very large number in a modeline
location will trigger an overflow in getdigits() which is called by
chk_modeline() when trying to parse the version number.
Add getdigits_safe(), which does not assert overflows, but reports them to the
caller.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Helped-by: Daniel Hahler <git@thequod.de>
|
| |
| |
| |
| | |
TODO: Also spec behavior of Press-Enter prompt for these API functions.
|
| | |
|
|/
|
|
| |
Clarify behavior of v:errmsg and the Error object.
|
|
|
|
|
|
| |
Problem: When using Insert mode completion but not actually inserting
anything an undo item is still created. (Tommy Allen)
Solution: Do not call stop_arrow() when not inserting anything.
|