diff --git a/runtime/autoload/python3complete.vim b/runtime/autoload/python3complete.vim
index b02200b..f0f3aad 100644
--- a/runtime/autoload/python3complete.vim
+++ b/runtime/autoload/python3complete.vim
@@ -1,7 +1,7 @@
 "python3complete.vim - Omni Completion for python
 " Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
 " Version: 0.9
-" Last Updated: 18 Jun 2009
+" Last Updated: 18 Jun 2009 (small fix 2015 Sep 14 from Debian)
 "
 " Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
 "
@@ -359,6 +359,7 @@
     def __init__(self):
         self.top = Scope('global',0)
         self.scope = self.top
+        self.parserline = 0
 
     def _parsedotname(self,pre=None):
         #returns (dottedname, nexttoken)
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index fe2ef76..6197171 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.4.  Last change: 2015 Jul 28
+*cmdline.txt*   For Vim version 7.4.  Last change: 2015 Sep 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -818,12 +818,12 @@
 		   (for FileType, Syntax and SpellFileMissing events).
 	<sfile>    When executing a ":source" command, is replaced with the
 		   file name of the sourced file.  *E498*
-		   When executing a function, is replaced with
-		   "function {function-name}"; function call nesting is
-		   indicated like this:
-		   "function {function-name1}..{function-name2}".  Note that
-		   filename-modifiers are useless when <sfile> is used inside
-		   a function.
+		   When executing a function, is replaced with:
+		   "function {function-name}[{lnum}]"
+		   function call nesting is indicated like this:
+		   "function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
+		   Note that filename-modifiers are useless when <sfile> is
+		   used inside a function.
 	<slnum>	   When executing a ":source" command, is replaced with the
 	           line number.  *E842*
 		   When executing a function it's the line number relative to
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 84811c0..6e7039c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Sep 06
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Sep 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -6122,6 +6122,9 @@
 
 		{col} is 1 for the leftmost column, {lnum} is 1 for the first
 		line.  'synmaxcol' applies, in a longer line zero is returned.
+		Note that when the position is after the last character,
+		that's where the cursor can be in Insert mode, synID() returns
+		zero.
 
 		When {trans} is non-zero, transparent items are reduced to the
 		item that they reveal.	This is useful when wanting to know
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 6fd08b8..787d611 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.4.  Last change: 2015 Sep 01
+*insert.txt*    For Vim version 7.4.  Last change: 2015 Sep 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -152,7 +152,7 @@
 	CTRL-R a		results in "ac".
 	CTRL-R CTRL-R a		results in "ab^Hc".
 <		Options 'textwidth', 'formatoptions', etc. still apply.  If
-		you also want to avoid these, use "<C-R><C-O>r", see below.
+		you also want to avoid these, use CTRL-R CTRL-O, see below.
 		The '.' register (last inserted text) is still inserted as
 		typed.  {not in Vi}
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 48793a9..3cb667d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2015 Aug 25
+*options.txt*	For Vim version 7.4.  Last change: 2015 Sep 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -796,7 +796,8 @@
 	line.
 	When 'smartindent' or 'cindent' is on the indent is changed in
 	a different way.
-	The 'autoindent' option is reset when the 'paste' option is set.
+	The 'autoindent' option is reset when the 'paste' option is set and
+	restored when 'paste' is reset.
 	{small difference from Vi: After the indent is deleted when typing
 	<Esc> or <CR>, the cursor position when moving up or down is after the
 	deleted indent; Vi puts the cursor somewhere in the deleted indent}.
@@ -2835,6 +2836,8 @@
 	<Tab>.  Spaces are used in indents with the '>' and '<' commands and
 	when 'autoindent' is on.  To insert a real tab when 'expandtab' is
 	on, use CTRL-V<Tab>.  See also |:retab| and |ins-expandtab|.
+	This option is reset when the 'paste' option is set and restored when
+	the 'paste' option is reset.
 	NOTE: This option is reset when 'compatible' is set.
 
 					*'exrc'* *'ex'* *'noexrc'* *'noex'*
