To: "Christian J. Robinson" Cc: Vim Developers List Subject: patch 5.4.43 (was: (Oops.) Problem with Patch 5.4.37 ??) In-Reply-To: Fcc: outbox From: Bram Moolenaar ------------ Christian J. Robinson wrote: > With this patch applied, I get the following errors when I exit vim: > > viminfo: Illegal starting char in line: ^Ido^@ > viminfo: Illegal starting char in line: ^Itouch $i^@ Sorry, my fault. > The interesting thing is, when vim first set this in the .viminfo file, it > didn't complain. It was only after I'd started vim again then exited that > it complained. It only happens when skipping over the lines to find the file marks. This means the lines aren't actually inspected, and the long lines are not ingored as they should. Patch 5.4.43 (depends on 5.4.37) Problem: Mixing long lines with multiple lines in a register causes errors when writing the viminfo file. (Robinson) Solution: When reading the viminfo file to skip register contents, skip lines that start with "<". Files: src/ops.c *** ../vim-5.4.42/src/ops.c Fri Aug 20 11:21:13 1999 --- src/ops.c Sat Aug 21 21:41:51 1999 *************** *** 3938,3944 **** else y_current->y_type = MLINE; } ! while (!(eof = vim_fgets(line, LSIZE, fp)) && line[0] == TAB) { if (do_it) { --- 3938,3945 ---- else y_current->y_type = MLINE; } ! while (!(eof = vim_fgets(line, LSIZE, fp)) ! && (line[0] == TAB || line[0] == '<')) { if (do_it) { *** ../vim-5.4.42/src/version.h Sat Aug 21 21:50:41 1999 --- src/version.h Sat Aug 21 21:50:24 1999 *************** *** 19,26 **** #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 42 ! #define VIM_VERSION_PATCHLEVEL_STR "42" /* * VIM_VERSION_NODOT is used for the runtime directory name. --- 19,26 ---- #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 43 ! #define VIM_VERSION_PATCHLEVEL_STR "43" /* * VIM_VERSION_NODOT is used for the runtime directory name. *************** *** 30,35 **** */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.42" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.42 (1999 Aug 21)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.42 (1999 Aug 21, compiled " --- 30,35 ---- */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.43" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.43 (1999 Aug 21)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.43 (1999 Aug 21, compiled " -- hundred-and-one symptoms of being an internet addict: 180. You maintain more than six e-mail addresses. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /