Mercurial > vim
changeset 27675:30cb026ec968 v8.2.4363
patch 8.2.4363: MS-Windows: running out of memory for a very long line
Commit: https://github.com/vim/vim/commit/8e38555ece7d3fe1edc6681ec70fe5586a524862
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 12 21:16:21 2022 +0000
patch 8.2.4363: MS-Windows: running out of memory for a very long line
Problem: MS-Windows: running out of memory for a very long line.
Solution: Use a 32 bit value for MAXCOL also when ints are 64 bits.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 12 Feb 2022 22:30:02 +0100 |
parents | e0e00e365288 |
children | b4daa7e68abd |
files | src/version.c src/vim.h |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4363, +/**/ 4362, /**/ 4361,
--- a/src/vim.h +++ b/src/vim.h @@ -1739,7 +1739,9 @@ typedef unsigned short disptick_T; // di # define MAXCOL (0x3fffffffL) // maximum column number, 30 bits # define MAXLNUM (0x3fffffffL) // maximum (invalid) line number #else -# define MAXCOL INT_MAX // maximum column number + // MAXCOL used to be INT_MAX, but with 64 bit ints that results in running + // out of memory when trying to allocate a very long line. +# define MAXCOL 0x7fffffffL // maximum column number # define MAXLNUM LONG_MAX // maximum (invalid) line number #endif