@@ -5412,19 +5415,21 @@
 	When the 'paste' option is switched on (also when it was already on):
 		- mapping in Insert mode and Command-line mode is disabled
 		- abbreviations are disabled
-		- 'textwidth' is set to 0
-		- 'wrapmargin' is set to 0
 		- 'autoindent' is reset
-		- 'smartindent' is reset
-		- 'softtabstop' is set to 0
+		- 'expandtab' is reset
+		- 'formatoptions' is used like it is empty
 		- 'revins' is reset
 		- 'ruler' is reset
 		- 'showmatch' is reset
-		- 'formatoptions' is used like it is empty
+		- 'smartindent' is reset
+		- 'smarttab' is reset
+		- 'softtabstop' is set to 0
+		- 'textwidth' is set to 0
+		- 'wrapmargin' is set to 0
 	These options keep their value, but their effect is disabled:
-		- 'lisp'
-		- 'indentexpr'
 		- 'cindent'
+		- 'indentexpr'
+		- 'lisp'
 	NOTE: When you start editing another file while the 'paste' option is
 	on, settings from the modelines or autocommands may change the
 	settings again, causing trouble when pasting text.  You might want to
@@ -5857,7 +5862,9 @@
 	Inserting characters in Insert mode will work backwards.  See "typing
 	backwards" |ins-reverse|.  This option can be toggled with the CTRL-_
 	command in Insert mode, when 'allowrevins' is set.
-	NOTE: This option is reset when 'compatible' or 'paste' is set.
+	NOTE: This option is reset when 'compatible' is set.
+	This option is reset when 'paste' is set and restored when 'paste' is
+	reset.
 
 				 *'rightleft'* *'rl'* *'norightleft'* *'norl'*
 'rightleft' 'rl'	boolean	(default off)
@@ -5913,7 +5920,8 @@
 	separated with a dash.
 	For an empty line "0-1" is shown.
 	For an empty buffer the line number will also be zero: "0,0-1".
-	This option is reset when the 'paste' option is set.
+	This option is reset when 'paste' is set and restored when 'paste' is
+	reset.
 	If you don't want to see the ruler all the time but want to know where
 	you are, use "g CTRL-G" |g_CTRL-G|.
 	NOTE: This option is reset when 'compatible' is set.
@@ -6552,7 +6560,9 @@
 	jump is only done if the match can be seen on the screen.  The time to
 	show the match can be set with 'matchtime'.
 	A Beep is given if there is no match (no matter if the match can be
-	seen or not).  This option is reset when the 'paste' option is set.
+	seen or not).
+	This option is reset when 'paste' is set and restored when 'paste' is
+	reset.
 	When the 'm' flag is not included in 'cpoptions', typing a character
 	will immediately move the cursor back to where it belongs.
 	See the "sm" field in 'guicursor' for setting the cursor shape and
@@ -6661,8 +6671,9 @@
 	mapping: ":inoremap # X^H#", where ^H is entered with CTRL-V CTRL-H.
 	When using the ">>" command, lines starting with '#' are not shifted
 	right.
-	NOTE: 'smartindent' is reset when 'compatible' is set.  When 'paste'
-	is set smart indenting is disabled.
+	NOTE: 'smartindent' is reset when 'compatible' is set.
+	This option is reset when 'paste' is set and restored when 'paste' is
+	reset.
 
 				 *'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
 'smarttab' 'sta'	boolean	(default off)
@@ -6678,6 +6689,8 @@
 	What gets inserted (a <Tab> or spaces) depends on the 'expandtab'
 	option.  Also see |ins-expandtab|.  When 'expandtab' is not set, the
 	number of spaces is minimized by using <Tab>s.
+	This option is reset when 'paste' is set and restored when 'paste' is
+	reset.
 	NOTE: This option is reset when 'compatible' is set.
 
 					*'softtabstop'* *'sts'*
@@ -6692,7 +6705,8 @@
 	commands like "x" still work on the actual characters.
 	When 'sts' is zero, this feature is off.
 	When 'sts' is negative, the value of 'shiftwidth' is used.
