diff --git a/.gitignore b/.gitignore
index 65aaf53..9bf4988 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,6 @@
 /vim-7.4-1835.tar.bz2
 /vim-7.4-1842.tar.bz2
 /vim-7.4-1868.tar.bz2
+/vim-7.4-1988.tar.bz2
+/vim-7.4-1989.tar.bz2
+/vim-7.4-2330.tar.bz2
diff --git a/sources b/sources
index 93574c5..720954a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a8f4c1638f45ab87c3b31a13d833b3c3  vim-7.4-1868.tar.bz2
+8d8a7d2afd684de7e908554606ac5b44  vim-7.4-2330.tar.bz2
diff --git a/vim-6.2-specsyntax.patch b/vim-6.2-specsyntax.patch
deleted file mode 100644
index 334d8a1..0000000
--- a/vim-6.2-specsyntax.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- vim62d/runtime/syntax/spec.vim.highlite	2003-05-13 14:48:55.000000000 +0200
-+++ vim62d/runtime/syntax/spec.vim	2003-05-13 14:52:51.000000000 +0200
-@@ -38,7 +38,7 @@
- syn match specManpageFile '[a-zA-Z]\.1'
- 
- "Day, Month and most used license acronyms
--syn keyword specLicense contained GPL LGPL BSD MIT GNU
-+syn keyword specLicense contained GPL LGPL BSD MIT GNU distributable
- syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun
- syn keyword specMonth   contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec
- syn keyword specMonth   contained January February March April May June July August September October November December
-@@ -61,9 +61,9 @@
- 
- "specComands
- syn match   specConfigure  contained '\./configure'
--syn match   specTarCommand contained '\<tar\s\+[cxvpzIf]\{,5}\s*'
-+syn match   specTarCommand contained '\<tar\s\+[cxvpzIjf]\{,5}\s*'
- syn keyword specCommandSpecial contained root
--syn keyword specCommand		contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch
-+syn keyword specCommand		contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch bzip2 bunzip2 gunzip
- syn cluster specCommands contains=specCommand,specTarCommand,specConfigure,specCommandSpecial
- 
- "frequently used rpm env vars
-@@ -105,7 +105,7 @@
- "%% PreAmble Section %%
- "Copyright and Serial were deprecated by License and Epoch
- syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
--syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
-+syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\|ExcludeOS\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
- 
- "%% Description Section %%
- syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
diff --git a/vim-7.4-checkhl.patch b/vim-7.4-checkhl.patch
index cccbdbb..f7fbf90 100644
--- a/vim-7.4-checkhl.patch
+++ b/vim-7.4-checkhl.patch
@@ -1,11 +1,11 @@
 diff -up vim74/runtime/syntax/spec.vim.kh1 vim74/runtime/syntax/spec.vim
---- vim74/runtime/syntax/spec.vim.kh1	2015-11-04 11:37:16.483417787 +0100
-+++ vim74/runtime/syntax/spec.vim	2015-11-04 11:37:38.033528045 +0100
+--- vim74/runtime/syntax/spec.vim.kh1	2016-08-04 15:23:25.275955301 +0200
++++ vim74/runtime/syntax/spec.vim	2016-08-04 15:24:56.699417602 +0200
 @@ -114,7 +114,7 @@ syn region specDescriptionArea matchgrou
  syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
  
  "%% Scripts Section %%
--syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
+-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
 +syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
  
  "%% Changelog Section %%
diff --git a/vim-7.4-releasestring-1318991.patch b/vim-7.4-releasestring-1318991.patch
index da3a8c1..291b957 100644
--- a/vim-7.4-releasestring-1318991.patch
+++ b/vim-7.4-releasestring-1318991.patch
@@ -1,10 +1,10 @@
 diff -up vim74/runtime/ftplugin/spec.vim.1318991 vim74/runtime/ftplugin/spec.vim
---- vim74/runtime/ftplugin/spec.vim.1318991	2016-04-26 13:01:33.781838194 +0200
-+++ vim74/runtime/ftplugin/spec.vim	2016-04-26 13:02:41.958130012 +0200
-@@ -40,8 +40,8 @@ else:
-         headers = spec.packages[0].header
-         version = headers['Version']
-         release = ".".join(headers['Release'].split(".")[:-1])
+--- vim74/runtime/ftplugin/spec.vim.1318991	2016-08-04 15:29:42.423862424 +0200
++++ vim74/runtime/ftplugin/spec.vim	2016-08-04 15:31:08.797299188 +0200
+@@ -41,8 +41,8 @@ else:
+         headers = spec.sourceHeader
+         version = headers["Version"]
+         release = headers["Release"]
 -        vim.command("let ver = " + version)
 -        vim.command("let rel = " + release)
 +        vim.command("let ver = '" + version + "'")
