From d37c09370e06f84c73e9e0c4750da5ef1c3d4bf9 Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Thu, 5 Apr 2012 02:21:04 +0200 Subject: [PATCH] vimrc: Fix compatibility for older Vim versions. Works fine with Vim 6.4. --- vimrc | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/vimrc b/vimrc index 47e46c1..7bf163f 100644 --- a/vimrc +++ b/vimrc @@ -517,18 +517,23 @@ if has('syntax') if exists('*matchadd') " Highlight some important keywords in all documents. - for l:x in ['TODO', 'XXX', 'FIXME', - \ 'CHANGED', 'REMOVED', 'DELETED'] - call matchadd('Todo', l:x) - endfor + let l:todos = ['TODO', 'XXX', 'FIXME', + \ 'CHANGED', 'REMOVED', 'DELETED'] + " Compatibility fix for Vim 6.4 which can't handle for in function + " (without function it's ignored). + execute ' for l:x in l:todos' + \ '| call matchadd("Todo", l:x)' + \ '| endfor' " Highlight unicode whitespace which is no normal whitespace (0x20). - for l:x in ['00a0', '1680', '180e', '2000', '2001', '2002', - \ '2003', '2004', '2005', '2006', '2007', '2008', - \ '2009', '200a', '200b', '200c', '200d', '202f', - \ '205f', '2060', '3000', 'feff'] - call matchadd('Error', '\%u' . l:x) - endfor + let l:spaces = ['00a0', '1680', '180e', '2000', '2001', '2002', + \ '2003', '2004', '2005', '2006', '2007', '2008', + \ '2009', '200a', '200b', '200c', '200d', '202f', + \ '205f', '2060', '3000', 'feff'] + " Compatibility fix for Vim 6.4. + execute ' for l:x in l:spaces' + \ '| call matchadd("Error", "\%u" . l:x)' + \ '| endfor' endif endfunction " Enable highlights for the current and all new windows. Thanks to bairui in -- 2.44.1