-	'softtabstop' is set to 0 when the 'paste' option is set.
+	'softtabstop' is set to 0 when the 'paste' option is set and restored
+	when 'paste' is reset.
 	See also |ins-expandtab|.  When 'expandtab' is not set, the number of
 	spaces is minimized by using <Tab>s.
 	The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
@@ -7451,8 +7465,10 @@
 			{not in Vi}
 	Maximum width of text that is being inserted.  A longer line will be
 	broken after white space to get this width.  A zero value disables
-	this.  'textwidth' is set to 0 when the 'paste' option is set.  When
-	'textwidth' is zero, 'wrapmargin' may be used.  See also
+	this.
+	'textwidth' is set to 0 when the 'paste' option is set and restored
+	when 'paste' is reset.
+	When 'textwidth' is zero, 'wrapmargin' may be used.  See also
 	'formatoptions' and |ins-textwidth|.
 	When 'formatexpr' is set it will be used to break the line.
 	NOTE: This option is set to 0 when 'compatible' is set.
@@ -8474,6 +8490,8 @@
 	Options that add a margin, such as 'number' and 'foldcolumn', cause
 	the text width to be further reduced.  This is Vi compatible.
 	When 'textwidth' is non-zero, this option is not used.
+	This option is set to 0 when 'paste' is set and restored when 'paste'
+	is reset.
 	See also 'formatoptions' and |ins-textwidth|.  {Vi: works differently
 	and less usefully}
 
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 84027fe..fe75e59 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Sep 08
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Sep 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -73,8 +73,6 @@
 - this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
   out the \& works.  Seems any column check after \& fails.
 
-A link from the README.md to Contributing.md would be great.
-
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
@@ -93,10 +91,6 @@
 
 Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
 
-Crash when changing the 'tags' option from a remote command.
-(Benjamin Fritz, 2015 Mar 18, stack trace Mar 20)
-Patch to queue commands for clientserver. (James Kolb, 2015 Sep 1)
-
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
 Unexpected delay when using CTRL-O u.  It's not timeoutlen.
@@ -107,6 +101,8 @@
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
+2html update. (Ben Fritz, 2015 Sep 9)
+
 MS-Windows: When editing a file with a leading space, writing it uses the
 wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
 
@@ -130,6 +126,9 @@
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
+The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep
+24): setwinvar(), :diffthis, :diffoff.
+
 The argument for "-S" is not taken literally, the ":so" command expands
 wildcards.  Add a ":nowild" command modifier?  (ZyX, 2015 March 4)
 
@@ -139,8 +138,11 @@
 Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
 Update Aug 14.
 
+Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
+Sep 10)
+
 Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
-Update Sep 7.
+Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8.
 
 Build with Python on Mac does not always use the right library.
 (Kazunobu Kuriyama, 2015 Mar 28)
@@ -209,6 +211,9 @@
 When 'balloonexpr' returns a list the result has a trailing newline.
 Just remove one trailing newline. (lcd, 2014 Oct 17)
 
+When two SIGWINCH arrive very quickly, the second one may be lost.
+(Josh Triplett, 2015 Sep 17)
+
 Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)
 
 Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
@@ -279,6 +284,9 @@
 Patch: On MS-Windows shellescape() may have to triple double quotes.
 (Ingo Karkat, 2015 Jan 16)
 
+Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
+Update 2015 Jul 25 (email).
+
 Redo only remembers the last change.  Could use "{count}g." to redo an older
 change.  How does the user know which change?  At least have a way to list
 them: ":repeats".