diff --git a/vim-7.4-spec_rfc822.patch b/vim-7.4-spec_rfc822.patch
deleted file mode 100644
index 391aafb..0000000
--- a/vim-7.4-spec_rfc822.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up vim74/runtime/ftplugin/spec.vim.rfc822 vim74/runtime/ftplugin/spec.vim
---- vim74/runtime/ftplugin/spec.vim.rfc822	2016-04-13 12:31:09.856418963 +0200
-+++ vim74/runtime/ftplugin/spec.vim	2016-04-13 12:32:22.091802791 +0200
-@@ -113,7 +113,10 @@ if !exists("*s:SpecChangelog")
- 			endif
- 		endif
- 		if (chgline != -1)
-+			let tmptime = v:lc_time
-+			language time C
- 			let parsed_format = "* ".strftime(format)." - ".ver."-".rel
-+			execute "language time" tmptime
- 			let release_info = "+ ".name."-".ver."-".rel
- 			let wrong_format = 0
- 			let wrong_release = 0
diff --git a/vim-7.4-specsyntax.patch b/vim-7.4-specsyntax.patch
new file mode 100644
index 0000000..3c028b5
--- /dev/null
+++ b/vim-7.4-specsyntax.patch
@@ -0,0 +1,33 @@
+diff -up vim74/runtime/syntax/spec.vim.highlite vim74/runtime/syntax/spec.vim
+--- vim74/runtime/syntax/spec.vim.highlite	2016-07-04 10:17:45.000000000 +0200
++++ vim74/runtime/syntax/spec.vim	2016-08-04 15:20:26.116049343 +0200
+@@ -38,7 +38,7 @@ syn match specNoNumberHilite 'X11\|X11R6
+ syn match specManpageFile '[a-zA-Z]\.1'
+ 
+ "Day, Month and most used license acronyms
+-syn keyword specLicense contained GPL LGPL BSD MIT GNU
++syn keyword specLicense contained GPL LGPL BSD MIT GNU distributable
+ syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun
+ syn keyword specMonth   contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec
+ syn keyword specMonth   contained January February March April May June July August September October November December
+@@ -61,9 +61,9 @@ syn cluster specListedFiles contains=spe
+ 
+ "specComands
+ syn match   specConfigure  contained '\./configure'
+-syn match   specTarCommand contained '\<tar\s\+[cxvpzIf]\{,5}\s*'
++syn match   specTarCommand contained '\<tar\s\+[cxvpzIjf]\{,5}\s*'
+ syn keyword specCommandSpecial contained root
+-syn keyword specCommand		contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch
++syn keyword specCommand		contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch bzip2 bunzip2 gunzip
+ syn cluster specCommands contains=specCommand,specTarCommand,specConfigure,specCommandSpecial
+ 
+ "frequently used rpm env vars
+@@ -105,7 +105,7 @@ syn case ignore
+ "%% PreAmble Section %%
+ "Copyright and Serial were deprecated by License and Epoch
+ syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
+-syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
++syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExcludeOS\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
+ 
+ "%% Description Section %%
+ syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
diff --git a/vim.spec b/vim.spec
index b85873c..e34daaf 100644
--- a/vim.spec
+++ b/vim.spec
@@ -46,7 +46,7 @@ Source17: ftplugin-spec.vim
 Source18: syntax-spec.vim
 
 Patch2002: vim-7.0-fixkeys.patch
-Patch2003: vim-6.2-specsyntax.patch
+Patch2003: vim-7.4-specsyntax.patch
 %if %{withhunspell}
 Patch2011: vim-7.0-hunspell.patch
 BuildRequires: hunspell-devel
@@ -63,11 +63,11 @@ Patch3010: vim-7.3-manpage-typo-668894-675480.patch
 Patch3011: vim-manpagefixes-948566.patch
 Patch3012: vim-7.4-licensemacro-1151450.patch
 Patch3013: vim-7.4-globalsyntax.patch
-Patch3014: vim-7.4-spec_rfc822.patch
-Patch3015: vim-7.4-releasestring-1318991.patch
+Patch3014: vim-7.4-releasestring-1318991.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: python-devel python3-devel ncurses-devel gettext perl-devel
+BuildRequires: perl-generators
 BuildRequires: perl(ExtUtils::Embed) perl(ExtUtils::ParseXS)
 BuildRequires: libacl-devel gpm-devel autoconf file
 %if %{WITH_SELINUX}
@@ -217,7 +217,6 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
 %patch3012 -p1
 %patch3013 -p1
 %patch3014 -p1
-%patch3015 -p1
 
 %build
 cp -f %{SOURCE6} .
@@ -748,6 +747,18 @@ rm -rf %{buildroot}
 * Wed Sep 07 2016 Karsten Hopp <karsten@redhat.com> 7.4.2342-1
 - patchlevel 2342
 
+* Mon Sep 05 2016 Karsten Hopp <karsten@redhat.com> 7.4.2330-1
+- patchlevel 2330
+
+* Thu Aug 04 2016 Karsten Hopp <karsten@redhat.com> 7.4.1989-2
+- redo patches, some upstream updates broke them
+
+* Tue Jul 05 2016 Karsten Hopp <karsten@redhat.com> 7.4.1989-1
+- patchlevel 1989
+
+* Mon Jul 04 2016 Karsten Hopp <karsten@redhat.com> 7.4.1988-1
+- patchlevel 1988
+
 * Thu Jun 02 2016 Karsten Hopp <karsten@redhat.com> 7.4.1868-1
 - patchlevel 1868