From 474b1b43e87c4bd928a8ea94b22c6e71cf2aa32c Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Aug 29 2011 11:45:16 +0000 Subject: - patchlevel 273 --- diff --git a/7.3.273 b/7.3.273 new file mode 100644 index 0000000..e74eb5a --- /dev/null +++ b/7.3.273 @@ -0,0 +1,124 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.273 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.273 +Problem: A BOM in an error file is seen as text. (Aleksey Baibarin) +Solution: Remove the BOM from the text before evaluating. (idea by Christian + Brabandt) +Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro, + src/testdir/test10.in + + +*** ../vim-7.3.272/src/quickfix.c 2011-05-19 17:42:54.000000000 +0200 +--- src/quickfix.c 2011-08-10 12:56:15.000000000 +0200 +*************** +*** 561,566 **** +--- 561,570 ---- + break; + + IObuff[CMDBUFFSIZE - 2] = NUL; /* for very long lines */ ++ #ifdef FEAT_MBYTE ++ remove_bom(IObuff); ++ #endif ++ + if ((efmp = vim_strrchr(IObuff, '\n')) != NULL) + *efmp = NUL; + #ifdef USE_CRNL +*** ../vim-7.3.272/src/mbyte.c 2011-07-27 18:25:40.000000000 +0200 +--- src/mbyte.c 2011-08-10 13:11:56.000000000 +0200 +*************** +*** 838,843 **** +--- 838,864 ---- + } + + /* ++ * Remove all BOM from "s" by moving remaining text. ++ */ ++ void ++ remove_bom(s) ++ char_u *s; ++ { ++ if (enc_utf8) ++ { ++ char_u *p = s; ++ ++ while ((p = vim_strbyte(p, 0xef)) != NULL) ++ { ++ if (p[1] == 0xbb && p[2] == 0xbf) ++ STRMOVE(p, p + 3); ++ else ++ ++p; ++ } ++ } ++ } ++ ++ /* + * Get class of pointer: + * 0 for blank or NUL + * 1 for punctuation +*** ../vim-7.3.272/src/proto/mbyte.pro 2011-07-07 15:08:53.000000000 +0200 +--- src/proto/mbyte.pro 2011-08-10 12:50:44.000000000 +0200 +*************** +*** 2,7 **** +--- 2,8 ---- + int enc_canon_props __ARGS((char_u *name)); + char_u *mb_init __ARGS((void)); + int bomb_size __ARGS((void)); ++ void remove_bom __ARGS((char_u *s)); + int mb_get_class __ARGS((char_u *p)); + int dbcs_class __ARGS((unsigned lead, unsigned trail)); + int latin_char2len __ARGS((int c)); +*** ../vim-7.3.272/src/testdir/test10.in 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test10.in 2011-08-10 13:01:46.000000000 +0200 +*************** +*** 2,7 **** +--- 2,10 ---- + + STARTTEST + :so small.vim ++ :" Also test a BOM is ignored. ++ :so mbyte.vim ++ :set encoding=utf-8 + :/start of errorfile/,/end of errorfile/w! Xerrorfile + :/start of testfile/,/end of testfile/w! Xtestfile + :cf Xerrorfile +*************** +*** 20,26 **** + + start of errorfile + "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set. +! "Xtestfile", line 7 col 19; this is an error + gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c + Xtestfile:13: parse error before `asd' + make: *** [vim] Error 1 +--- 23,29 ---- + + start of errorfile + "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set. +! "Xtestfile", line 7 col 19; this is an error + gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c + Xtestfile:13: parse error before `asd' + make: *** [vim] Error 1 +*** ../vim-7.3.272/src/version.c 2011-08-10 12:38:02.000000000 +0200 +--- src/version.c 2011-08-10 13:14:35.000000000 +0200 +*************** +*** 711,712 **** +--- 711,714 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 273, + /**/ + +-- +Compilation process failed successfully. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///