@@ -819,9 +827,6 @@
 effects?  (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
 Would also need to do this for spellbadword() and spellsuggest().
 
-Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
-Update 2015 Jul 25 (email).
-
 On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
 64 bits value.  Change all number options to use nropt_T and define it to the
 right type.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 923df6e..4e3e000 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2015 Sep 08
+" Last Change:	2015 Sep 22
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -143,7 +143,7 @@
 au BufNewFile,BufRead *.art			setf art
 
 " AsciiDoc
-au BufNewFile,BufRead *.asciidoc		setf asciidoc
+au BufNewFile,BufRead *.asciidoc,*.adoc		setf asciidoc
 
 " ASN.1
 au BufNewFile,BufRead *.asn,*.asn1		setf asn
@@ -826,7 +826,7 @@
 au BufNewFile,BufRead *.gretl			setf gretl
 
 " Groovy
-au BufNewFile,BufRead *.groovy			setf groovy
+au BufNewFile,BufRead *.gradle,*.groovy		setf groovy
 
 " GNU Server Pages
 au BufNewFile,BufRead *.gsp			setf gsp
diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim
index 7eb963b..8aaf82e 100644
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -2,7 +2,7 @@
 " Header: "{{{
 " Maintainer:	Bram Moolenaar
 " Original Author: Andy Wokula <anwoku@yahoo.de>
-" Last Change:	2015 Jun 12
+" Last Change:	2015 Sep 25
 " Version:	1.0
 " Description:	HTML indent script with cached state for faster indenting on a
 "		range of lines.
@@ -178,13 +178,15 @@
 " 3   "script"
 " 4   "style"
 " 5   comment start
+" 6   conditional comment start
 " -1  closing tag
 " -2  "/pre"
 " -3  "/script"
 " -4  "/style"
 " -5  comment end
+" -6  conditional comment end
 let s:indent_tags = {}
-let s:endtags = [0,0,0,0,0,0]   " long enough for the highest index
+let s:endtags = [0,0,0,0,0,0,0]   " long enough for the highest index
 "}}}
 
 " Add a list of tag names for a pair of <tag> </tag> to "tags".
@@ -257,6 +259,7 @@
 call s:AddBlockTag('script', 3)
 call s:AddBlockTag('style', 4)
 call s:AddBlockTag('<!--', 5, '-->')
+call s:AddBlockTag('<!--[', 6, '![endif]-->')
 "}}}
 
 " Return non-zero when "tagname" is an opening tag, not being a block tag, for
@@ -291,7 +294,7 @@
   let s:nextrel = 0  " relative indent steps for next line [unit &sw]:
   let s:block = 0		" assume starting outside of a block
   let s:countonly = 1	" don't change state
-  call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
+  call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
   let s:countonly = 0
 endfunc "}}}
 
@@ -303,7 +306,7 @@
   let s:nextrel = 0  " relative indent steps for next line [unit &sw]:
 
   let s:block = b:hi_newstate.block
-  let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
+  let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
   if s:block == 3
     let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
   endif
@@ -425,7 +428,7 @@
   " State:
   "	lnum		last indented line == prevnonblank(a:lnum - 1)
   "	block = 0	a:lnum located within special tag: 0:none, 2:<pre>,
-  "			3:<script>, 4:<style>, 5:<!--
+  "			3:<script>, 4:<style>, 5:<!--, 6:<!--[
   "	baseindent	use this indent for line a:lnum as a start - kind of
   "			autoindent (if block==0)
   "	scripttype = ''	type attribute of a script tag (if block==3)
@@ -464,10 +467,13 @@
   " FI
 
   " look back for a blocktag
-  call cursor(a:lnum, 1)
-  let [stopline, stopcol] = searchpos('\c<\zs\/\=\%(pre\>\|script\>\|style\>\)', "bW")
-  if stopline > 0
-    " fugly ... why isn't there searchstr()
+  let stopline2 = v:lnum + 1
+  if has_key(b:hi_indent, 'block') && b:hi_indent.block > 5
+    let [stopline2, stopcol2] = searchpos('<!--', 'bnW')
+  endif
+  let [stopline, stopcol] = searchpos('\c<\zs\/\=\%(pre\>\|script\>\|style\>\)', "bnW")
+  if stopline > 0 && stopline < stopline2
+    " ugly ... why isn't there searchstr()
     let tagline = tolower(getline(stopline))
     let blocktag = matchstr(tagline, '\/\=\%(pre\>\|script\>\|style\>\)', stopcol - 1)
     if blocktag[0] != "/"
@@ -487,23 +493,29 @@
       " blocktag == "/..."
       let swendtag = match(tagline, '^\s*</') >= 0
       if !swendtag
-        let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bW")
+        let [bline, bcol] = searchpos('<'.blocktag[1:].'\>', "bnW")
         call s:CountITags(tolower(getline(bline)[: bcol-2]))
         let state.baseindent = indent(bline) + (s:curind + s:nextrel) * s:ShiftWidth()
         return state
       endif
     endif
   endif
+  if stopline > stopline2
+    let stopline = stopline2
+    let stopcol = stopcol2
+  endif
 
   " else look back for comment
-  call cursor(a:lnum, 1)
-  let [comlnum, comcol, found] = searchpos('\(<!--\)\|-->', 'bpW', stopline)
-  if found == 2
+  let [comlnum, comcol, found] = searchpos('\(<!--\[\)\|\(<!--\)\|-->', 'bpnW', stopline)
+  if found == 2 || found == 3
     " comment opener found, assume a:lnum within comment
-    let state.block = 5
+    let state.block = (found == 3 ? 5 : 6)
     let state.blocklnr = comlnum
     " check preceding tags in the line:
     call s:CountITags(tolower(getline(comlnum)[: comcol-2]))
+    if found == 2
+      let state.baseindent = b:hi_indent.baseindent
+    endif
     let state.blocktagind = indent(comlnum) + (s:curind + s:nextrel) * s:ShiftWidth()
     return state
   endif
@@ -819,6 +831,20 @@
   return indent(prevlnum)
 endfunc "}}}
 
+" Return the indent for conditional comment: <!--[ ![endif]-->
+func! s:Alien6()
+  "{{{
+  let curtext = getline(v:lnum)
+  if curtext =~ '\s*\zs<!\[endif\]-->'
+    " current line starts with end of comment, line up with comment start.
+    let lnum = search('<!--', 'bn')
+    if lnum > 0
+      return indent(lnum)
+    endif
+  endif
+  return b:hi_indent.baseindent + s:ShiftWidth()
+endfunc "}}}
+
 " When the "lnum" line ends in ">" find the line containing the matching "<".
 func! HtmlIndent_FindTagStart(lnum)
   "{{{
diff --git a/runtime/indent/yaml.vim b/runtime/indent/yaml.vim
index 1d03715..95a53b1 100644
--- a/runtime/indent/yaml.vim
+++ b/runtime/indent/yaml.vim
@@ -1,6 +1,7 @@
 " Vim indent file
 " Language:         YAML
 " Maintainer:       Nikolai Pavlov <zyx.vim@gmail.com>
+" Last Change:	    2015 Sep 25
 
 " Only load this indent file when no other was loaded.
 if exists('b:did_indent')
@@ -115,8 +116,13 @@
                     \                                       s:liststartregex))
     elseif line =~# s:mapkeyregex
         " Same for line containing mapping key
-        return indent(s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
-                    \                                       s:mapkeyregex))
+        let prevmapline = s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
+                    \                                           s:mapkeyregex)
+        if getline(prevmapline) =~# '^\s*- '
+            return indent(prevmapline) + 2
+        else
+            return indent(prevmapline)
+        endif
     elseif prevline =~# '^\s*- '
         " - List with
         "   multiline scalar
