comparison src/evalfunc.c @ 34403:940c794b6ba7 v9.1.0126

patch 9.1.0126: Internal error when using upper-case mark in getregion() Commit: https://github.com/vim/vim/commit/421b597470c118871c7081de00dd065e0e000b7e Author: zeertzjq <zeertzjq@outlook.com> Date: Thu Feb 22 19:48:06 2024 +0100 patch 9.1.0126: Internal error when using upper-case mark in getregion() Problem: Internal error when passing mark in another buffer to getregion(). Solution: Don't allow marks in another buffer (zeertzjq) closes: #14076 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Internal error when passing mark in another buffer to getregion()
author Christian Brabandt <cb@256bit.org>
date Thu, 22 Feb 2024 20:00:05 +0100
parents 42f3769e8a59
children 5337abbdf88e
comparison
equal deleted inserted replaced
34402:80f395e142c6 34403:940c794b6ba7
5506 || check_for_string_arg(argvars, 2) == FAIL) 5506 || check_for_string_arg(argvars, 2) == FAIL)
5507 return; 5507 return;
5508 5508
5509 // NOTE: var2fpos() returns static pointer. 5509 // NOTE: var2fpos() returns static pointer.
5510 fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE); 5510 fp = var2fpos(&argvars[0], TRUE, &fnum, FALSE);
5511 if (fp == NULL) 5511 if (fp == NULL || (fnum >= 0 && fnum != curbuf->b_fnum))
5512 return; 5512 return;
5513 p1 = *fp; 5513 p1 = *fp;
5514 5514
5515 fp = var2fpos(&argvars[1], TRUE, &fnum, FALSE); 5515 fp = var2fpos(&argvars[1], TRUE, &fnum, FALSE);
5516 if (fp == NULL) 5516 if (fp == NULL || (fnum >= 0 && fnum != curbuf->b_fnum))
5517 return; 5517 return;
5518 p2 = *fp; 5518 p2 = *fp;
5519 5519
5520 pos1 = tv_get_string(&argvars[0]); 5520 pos1 = tv_get_string(&argvars[0]);
5521 pos2 = tv_get_string(&argvars[1]); 5521 pos2 = tv_get_string(&argvars[1]);