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