diff --git a/runtime/spell/br/main.aap b/runtime/spell/br/main.aap
index 75035be..8f6040e 100644
--- a/runtime/spell/br/main.aap
+++ b/runtime/spell/br/main.aap
@@ -25,16 +25,16 @@
 #
 # Fetching the files from OpenOffice.org.
 #
-OODIR = http://extensions.libreoffice.org/extension-center/an-drouizig-breton-spellchecker/releases/0.11/
-:attr {fetch = $OODIR/%file%} dict-br-0.11.oxt
+OODIR = http://extensions.libreoffice.org/extension-center/an-drouizig-breton-spellchecker/releases/0.13/
+:attr {fetch = $OODIR/%file%} difazier-an-drouizig-0_13.oxt
 
 # The files don't depend on the .zip file so that we can delete it.
 # Only download the zip file if the targets don't exist.
 br_FR.aff br_FR.dic: {buildcheck=}
         :assertpkg unzip patch
-        :fetch dict-br-0.11.oxt
-        :sys $UNZIP dict-br-0.11.oxt
-        :delete dict-br-0.11.oxt
+        :fetch difazier-an-drouizig-0_13.oxt
+        :sys $UNZIP difazier-an-drouizig-0_13.oxt
+        :delete difazier-an-drouizig-0_13.oxt
         :copy dictionaries/br_FR.aff br_FR.aff
         :copy dictionaries/br_FR.dic br_FR.dic
         # The br_FR.aff file contains a BOM, remove it.
