diff --git a/7.4.003 b/7.4.003 new file mode 100644 index 0000000..9aad3c8 --- /dev/null +++ b/7.4.003 @@ -0,0 +1,100 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.003 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.003 +Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) +Solution: Refresh stale pointer. (James McCoy) +Files: src/regexp_nfa.c + + +*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200 +--- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200 +*************** +*** 4120,4126 **** + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZOPEN) + { + subidx = state->c - NFA_ZOPEN; + sub = &subs->synt; +--- 4120,4126 ---- + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) + { + subidx = state->c - NFA_ZOPEN; + sub = &subs->synt; +*************** +*** 4189,4194 **** +--- 4189,4201 ---- + } + + subs = addstate(l, state->out, subs, pim, off); ++ /* "subs" may have changed, need to set "sub" again */ ++ #ifdef FEAT_SYN_HL ++ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) ++ sub = &subs->synt; ++ else ++ #endif ++ sub = &subs->norm; + + if (save_in_use == -1) + { +*************** +*** 4237,4243 **** + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZCLOSE) + { + subidx = state->c - NFA_ZCLOSE; + sub = &subs->synt; +--- 4244,4250 ---- + sub = &subs->norm; + } + #ifdef FEAT_SYN_HL +! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) + { + subidx = state->c - NFA_ZCLOSE; + sub = &subs->synt; +*************** +*** 4281,4286 **** +--- 4288,4300 ---- + } + + subs = addstate(l, state->out, subs, pim, off); ++ /* "subs" may have changed, need to set "sub" again */ ++ #ifdef FEAT_SYN_HL ++ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) ++ sub = &subs->synt; ++ else ++ #endif ++ sub = &subs->norm; + + if (REG_MULTI) + sub->list.multi[subidx].end = save_lpos; +*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200 +--- src/version.c 2013-08-14 14:03:51.000000000 +0200 +*************** +*** 729,730 **** +--- 729,732 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 3, + /**/ + +-- +Where do you want to crash today? + + /// 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 /// diff --git a/README.patches b/README.patches index 28708ac..65b6301 100644 --- a/README.patches +++ b/README.patches @@ -26,3 +26,4 @@ Individual patches for Vim 7.4: SIZE NAME FIXES 13179 7.4.001 'ic' doesn't work for patterns such as [a-z] 2522 7.4.002 pattern with two alternative look-behind matches doesn't match + 2680 7.4.003 memory access error in Ruby syntax highlighting diff --git a/vim.spec b/vim.spec index 1a48183..60dc8a8 100644 --- a/vim.spec +++ b/vim.spec @@ -1,3 +1,4 @@ +%define patchlevel 3 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 %endif @@ -14,7 +15,6 @@ %define baseversion 7.4 %define vimdir vim74 -%define patchlevel 2 Summary: The VIM editor URL: http://www.vim.org/ @@ -49,6 +49,7 @@ BuildRequires: hunspell-devel # for i in `seq 1 14`; do printf "Patch%03d: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.%03d\n" $i $i; done Patch0001: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.001 Patch0002: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.002 +Patch0003: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.003 Patch3000: vim-7.4-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -196,7 +197,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk # for i in `seq 1 14`; do printf "%%patch%03d -p0 \n" $i; done %patch001 -p0 %patch002 -p0 - +%patch003 -p0 # install spell files %if %{withvimspell} @@ -696,6 +697,9 @@ rm -rf %{buildroot} %{_datadir}/icons/hicolor/*/apps/* %changelog +* Wed Aug 21 2013 Karsten Hopp 7.4.3-1 +- patchlevel 3, memory access error in Ruby syntax highlighting + * Wed Aug 21 2013 Karsten Hopp 7.4.2-1 - patchlevel 2, pattern with two alternative look-behind matches doesn't match