| Commit message (Collapse) | Author | Age |
| ... | |
| |\ \ \
| | | |
| | | | |
Fix aucmd_win issues: crashes and redrawing errors.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- redraw! in an invisible buffer rendered the screen unusable.
- storing the autocmd window handle and using it in API function could lead
to crashes. Unregister the handle when the window is not active.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Reduce the API surface-area a bit. No need to have aliases for a mode.
ref #9924
|
| |/ / /
| | |
| | |
| | | |
ref #9924
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
closes #9136
- Treat empty {rhs} like <Nop>
- getchar.c: Pull "repl. MapArg termcodes" into func
The "preprocessing code" surrounding the replace_termcodes calls needs
to invoke replace_termcodes, and also check if RHS is equal to "<Nop>".
To reduce code duplication, factor this out into a helper function.
Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit
expects an empty {rhs} string for "<Nop>", but also needs to distinguish
that from something like ":map lhs<cr>" where no {rhs} was provided.
- getchar.c: Use allocated buffer for rhs in MapArgs
Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or
else an RHS that calls a really long autoload function from a plugin
would be incorrectly rejected as being too long), use an allocated
buffer for RHS rather than a static buffer of length MAXMAPLEN + 1.
- Mappings LHS and RHS can contain literal space characters, newlines, etc.
- getchar.c: replace_termcodes in str_to_mapargs
It makes sense to do this; str_to_mapargs is, intuitively, supposed to
take a "raw" command string and parse it into a totally "do_map-ready"
struct.
- api/vim.c: Update lhs, rhs len after replace_termcodes
Fixes a bug in which replace_termcodes changes the length of lhs or rhs,
but the later search through the mappings/abbreviations hashtables
still uses the old length value. This would cause the search to fail
erroneously and throw 'E31: No such mapping' errors or 'E24: No such
abbreviation' errors.
- getchar: Create new map_arguments struct
So that a string of map arguments can be parsed into a more useful, more
portable data structure.
- getchar.c: Add buf_do_map function
Exactly the same as the old do_map, but replace the hardcoded references
to the global `buf_T* curbuf` with a function parameter so that we can
invoke it from nvim_buf_set_keymap.
- Remove gettext calls in do_map error handling
|
| | | | |
|
| | | |
| | |
| | |
| | | |
ref #6201
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Coverity warns for leaking memory and using wrong struct.
Solution: Free pointer when allocation fails. Change "boff" to "loff".
(closes vim/vim#3634)
https://github.com/vim/vim/commit/4e303c8ba8dcd0566a1ad7c82ff18eb016eea335
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Coverity warning for using uninitialized variable.
Solution: Clear exarg_T.
https://github.com/vim/vim/commit/4ca41534b726c4116d2e430e877e34146b4d4831
|
| |\ \ \
| | | |
| | | | |
UI/nvim_ui_attach(): add "override" option
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before now, Nvim always degrades UI capabilities to the lowest-common
denominator. For example, if any connected UI has `ext_messages=false`
then `ext_messages=true` requested by any other connected UI is ignored.
Now `nvim_ui_attach()` supports `override=true`, which flips the
behavior: if any UI requests an `ext_*` UI capability then the
capability is enabled (and the legacy behavior is disabled).
Legacy UIs will be broken while a `override=true` UI is connected, but
it's useful for debugging: you can type into the TUI and observe the UI
events from another connected (UI) client. And the legacy UI will
"recover" after the `override=true` UI disconnects.
Example using pynvim:
>>> n.ui_attach(2048, 2048, rgb=True, override=True, ext_multigrid=True, ext_messages=True, ext_popupmenu=True)
>>> while True: n.next_message();
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: "extends" from 'listchars' is used when 'list' is off. (Hiroyuki
Yoshinaga)
Solution: Only use the "extends" character when 'list' is on. (Hirohito
Higashi, closes vim/vim#4360)
https://github.com/vim/vim/commit/a5c6a0b6c71ae11078cbf6f5e18ce49a0468a117
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Problem: When 'listchars' only contains "nbsp:X" it does not work.
Solution: Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes vim/vim#3889)
https://github.com/vim/vim/commit/895d966e341c187ffcf9da88dba193cbfcebf000
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: A BufReadPre autocommand may cause the cursor to move.
Solution: Restore the cursor position after executing the autocommand,
unless the autocommand moved it. (Christian Brabandt,
closes vim/vim#4302, closes vim/vim#4294)
https://github.com/vim/vim/commit/a68e59590905da9b4448ff1fcac929ad1a18da9e
|
| |\ \ \
| | | |
| | | | |
vim-patch:8.0.{876,1144},8.1.0133
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using wrong #ifdef for computing length.
Solution: use BACKSLASH_IN_FILENAME instead of COLON_IN_FILENAME. (Yasuhiro
Matsomoto, closes vim/vim#2153)
https://github.com/vim/vim/commit/0b05e491b473dbf39cd9f519030bf6363c272300
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: tagfiles() can have duplicate entries.
Solution: Simplify the filename to make checking for duplicates work better.
Add a test. (Dominique Pelle, closes vim/vim#2979)
https://github.com/vim/vim/commit/46577b5e5445c4aaa1e7ae1764373d11dae71663
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: MS-Windows: Backslashes and wildcards in backticks don't work.
Solution: Do not handle backslashes inside backticks in the wrong place.
(Yasuhiro Matsumoto, closes vim/vim#1942)
https://github.com/vim/vim/commit/39d21e3c30f3391f3b27f5ddb7e1ad411bdb8f2e
|
| |/ / /
| | |
| | |
| | | |
Restore code removed in #9674.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Detecting *.tmpl as htmlcheetah is outdated.
Solution: Use the generic name "template". (closes vim/vim#4348)
https://github.com/vim/vim/commit/d1362211291c85d29609baab65abc764b1aec169
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Running tests leaves XTest_tabpage_cmdheight file behind.
Solution: Delete the right file. (closes vim/vim#4350)
https://github.com/vim/vim/commit/4fa06870e5d347c30fe55290dab87e494c8aa06a
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Test17 is old style.
Solution: Turn into new style test. (Yegappan Lakshmanan, closes vim/vim#4347)
https://github.com/vim/vim/commit/f0ab01f6d868164ed0bb247b6f7b152e6929ef18
|
| |\ \ \ |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
False positive.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Since 67bac681ea6b (see msg_multiline_attr()) msg_clr_eos() is always
called.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | | |
|
| |/ / / |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash when clearing loccation list in autocommand.
Solution: Check if "qi" equals "ql_info". (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/3b9474b4ad4d85b5396f7f641b436f193dc9d486
|
| |\ \ \
| | | |
| | | | |
vim-patch:8.1.{613,1046,1249}
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
It works now.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Compiler warning for uninitialized variable.
Solution: Initialize it. (Christian Brabandt)
https://github.com/vim/vim/commit/c6b1cc967f859c6e975d001e4304113db7190690
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
with ':'
Problem: Sometimes the quickfix title is incorrectly prefixed with ':'.
Solution: Prepend the colon in another way. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/8b62e31003693fee4b288e7aea49170f032aeef3
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: qf_parse_line() is too long.
Solution: Split it in parts. Properly handle vim_realloc() failing.
(Yegappan Lakshmanan)
https://github.com/vim/vim/commit/18cebf44177542e6658251bacf6152aa9009ca58
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No simple way to label quickfix entries.
Solution: Add the "module" item, to be used instead of the file name for
display purposes. (Martin Szamotulski)
https://github.com/vim/vim/commit/d76ce852668635d81778cedacc2d3f021ed4e475
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: qf_get_properties() function is too long.
Solution: Refactor the code. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/353eeeaca269ed5e83900bd4a24dc6dc80bb4880
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Errorformat "%r" implies "%>". (Jan Gosmann)
Solution: Jump to before setting fmt_ptr. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/e333e79f9bdff82432e0fd7fcf7ae30ef8e3d092
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: The ex_vimgrep() function is too long.
Solution: Split it in smaller functions. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/75b0a888e41bcda4163072f41bb7b5471fef7651
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Warning for uninitialized variable from gcc.
Solution: Initialize the variable.
https://github.com/vim/vim/commit/28ada699c13833219acaeb7e768acc2acae50e02
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Possible NULL pointer dereference. (Coverity)
Solution: Check for the pointer not being NULL.
https://github.com/vim/vim/commit/0549a1e184d33674f4c2b8fb44ccdf6b9b9808a3
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
window
Problem: After ":copen" can't get the window-ID of the quickfix window.
(FalacerSelene)
Solution: Make it work without a quickfix list. Add a test. (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/2ec364e94dbc080ccdf6c5dfc6f1653b5b7ded64
|