@@ -65,12 +65,12 @@
 
 check:
         :assertpkg unzip diff
-        :fetch dict-br-0.11.oxt
+        :fetch difazier-an-drouizig-0_13.oxt
         :mkdir tmp
         :cd tmp
         @try:
             @import stat
-            :sys $UNZIP ../dict-br-0.11.oxt
+            :sys $UNZIP ../difazier-an-drouizig-0_13.oxt
             :sys {force} diff ../dictionaries/br_FR.aff br_FR.aff >d
             @if os.stat('d')[stat.ST_SIZE] > 0:
                 :copy br_FR.aff ../br_FR.new.aff
@@ -80,7 +80,7 @@
         @finally:
             :cd ..
             :delete {r}{f}{q} tmp
-            :delete dict-br-0.11.oxt
+            :delete difazier-an-drouizig-0_13.oxt
 
 
 # vim: set sts=4 sw=4 :
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index b0735c6..6387ee8 100644
--- a/runtime/spell/en.ascii.spl
+++ b/runtime/spell/en.ascii.spl
Binary files differ
diff --git a/runtime/spell/en.ascii.sug b/runtime/spell/en.ascii.sug
index cede5c7..4d96714 100644
--- a/runtime/spell/en.ascii.sug
+++ b/runtime/spell/en.ascii.sug
Binary files differ
diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl
index d24b790..eff63b7 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en.latin1.sug b/runtime/spell/en.latin1.sug
index e4800bf..ed9535a 100644
--- a/runtime/spell/en.latin1.sug
+++ b/runtime/spell/en.latin1.sug
Binary files differ
diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl
index 1a39de1..2c5619a 100644
--- a/runtime/spell/en.utf-8.spl
+++ b/runtime/spell/en.utf-8.spl
Binary files differ
diff --git a/runtime/spell/en.utf-8.sug b/runtime/spell/en.utf-8.sug
index 1add0c6..1861124 100644
--- a/runtime/spell/en.utf-8.sug
+++ b/runtime/spell/en.utf-8.sug
Binary files differ
diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim
index 8e54d51..58a7079 100644
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -4,7 +4,7 @@
 " Language:     CMake
 " Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
 " Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
-" Last Change:  2012 Jun 01
+" Last Change:  2015 Sep 25
 " 		(Dominique Pelle added @Spell)
 " Version:      $Revision: 1.10 $
 "
@@ -31,9 +31,9 @@
             \ contained oneline contains=CONTAINED,cmakeTodo
 syn region cmakeEnvironment start=/\$ENV{/ end=/}/
             \ contained oneline contains=CONTAINED,cmakeTodo
-syn region cmakeString start=/"/ end=/"/ 
+syn region cmakeString start=/"/ end=/"/
             \ contains=CONTAINED,cmakeTodo,cmakeOperators
-syn region cmakeArguments start=/(/ end=/)/ 
+syn region cmakeArguments start=/(/ end=/)/
             \ contains=ALLBUT,cmakeArguments,cmakeTodo
 syn keyword cmakeSystemVariables
             \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
@@ -44,11 +44,11 @@
            \ nextgroup=cmakeArguments
 
 " The keywords are generated as:  cmake --help-command-list | tr "\n" " "
-syn keyword cmakeStatement 
+syn keyword cmakeStatement
       \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
             \ nextgroup=cmakeArguments
-syn keyword cmakeTodo 
-            \ TODO FIXME XXX 
+syn keyword cmakeTodo
+            \ TODO FIXME XXX
             \ contained
 
 " Define the default highlighting.
diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index f99153f..6161eb3 100644
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Python
 " Maintainer:	Zvezdan Petkovic <zpetkovic@acm.org>
-" Last Change:	2015 Jul 14
+" Last Change:	2015 Sep 15
 " Credits:	Neil Schemenauer <nas@python.ca>
 "		Dmitry Vasiliev
 "
