The following (run as a script) used to cause a crash due to :sign using a
special redraw (not updating nvim's specific highlight data structures)
without proper redraw first, as split just flags for redraw later.
set cursorline
sign define piet text=>> texthl=Search
split
sign place 3 line=2 name=piet buffer=1
closes#8727
Before:
INFO 180711.233956 11124 main:560: starting main loop
After:
INFO 180711.233956.807 11124 main:560: starting main loop
Note:
- Can't use uv_hrtime() nor uv_now(), they are not "since the epoch".
Also, log.c can't assume a loop exists.
- Log-level name (INFO/ERROR/…) should be in the first column, so that
filtering by log-level is maximally trivial.
- Use 2-digit year. 4-digit year is useless, logs don't survive for
decades without context.
Before:
2018/07/05 17:49:41 INFO 27596 on_process_exit:393: foo
After:
INFO 180705.174941 27596 on_process_exit:393: foo
the first implemented UI protocol clients (python-gui and builitin TUI)
allowed the cleared region to be restricted by setting the scroll region.
This was never used by nvim though, and not documented and implemented by
newer clients, to check we remain compatible with both kind of clients,
ensure the scroll region is in a reset state.
Problem: CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
Solution: Take coladd into account. (Christian Brabandt, closesvim/vim#2743)
db0eedec16
Problem: :packadd does not load packages from the "start" directory.
(Alejandro Hernandez)
Solution: Make :packadd look in the "start" directory if those packages were
not loaded on startup.
9e1d399e63
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.
Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.
cmdline uses curwin cursor position when ext_cmdline is active.
Problem: Access memory beyond end of string. (Coverity)
Solution: Keep allocated memory in separate pointer. Avoid outputting the
NUL character.
cdd09aa51a
Problem: ":if 0|syntax {on,off}|endif" skips the default of "syntax on"
because the executor was setting the `did_syntax_onoff` flag even though
"syntax {on,off}" is not actually executed.
closes#8728
Problem: The message for yanking doesn't indicate the register.
Solution: Show the register name in the "N lines yanked" message. (Lemonboy,
closesvim/vim#1803, closesvim/vim#1809)
e45deb7997
If a second and third child exit while we are already in the handler, we
will only see a single additional SIGCHLD. Therefore the handler must
not stop after processing a single child but should check all children.
Fixes#8740
channel.c: WIP remove redundant method check and added FUNC_ATTR_NONNULL_ALL macro
channel.c channel_defs.h helpers.c: added Error field to RequestEvent, added no_op handler func
channel.c: use const char* instead of string and cleanup
channel.c; channel_defs.h; helpers.c: removed error from event again; send errors directly to the channel without using handlers and events
channel.c: fixed memory leak and lint errors
api/private/dispatch.c; api/vim.c; msgpack_rpc/channel.c msgpack_rpc/helpers.c added Error* field to msgpack_get_handler_for; further refactored channel.c
channel.c:323 changed order of evaluation in if statement
channel.c: removed superflous whitespace
dispatch.c: review comment