Mercurial > vim
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]); |