@@ -70,6 +70,7 @@
 " - 'nonlocal' is a keyword in Python 3 and will be highlighted.
 " - 'print' is a built-in in Python 3 and will be highlighted as
 "   built-in below (use 'from __future__ import print_function' in 2)
+" - async and await were added in Python 3.5 and are soft keywords.
 "
 syn keyword pythonStatement	False, None, True
 syn keyword pythonStatement	as assert break continue del exec global
@@ -80,6 +81,7 @@
 syn keyword pythonOperator	and in is not or
 syn keyword pythonException	except finally raise try
 syn keyword pythonInclude	from import
+syn keyword pythonAsync		async await
 
 " Decorators (new in Python 2.4)
 syn match   pythonDecorator	"@" display nextgroup=pythonFunction skipwhite
@@ -230,6 +232,7 @@
   syn keyword pythonExceptions	FileNotFoundError InterruptedError
   syn keyword pythonExceptions	IsADirectoryError NotADirectoryError
   syn keyword pythonExceptions	PermissionError ProcessLookupError
+  syn keyword pythonExceptions	RecursionError StopAsyncIteration
   syn keyword pythonExceptions	TimeoutError
   " builtin exceptions deprecated/removed in Python 3
   syn keyword pythonExceptions	IOError VMSError WindowsError
@@ -286,6 +289,7 @@
   HiLink pythonOperator		Operator
   HiLink pythonException	Exception
   HiLink pythonInclude		Include
+  HiLink pythonAsync		Statement
   HiLink pythonDecorator	Define
   HiLink pythonFunction		Function
   HiLink pythonComment		Comment
diff --git a/runtime/syntax/screen.vim b/runtime/syntax/screen.vim
index 71b3d3e..d576d29 100644
--- a/runtime/syntax/screen.vim
+++ b/runtime/syntax/screen.vim
@@ -1,7 +1,8 @@
 " Vim syntax file
-" Language:         screen(1) configuration file
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2010-01-03
+" Language:             screen(1) configuration file
+" Maintainer:           Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>
+" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
+" Latest Revision:      2015-09-24
 
 if exists("b:current_syntax")
   finish
@@ -76,12 +77,16 @@
                           \ break
                           \ breaktype
                           \ bufferfile
+                          \ bumpleft
+                          \ bumpright
                           \ c1
                           \ caption
                           \ chacl
                           \ charset
                           \ chdir
+                          \ cjkwidth
                           \ clear
+                          \ collapse
                           \ colon
                           \ command
                           \ compacthist
@@ -104,6 +109,7 @@
                           \ deflogin
                           \ defmode
                           \ defmonitor
+                          \ defmousetrack
                           \ defnonblock
                           \ defobuflimit
                           \ defscrollback
@@ -113,6 +119,7 @@
                           \ defutf8
                           \ defwrap
                           \ defwritelock
+                          \ defzombie
                           \ detach
                           \ digraph
                           \ dinfo
@@ -126,7 +133,9 @@
                           \ fit
                           \ flow
                           \ focus
+                          \ focusminsize
                           \ gr
+                          \ group
                           \ hardcopy
                           \ hardcopy_append
                           \ hardcopydir
@@ -155,6 +164,7 @@
                           \ maxwin
                           \ meta
                           \ monitor
+                          \ mousetrack
                           \ msgminwait
                           \ msgwait
                           \ multiuser
@@ -182,6 +192,7 @@
                           \ register
                           \ remove
                           \ removebuf
+                          \ rendition
                           \ reset
                           \ resize
                           \ screen
@@ -197,6 +208,7 @@
                           \ sleep
                           \ slowpaste
                           \ sorendition
+                          \ sort
                           \ source
                           \ split
                           \ startup_message
@@ -210,6 +222,7 @@
                           \ time
                           \ title
                           \ umask
+                          \ unbindall
                           \ unsetenv
                           \ utf8
                           \ vbell
@@ -228,6 +241,7 @@
                           \ xon
                           \ zmodem
                           \ zombie
+                          \ zombie_timeout
 
 hi def link screenEscape    Special
 hi def link screenComment   Comment
