neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 2116ff47eadd54fefc1dd6f7f13431feda64acb5
parent 813ecdac795405565aab5cb61cb83b9ca1581b60
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sun, 17 Apr 2022 09:44:47 +0800

vim-patch:8.2.0791: a second popup window with terminal causes trouble

Problem:    A second popup window with terminal causes trouble.
Solution:   Disallow opening a second terminal-popup window. (closes vim/vim#6101,
            closes vim/vim#6103) Avoid defaulting to an invalid line number.
https://github.com/vim/vim/commit/b5383b174b2436b556f76f14badb1c1f55d6d8f6

This is the only applicable hunk.

Diffstat:
Msrc/nvim/ex_docmd.c | 9+++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c @@ -2373,8 +2373,13 @@ int parse_cmd_address(exarg_T *eap, char **errormsg, bool silent) switch (eap->addr_type) { case ADDR_LINES: case ADDR_OTHER: - // default is current line number - eap->line2 = curwin->w_cursor.lnum; + // Default is the cursor line number. Avoid using an invalid + // line number though. + if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) { + eap->line2 = curbuf->b_ml.ml_line_count; + } else { + eap->line2 = curwin->w_cursor.lnum; + } break; case ADDR_WINDOWS: eap->line2 = CURRENT_WIN_NR;