aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-04-13 06:39:30 +0800
committerGitHub <noreply@github.com>2024-04-13 06:39:30 +0800
commit4f3d018d15d299b66a341bed4d677d7ec03ad44f (patch)
treee79ecb738cb33e606495e141054c184a8e1caf6a /src/nvim/ex_cmds.c
parent64aa0f7d0b7034a5158401cf6b987cb82cc60031 (diff)
downloadrneovim-4f3d018d15d299b66a341bed4d677d7ec03ad44f.tar.gz
rneovim-4f3d018d15d299b66a341bed4d677d7ec03ad44f.tar.bz2
rneovim-4f3d018d15d299b66a341bed4d677d7ec03ad44f.zip
vim-patch:9.0.2180: POSIX function name in exarg causes issues (#28308)
Problem: POSIX function name in exarg struct causes issues on OpenVMS Solution: Rename getline member in exarg struct to ea_getline, remove isinf() workaround for VMS There are compilers that do not treat well POSIX functions - like getline - usage in the structs. Older VMS compilers could digest this... but the newer OpenVMS compilers ( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these structs. This could be limited to getline() that is defined via getdelim() and might not affect all POSIX functions in general - but avoiding POSIX function names usage in the structs is a "safe side" practice without compromising the functionality or the code readability. The previous OpenVMS X86 port used a workaround limiting the compiler capabilities using __CRTL_VER_OVERRIDE=80400000 In order to make the OpenVMS port future proof, this pull request proposes a possible solution. closes: vim/vim#13704 https://github.com/vim/vim/commit/6fdb6280821a822768df5689a5d727e37d38306c Co-authored-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Diffstat (limited to 'src/nvim/ex_cmds.c')
-rw-r--r--src/nvim/ex_cmds.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index 6c997b9500..55d94e165a 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -2783,7 +2783,7 @@ void ex_append(exarg_T *eap)
indent = get_indent_lnum(lnum);
}
}
- if (eap->getline == NULL) {
+ if (eap->ea_getline == NULL) {
// No getline() function, use the lines that follow. This ends
// when there is no more.
if (eap->nextcmd == NULL || *eap->nextcmd == NUL) {
@@ -2803,7 +2803,8 @@ void ex_append(exarg_T *eap)
// Set State to avoid the cursor shape to be set to MODE_INSERT
// state when getline() returns.
State = MODE_CMDLINE;
- theline = eap->getline(eap->cstack->cs_looplevel > 0 ? -1 : NUL, eap->cookie, indent, true);
+ theline = eap->ea_getline(eap->cstack->cs_looplevel > 0 ? -1 : NUL,
+ eap->cookie, indent, true);
State = save_State;
}
lines_left = Rows - 1;