fix(rpc): "grid_line" event parsing crashes (#25581)

refactor: use a more idiomatic loop to iterate over the cells

There are two cases in which the following assertion would fail:
```c
assert(g->icell < g->ncells);
```

1. If `g->ncells = 0`. Update this to be legal.
2. If an EOF is reached while parsing `wrap`. In this case, the unpacker
   attempts to resume from `cells`, which is a bug. Create a new state
   for parsing `wrap`.

Reference: https://neovim.io/doc/user/ui.html#ui-event-grid_line
This commit is contained in:
LW
2023-11-03 15:56:45 -07:00
committed by GitHub
parent 9ad239690f
commit 468292dcb7
4 changed files with 133 additions and 54 deletions

View File

@@ -15,6 +15,7 @@ local function shell_quote(str)
end
end
--- @class test.helpers
local module = {
REMOVE_THIS = {},
}