summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt8
-rw-r--r--runtime/doc/usr_31.txt4
-rw-r--r--runtime/ftplugin/ruby.vim70
-rw-r--r--runtime/syntax/cdrtoc.vim537
-rw-r--r--runtime/syntax/django.vim8
-rw-r--r--src/arabic.h2
-rw-r--r--src/gui_gtk.c11
7 files changed, 606 insertions, 34 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 83bf2e3bb..5f9965445 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.1a. Last change: 2007 May 03
+*eval.txt* For Vim version 7.1b. Last change: 2007 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1684,7 +1684,7 @@ matchlist( {expr}, {pat}[, {start}[, {count}]])
matchstr( {expr}, {pat}[, {start}[, {count}]])
String {count}'th match of {pat} in {expr}
max({list}) Number maximum value of items in {list}
-min({list}) Number minumum value of items in {list}
+min({list}) Number minimum value of items in {list}
mkdir({name} [, {path} [, {prot}]])
Number create directory {name}
mode() String current editing mode
@@ -2511,7 +2511,7 @@ feedkeys({string} [, {mode}]) *feedkeys()*
{string}.
To include special keys into {string}, use double-quotes
and "\..." notation |expr-quote|. For example,
- feedkeys("\<CR>") simulates pressing of the Enter key. But
+ feedkeys("\<CR>") simulates pressing of the <Enter> key. But
feedkeys('\<CR>') pushes 5 characters.
If {mode} is absent, keys are remapped.
{mode} is a String, which can contain these character flags:
@@ -3677,7 +3677,7 @@ max({list}) Return the maximum value of all items in {list}.
An empty |List| results in zero.
*min()*
-min({list}) Return the minumum value of all items in {list}.
+min({list}) Return the minimum value of all items in {list}.
If {list} is not a list or one of the items in {list} cannot
be used as a Number this results in an error.
An empty |List| results in zero.
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index 4a73cde2a..a9b44b010 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt* For Vim version 7.1a. Last change: 2006 Apr 24
+*usr_31.txt* For Vim version 7.1b. Last change: 2007 May 08
VIM USER MANUAL - by Bram Moolenaar
@@ -248,7 +248,7 @@ you can set the 'lines' option to set a different window size: >
You don't want to do this in a terminal, since it's size is fixed (except for
an xterm that supports resizing).
The gvimrc file is searched for in the same locations as the vimrc file.
-Normally it's name is "~/.gvimrc" for Unix and "$VIM/_gvimrc" for MS-Windows.
+Normally its name is "~/.gvimrc" for Unix and "$VIM/_gvimrc" for MS-Windows.
The $MYGVIMRC environment variable is set to it, thus you can use this command
to edit the file, if you have one: >
diff --git a/runtime/ftplugin/ruby.vim b/runtime/ftplugin/ruby.vim
index 630d260c9..694a6fd9c 100644
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -30,28 +30,21 @@ endif
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
- " TODO: improve optional do loops
let b:match_words =
- \ '\%(' .
- \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
- \ '\|' .
- \ '\%(\%(^\|\.\.\.\=\|[{\:\,;([<>~\*/%&^|+-]\|\%(\<[_[\:lower\:]][_[\:alnum\:]]*\)\@<![!=?]\)\s*\)\@<=\%(if\|unless\|while\|until\)\>' .
- \ '\)' .
+ \ '\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|def\|begin\)\>=\@!' .
\ ':' .
- \ '\%(' .
- \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
- \ '\|' .
- \ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
- \ '\)' .
+ \ '\<\%(else\|elsif\|ensure\|when\|rescue\|break\|redo\|next\|retry\)\>' .
\ ':' .
- \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
+ \ '\<end\>' .
\ ',{:},\[:\],(:)'
let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
- \ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Interpolation\\|" .
- \ "NoInterpolation\\|Escape\\|Comment\\|Documentation\\)\\>'"
-
+ \ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
+ \ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
+ \ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
+ \ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
+ \ "InstanceVariable\\|GlobalVariable\\|Symbol\\)\\>'"
endif
setlocal formatoptions-=t formatoptions+=croql
@@ -103,9 +96,26 @@ if has("gui_win32") && !exists("b:browsefilter")
endif
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< kp<"
- \ "| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
- \ "| if exists('&ofu') && has('ruby') | setl ofu< | endif"
- \ "| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
+ \."| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
+ \."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
+ \."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
+
+if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
+
+ noremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b')<CR>
+ noremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','')<CR>
+ noremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b')<CR>
+ noremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','')<CR>
+
+ noremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','b')<CR>
+ noremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','')<CR>
+ noremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','b')<CR>
+ noremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','')<CR>
+
+ let b:undo_ftplugin = b:undo_ftplugin
+ \."| sil! exe 'unmap <buffer> [[' | sil! exe 'unmap <buffer> ]]' | sil! exe 'unmap <buffer> []' | sil! exe 'unmap <buffer> ]['"
+ \."| sil! exe 'unmap <buffer> [m' | sil! exe 'unmap <buffer> ]m' | sil! exe 'unmap <buffer> [M' | sil! exe 'unmap <buffer> ]M'"
+endif
let &cpo = s:cpo_save
unlet s:cpo_save
@@ -155,7 +165,7 @@ function! RubyBalloonexpr()
return ''
endif
silent! let res = substitute(system("ri -f simple -T \"".str.'"'),'\n$','','')
- if res =~ '^Nothing known about' || res =~ '^Bad argument:'
+ if res =~ '^Nothing known about' || res =~ '^Bad argument:' || res =~ '^More than one method'
return ''
endif
return res
@@ -164,6 +174,28 @@ function! RubyBalloonexpr()
endif
endfunction
+function! s:searchsyn(pattern,syn,flags)
+ norm! m'
+ let i = 0
+ let cnt = v:count ? v:count : 1
+ while i < cnt
+ let i = i + 1
+ let line = line('.')
+ let col = col('.')
+ let pos = search(a:pattern,'W'.a:flags)
+ while pos != 0 && s:synname() !~# a:syn
+ let pos = search(a:pattern,'W'.a:flags)
+ endwhile
+ if pos == 0
+ call cursor(line,col)
+ return
+ endif
+ endwhile
+endfunction
+
+function! s:synname()
+ return synIDattr(synID(line('.'),col('.'),0),'name')
+endfunction
"
" Instructions for enabling "matchit" support:
diff --git a/runtime/syntax/cdrtoc.vim b/runtime/syntax/cdrtoc.vim
new file mode 100644
index 000000000..fa752dbfb
--- /dev/null
+++ b/runtime/syntax/cdrtoc.vim
@@ -0,0 +1,537 @@
+" Vim syntax file
+" Language: cdrdao(1) TOC file
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2007-05-10
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword cdrtocTodo
+ \ contained
+ \ TODO
+ \ FIXME
+ \ XXX
+ \ NOTE
+
+syn cluster cdrtocCommentContents
+ \ contains=
+ \ cdrtocTodo,
+ \ @Spell
+
+syn cluster cdrtocHeaderFollowsInitial
+ \ contains=
+ \ cdrtocHeaderCommentInitial,
+ \ cdrtocHeaderCatalog,
+ \ cdrtocHeaderTOCType,
+ \ cdrtocHeaderCDText,
+ \ cdrtocTrack
+
+syn match cdrtocHeaderBegin
+ \ nextgroup=@cdrtocHeaderFollowsInitial
+ \ skipwhite skipempty
+ \ '\%^'
+
+let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>'
+let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>'
+let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>'
+
+function s:def_comment(name, nextgroup)
+ execute 'syn match' a:name
+ \ 'nextgroup=' . a:nextgroup . ',' . a:name
+ \ 'skipwhite skipempty'
+ \ 'contains=@cdrtocCommentContents'
+ \ 'contained'
+ \ "'//.*$'"
+ execute 'hi def link' a:name 'cdrtocComment'
+endfunction
+
+function s:def_keywords(name, nextgroup, keywords)
+ let comment_group = a:name . 'FollowComment'
+ execute 'syn keyword' a:name
+ \ 'nextgroup=' . a:nextgroup . ',' . comment_group
+ \ 'skipwhite skipempty'
+ \ 'contained'
+ \ join(a:keywords)
+
+ call s:def_comment(comment_group, a:nextgroup)
+endfunction
+
+function s:def_keyword(name, nextgroup, keyword)
+ call s:def_keywords(a:name, a:nextgroup, [a:keyword])
+endfunction
+
+" NOTE: Pattern needs to escape any “@”s.
+function s:def_match(name, nextgroup, pattern)
+ let comment_group = a:name . 'FollowComment'
+ execute 'syn match' a:name
+ \ 'nextgroup=' . a:nextgroup . ',' . comment_group
+ \ 'skipwhite skipempty'
+ \ 'contained'
+ \ '@' . a:pattern . '@'
+
+ call s:def_comment(comment_group, a:nextgroup)
+endfunction
+
+function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains)
+ let comment_group = a:name . 'FollowComment'
+ execute 'syn region' a:name
+ \ 'nextgroup=' . a:nextgroup . ',' . comment_group
+ \ 'skipwhite skipempty'
+ \ 'contained'
+ \ 'matchgroup=' . a:matchgroup
+ \ 'contains=' . a:contains
+ \ 'start=@' . a:start . '@'
+ \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "")
+ \ 'end=@' . a:end . '@'
+
+ call s:def_comment(comment_group, a:nextgroup)
+endfunction
+
+call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial')
+
+call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG')
+
+call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"')
+
+call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA'])
+
+call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT')
+
+" TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep
+" things simple (and in agreement with what the manual page says).
+call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{')
+
+call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP')
+
+call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{')
+
+call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>')
+
+call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':')
+
+syn cluster cdrtocHeaderLanguageMapCountryCodeFollow
+ \ contains=
+ \ cdrtocHeaderLanguageMapLanguageNumber,
+ \ cdrtocHeaderLanguageMapEnd
+
+call s:def_match('cdrtocHeaderLanguageMapCountryCode',
+ \ '@cdrtocHeaderLanguageMapCountryCodeFollow',
+ \ s:byte_pattern)
+
+call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName',
+ \ '@cdrtocHeaderLanguageMapCountryCodeFollow',
+ \ 'EN')
+
+call s:def_match('cdrtocHeaderLanguageMapEnd',
+ \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
+ \ '}')
+
+call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE')
+
+call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>')
+
+call s:def_match('cdrtocHeaderLanguageStart',
+ \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
+ \ '{')
+
+syn cluster cdrtocHeaderCDTextData
+ \ contains=
+ \ cdrtocHeaderCDTextDataString,
+ \ cdrtocHeaderCDTextDataBinaryStart
+
+call s:def_keywords('cdrtocHeaderCDTextItem',
+ \ '@cdrtocHeaderCDTextData',
+ \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER',
+ \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1',
+ \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO'])
+
+call s:def_region('cdrtocHeaderCDTextDataString',
+ \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
+ \ '"',
+ \ '\\\\\|\\"',
+ \ '"',
+ \ 'cdrtocHeaderCDTextDataStringDelimiters',
+ \ 'cdrtocHeaderCDTextDataStringSpecialChar')
+
+syn match cdrtocHeaderCDTextDataStringSpecialChar
+ \ contained
+ \ display
+ \ '\\\%(\o\o\o\|["\\]\)'
+
+call s:def_match('cdrtocHeaderCDTextDataBinaryStart',
+ \ 'cdrtocHeaderCDTextDataBinaryInteger',
+ \ '{')
+
+call s:def_match('cdrtocHeaderCDTextDataBinaryInteger',
+ \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd',
+ \ s:byte_pattern)
+
+call s:def_match('cdrtocHeaderCDTextDataBinarySeparator',
+ \ 'cdrtocHeaderCDTextDataBinaryInteger',
+ \ ',')
+
+call s:def_match('cdrtocHeaderCDTextDataBinaryEnd',
+ \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
+ \ '}')
+
+call s:def_match('cdrtocHeaderLanguageEnd',
+ \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
+ \ '}')
+
+call s:def_match('cdrtocHeaderCDTextEnd',
+ \ 'cdrtocTrack',
+ \ '}')
+
+syn cluster cdrtocTrackFollow
+ \ contains=
+ \ @cdrtocTrackFlags,
+ \ cdrtocTrackCDText,
+ \ cdrtocTrackPregap,
+ \ @cdrtocTrackContents
+
+call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK')
+
+call s:def_keywords('cdrtocTrackMode',
+ \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow',
+ \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
+ \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
+
+call s:def_keywords('cdrtocTrackSubChannelMode',
+ \ '@cdrtocTrackFollow',
+ \ ['RW', 'RW_RAW'])
+
+syn cluster cdrtocTrackFlags
+ \ contains=
+ \ cdrtocTrackFlagNo,
+ \ cdrtocTrackFlagCopy,
+ \ cdrtocTrackFlagPreEmphasis,
+ \ cdrtocTrackFlag
+
+call s:def_keyword('cdrtocTrackFlagNo',
+ \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis',
+ \ 'NO')
+
+call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY')
+
+call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS')
+
+call s:def_keywords('cdrtocTrackFlag',
+ \ '@cdrtocTrackFollow',
+ \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO'])
+
+call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC')
+
+call s:def_match('cdrtocTrackISRC',
+ \ '@cdrtocTrackFollow',
+ \ '"[[:upper:][:digit:]]\{5}\d\{7}"')
+
+call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT')
+
+call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{')
+
+call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE')
+
+call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>')
+
+call s:def_match('cdrtocTrackCDTextLanguageStart',
+ \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
+ \ '{')
+
+syn cluster cdrtocTrackCDTextData
+ \ contains=
+ \ cdrtocTrackCDTextDataString,
+ \ cdrtocTrackCDTextDataBinaryStart
+
+call s:def_keywords('cdrtocTrackCDTextItem',
+ \ '@cdrtocTrackCDTextData',
+ \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER',
+ \ 'MESSAGE', 'ISRC'])
+
+call s:def_region('cdrtocTrackCDTextDataString',
+ \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
+ \ '"',
+ \ '\\\\\|\\"',
+ \ '"',
+ \ 'cdrtocTrackCDTextDataStringDelimiters',
+ \ 'cdrtocTrackCDTextDataStringSpecialChar')
+
+syn match cdrtocTrackCDTextDataStringSpecialChar
+ \ contained
+ \ display
+ \ '\\\%(\o\o\o\|["\\]\)'
+
+call s:def_match('cdrtocTrackCDTextDataBinaryStart',
+ \ 'cdrtocTrackCDTextDataBinaryInteger',
+ \ '{')
+
+call s:def_match('cdrtocTrackCDTextDataBinaryInteger',
+ \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd',
+ \ s:byte_pattern)
+
+call s:def_match('cdrtocTrackCDTextDataBinarySeparator',
+ \ 'cdrtocTrackCDTextDataBinaryInteger',
+ \ ',')
+
+call s:def_match('cdrtocTrackCDTextDataBinaryEnd',
+ \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
+ \ '}')
+
+call s:def_match('cdrtocTrackCDTextLanguageEnd',
+ \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd',
+ \ '}')
+
+call s:def_match('cdrtocTrackCDTextEnd',
+ \ 'cdrtocTrackPregap,@cdrtocTrackContents',
+ \ '}')
+
+call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP')
+
+call s:def_match('cdrtocTrackPregapMMSSFF',
+ \ '@cdrtocTrackContents',
+ \ s:mmssff_pattern)
+
+syn cluster cdrtocTrackContents
+ \ contains=
+ \ cdrtocTrackSubTrack,
+ \ cdrtocTrackMarker
+
+syn cluster cdrtocTrackContentsFollow
+ \ contains=
+ \ @cdrtocTrackContents,
+ \ cdrtocTrackIndex,
+ \ cdrtocTrack
+
+call s:def_keywords('cdrtocTrackSubTrack',
+ \ 'cdrtocTrackSubTrackFileFilename',
+ \ ['FILE', 'AUDIOFILE'])
+
+call s:def_region('cdrtocTrackSubTrackFileFilename',
+ \ 'cdrtocTrackSubTrackFileStart',
+ \ '"',
+ \ '\\\\\|\\"',
+ \ '"',
+ \ 'cdrtocTrackSubTrackFileFilenameDelimiters',
+ \ 'cdrtocTrackSubTrackFileFilenameSpecialChar')
+
+syn match cdrtocTrackSubTrackFileFilenameSpecialChar
+ \ contained
+ \ display
+ \ '\\\%(\o\o\o\|["\\]\)'
+
+call s:def_match('cdrtocTrackSubTrackFileStart',
+ \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_match('cdrtocTrackSubTrackFileLength',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE')
+
+call s:def_region('cdrtocTrackSubTrackDatafileFilename',
+ \ 'cdrtocTrackSubTrackDatafileLength',
+ \ '"',
+ \ '\\\\\|\\"',
+ \ '"',
+ \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters',
+ \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar')
+
+syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
+ \ contained
+ \ display
+ \ '\\\%(\o\o\o\|["\\]\)'
+
+call s:def_match('cdrtocTrackDatafileLength',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE')
+
+call s:def_region('cdrtocTrackSubTrackFifoFilename',
+ \ 'cdrtocTrackSubTrackFifoLength',
+ \ '"',
+ \ '\\\\\|\\"',
+ \ '"',
+ \ 'cdrtocTrackSubTrackFifoFilenameDelimiters',
+ \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar')
+
+syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
+ \ contained
+ \ display
+ \ '\\\%(\o\o\o\|["\\]\)'
+
+call s:def_match('cdrtocTrackFifoLength',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE')
+
+call s:def_match('cdrtocTrackSilenceLength',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_keyword('cdrtocTrackSubTrack',
+ \ 'cdrtocTrackSubTrackZeroDataMode,' .
+ \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' .
+ \ 'cdrtocTrackSubTrackZeroDataLength',
+ \ 'ZERO')
+
+call s:def_keywords('cdrtocTrackSubTrackZeroDataMode',
+ \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength',
+ \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
+ \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
+
+call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode',
+ \ 'cdrtocTrackSubTrackZeroDataLength',
+ \ ['RW', 'RW_RAW'])
+
+call s:def_match('cdrtocTrackSubTrackZeroDataLength',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:length_pattern)
+
+call s:def_keyword('cdrtocTrackMarker',
+ \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF',
+ \ 'START')
+
+call s:def_match('cdrtocTrackMarkerStartMMSSFF',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:mmssff_pattern)
+
+call s:def_keyword('cdrtocTrackMarker',
+ \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF',
+ \ 'END')
+
+call s:def_match('cdrtocTrackMarkerEndMMSSFF',
+ \ '@cdrtocTrackContentsFollow',
+ \ s:mmssff_pattern)
+
+call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX')
+
+call s:def_match('cdrtocTrackIndexMMSSFF',
+ \ 'cdrtocTrackIndex,cdrtocTrack',
+ \ s:mmssff_pattern)
+
+delfunction s:def_region
+delfunction s:def_match
+delfunction s:def_keyword
+delfunction s:def_keywords
+delfunction s:def_comment
+
+syn sync fromstart
+
+hi def link cdrtocKeyword Keyword
+hi def link cdrtocHeaderKeyword cdrtocKeyword
+hi def link cdrtocHeaderCDText cdrtocHeaderKeyword
+hi def link cdrtocDelimiter Delimiter
+hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter
+hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
+hi def link cdrtocNumber Number
+hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber
+hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger
+hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter
+hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator
+hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter
+hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart
+hi def link cdrtocString String
+hi def link cdrtocCDTextDataString cdrtocString
+hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString
+hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter
+hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
+hi def link cdrtocCDTextDataStringSpecialChar SpecialChar
+hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
+hi def link cdrtocCDTextEnd cdrtocDelimiter
+hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd
+hi def link cdrtocType Type
+hi def link cdrtocCDTextItem cdrtocType
+hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem
+hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword
+hi def link cdrtocCDTextStart cdrtocDelimiter
+hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart
+hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword
+hi def link cdrtocHeaderCatalogNumber cdrtocString
+hi def link cdrtocComment Comment
+hi def link cdrtocHeaderCommentInitial cdrtocComment
+hi def link cdrtocHeaderLanguage cdrtocKeyword
+hi def link cdrtocLanguageEnd cdrtocDelimiter
+hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd
+hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter
+hi def link cdrtocIdentifier Identifier
+hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber
+hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier
+hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter
+hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber
+hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter
+hi def link cdrtocLanguageNumber cdrtocNumber
+hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber
+hi def link cdrtocLanguageStart cdrtocDelimiter
+hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart
+hi def link cdrtocHeaderTOCType cdrtocType
+hi def link cdrtocTodo Todo
+hi def link cdrtocTrackKeyword cdrtocKeyword
+hi def link cdrtocTrack cdrtocTrackKeyword
+hi def link cdrtocTrackCDText cdrtocTrackKeyword
+hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
+hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger
+hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator
+hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart
+hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString
+hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
+hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
+hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd
+hi def link cdrtocTrackCDTextItem cdrtocCDTextItem
+hi def link cdrtocTrackCDTextStart cdrtocCDTextStart
+hi def link cdrtocLength cdrtocNumber
+hi def link cdrtocTrackDatafileLength cdrtocLength
+hi def link cdrtocTrackFifoLength cdrtocLength
+hi def link cdrtocPreProc PreProc
+hi def link cdrtocTrackFlag cdrtocPreProc
+hi def link cdrtocTrackFlagCopy cdrtocTrackFlag
+hi def link cdrtocSpecial Special
+hi def link cdrtocTrackFlagNo cdrtocSpecial
+hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag
+hi def link cdrtocTrackISRC cdrtocTrackFlag
+hi def link cdrtocTrackIndex cdrtocTrackKeyword
+hi def link cdrtocMMSSFF cdrtocLength
+hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF
+hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword
+hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd
+hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber
+hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart
+hi def link cdrtocTrackContents StorageClass
+hi def link cdrtocTrackMarker cdrtocTrackContents
+hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF
+hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF
+hi def link cdrtocTrackMode Type
+hi def link cdrtocTrackPregap cdrtocTrackContents
+hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF
+hi def link cdrtocTrackSilenceLength cdrtocLength
+hi def link cdrtocTrackSubChannelMode cdrtocPreProc
+hi def link cdrtocTrackSubTrack cdrtocTrackContents
+hi def link cdrtocFilename cdrtocString
+hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename
+hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename
+hi def link cdrtocSpecialChar SpecialChar
+hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar
+hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength
+hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename
+hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename
+hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar
+hi def link cdrtocTrackSubTrackFifoLength cdrtocLength
+hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename
+hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename
+hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar
+hi def link cdrtocTrackSubTrackFileLength cdrtocLength
+hi def link cdrtocTrackSubTrackFileStart cdrtocLength
+hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength
+hi def link cdrtocTrackSubTrackZeroDataMode Type
+hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc
+hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar
+
+let b:current_syntax = "cdrtoc"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/django.vim b/runtime/syntax/django.vim
index d8250d2ae..3ad48164c 100644
--- a/runtime/syntax/django.vim
+++ b/runtime/syntax/django.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
-" Last Change: 2007 Jan 26
+" Last Change: 2007 Apr 21
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -27,7 +27,7 @@ syn keyword djangoStatement contained parsed regroup reversed spaceless
syn keyword djangoStatement contained endspaceless ssi templatetag openblock
syn keyword djangoStatement contained closeblock openvariable closevariable
syn keyword djangoStatement contained openbrace closebrace opencomment
-syn keyword djangoStatement contained closecomment widthratio with
+syn keyword djangoStatement contained closecomment widthratio url with endwith
syn keyword djangoStatement contained get_current_language trans noop blocktrans
syn keyword djangoStatement contained endblocktrans get_available_languages
syn keyword djangoStatement contained get_current_language_bidi plural
@@ -53,8 +53,8 @@ syn keyword djangoTodo contained TODO FIXME XXX
syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
" Mark illegal characters within tag and variables blocks
-syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!=&#]"
-syn match djangoVarError contained "#}\|{%\|%}\|[<>!=&#%]"
+syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!&#]"
+syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]"
" Django template tag and variable blocks
syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
diff --git a/src/arabic.h b/src/arabic.h
index 7328fd226..3a948d044 100644
--- a/src/arabic.h
+++ b/src/arabic.h
@@ -7,7 +7,7 @@
*/
/*
- * Arabic characters are catagorized into following types:
+ * Arabic characters are categorized into following types:
*
* Isolated - iso-8859-6 form char denoted with a_*
* Initial - unicode form-B start char denoted with a_i_*
diff --git a/src/gui_gtk.c b/src/gui_gtk.c
index f760ad099..da4fc42d4 100644
--- a/src/gui_gtk.c
+++ b/src/gui_gtk.c
@@ -53,6 +53,9 @@
# ifdef bindtextdomain
# undef bindtextdomain
# endif
+# ifdef bindtextdomain_codeset
+# undef bindtextdomain_codeset
+# endif
# if defined(FEAT_GETTEXT) && !defined(ENABLE_NLS)
# define ENABLE_NLS /* so the texts in the dialog boxes are translated */
# endif
@@ -449,8 +452,8 @@ menu_item_new(vimmenu_T *menu, GtkWidget *parent_widget)
*
* gtk_menu_item_new_with_label(menu->dname);
*
- * This is neccessary, since there is no other way in GTK+ 1 to get the
- * not automatically parsed accellerator stuff right.
+ * This is necessary, since there is no other way in GTK+ 1 to get the
+ * not automatically parsed accelerator stuff right.
*/
static void
menu_item_new(vimmenu_T *menu, GtkWidget *parent_widget)
@@ -828,7 +831,7 @@ gui_mch_set_text_area_pos(int x, int y, int w, int h)
#if defined(FEAT_MENU) || defined(PROTO)
/*
- * Enable or disable accelators for the toplevel menus.
+ * Enable or disable accelerators for the toplevel menus.
*/
void
gui_gtk_set_mnemonics(int enable)
@@ -2493,7 +2496,7 @@ find_key_press_event(
return TRUE;
#endif
- /* It would be delightfull if it where possible to do search history
+ /* It would be delightful if it where possible to do search history
* operations on the K_UP and K_DOWN keys here.
*/