diff --git a/READMEdir/README_mac.txt b/READMEdir/README_mac.txt
index 82279ae..cdef1a2 100644
--- a/READMEdir/README_mac.txt
+++ b/READMEdir/README_mac.txt
@@ -4,5 +4,25 @@
 See "README.txt" for general information about Vim.
 
 
-Sorry, this text still needs to be written!
+To build from sources, like on Unix
 
+1. Get the build tools: "clang" and "make".  These can be installed with the
+   "CommandLineTools" package.   If you don't have one, do
+	xcode-select --install
+   Just like for any software development with OS X.
+
+2. Get the source code.  Best is to use git (which you need to install first),
+   see http://www.vim.org/git.php
+   Or you can download and unpack the Unix tar archive, see
+   http://www.vim.org/download.php
+
+3. Go to the top directory of the source tree, do
+	make
+	sudo make install
+  A newly built vim will be installed under "/usr/local".
+
+
+If you can't manage to make this work, there is a fallback using Homebrew:
+
+1. Install Homebrew from http://brew.sh/
+2. Install latest Vim with:  brew install vim
diff --git a/runtime/autoload/zip.vim b/runtime/autoload/zip.vim
index 687500e..824af01 100644
--- a/runtime/autoload/zip.vim
+++ b/runtime/autoload/zip.vim
@@ -1,7 +1,7 @@
 " zip.vim: Handles browsing zipfiles
 "            AUTOLOAD PORTION
-" Date:		Jul 02, 2013
-" Version:	27
+" Date:		Sep 13, 2016
+" Version:	28
 " Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
 " License:	Vim License  (see vim's :help license)
 " Copyright:    Copyright (C) 2005-2013 Charles E. Campbell {{{1
@@ -20,10 +20,10 @@
 if &cp || exists("g:loaded_zip")
  finish
 endif
-let g:loaded_zip= "v27"
+let g:loaded_zip= "v28"
 if v:version < 702
  echohl WarningMsg
- echo "***warning*** this version of zip needs vim 7.2"
+ echo "***warning*** this version of zip needs vim 7.2 or later"
  echohl Normal
  finish
 endif
@@ -53,6 +53,9 @@
 if !exists("g:zip_unzipcmd")
  let g:zip_unzipcmd= "unzip"
 endif
+if !exists("g:zip_extractcmd")
+ let g:zip_extractcmd= g:zip_unzipcmd
+endif
 
 " ----------------
 "  Functions: {{{1
@@ -136,8 +139,10 @@
    return
   endif
 
+  " Maps associated with zip plugin
   setlocal noma nomod ro
-  noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
+  noremap <silent> <buffer> <cr>	:call <SID>ZipBrowseSelect()<cr>
+  noremap <silent> <buffer> x		:call zip#Extract()<cr>
 
   let &report= repkeep
 "  call Dret("zip#Browse")
@@ -204,6 +209,15 @@
   endif
 "  call Decho("zipfile<".zipfile.">")
 "  call Decho("fname  <".fname.">")
+  " sanity check
+  if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','',''))
+   redraw!
+   echohl Error | echo "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program" | echohl None
+"   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   let &report= repkeep
+"   call Dret("zip#Write")
+   return
+  endif
 
   " the following code does much the same thing as
   "   exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
@@ -236,9 +250,9 @@
   set report=10
 
   " sanity checks
-  if !executable(g:zip_zipcmd)
+  if !executable(substitute(g:zip_zipcmd,'\s\+.*$','',''))
    redraw!
-   echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
+   echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program" | echohl None
 "   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
    let &report= repkeep
 "   call Dret("zip#Write")
@@ -345,6 +359,48 @@
 endfun
 
 " ---------------------------------------------------------------------
+" zip#Extract: extract a file from a zip archive {{{2
+fun! zip#Extract()
+"  call Dfunc("zip#Extract()")
+
+  let repkeep= &report
+  set report=10
+  let fname= getline(".")
+"  call Decho("fname<".fname.">")
+
+  " sanity check
+  if fname =~ '^"'
+   let &report= repkeep
+"   call Dret("zip#Extract")
+   return
+  endif
+  if fname =~ '/$'
+   redraw!
+   echohl Error | echo "***error*** (zip#Extract) Please specify a file, not a directory" | echohl None
+   let &report= repkeep
+"   call Dret("zip#Extract")
+   return
+  endif
+
+  " extract the file mentioned under the cursor
+"  call Decho("system(".g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell).")")
+  call system(g:zip_extractcmd." ".shellescape(b:zipfile)." ".shellescape(shell))
+"  call Decho("zipfile<".b:zipfile.">")
+  if v:shell_error != 0
+   echohl Error | echo "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!" | echohl NONE
+  elseif !filereadable(fname)
+   echohl Error | echo "***error*** attempted to extract ".fname." but it doesn't appear to be present!"
+  else
+   echo "***note*** successfully extracted ".fname
+  endif
+
+  " restore option
+  let &report= repkeep
+
+"  call Dret("zip#Extract")
+endfun
+
+" ---------------------------------------------------------------------
 " s:Escape: {{{2
 fun! s:Escape(fname,isfilt)
 "  call Dfunc("QuoteFileDir(fname<".a:fname."> isfilt=".a:isfilt.")")
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 9f769ef..778c887 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 8.0.  Last change: 2016 Aug 21
+*gui_x11.txt*   For Vim version 8.0.  Last change: 2016 Sep 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -475,7 +475,7 @@
 required GTK+.  For that, say, run the following on the command line to see if
 your pkg-config works with your GTK+ 2: >
 
-    $ pkgconfig --modversion gtk+-2.0
+    $ pkg-config --modversion gtk+-2.0
 
 Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
 number of your GTK+, you can proceed; if not, you probably need to do some
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 60b65b5..58049f6 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 8.0.  Last change: 2016 Mar 31
+*help.txt*	For Vim version 8.0.  Last change: 2016 Sep 12
 
 			VIM - main help file
 									 k
@@ -135,6 +135,7 @@
 |autocmd.txt|	automatically executing commands on an event
 |filetype.txt|	settings done specifically for a type of file
 |eval.txt|	expression evaluation, conditional commands
+|channel.txt|	Jobs, Channels, inter-process communication
 |fold.txt|	hide (fold) ranges of lines
 
 Special issues ~
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 3ec648b..c316c19 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2016 Sep 02
+*options.txt*	For Vim version 8.0.  Last change: 2016 Sep 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2633,7 +2633,7 @@
 	uhex		Show unprintable characters hexadecimal as <xx>
 			instead of using ^C and ~C.
 
-	When neither "lastline" or "truncate" is included, a last line that
+	When neither "lastline" nor "truncate" is included, a last line that
 	doesn't fit is replaced with "@" lines.
 
 						*'eadirection'* *'ead'*
@@ -6122,7 +6122,9 @@
 	   personal preferences to overrule or add to the distributed defaults
 	   or system-wide settings (rarely needed).
 
-	More entries are added when using |packages|.
+	More entries are added when using |packages|.  If it gets very long
+	then `:set rtp` will be truncated, use `:echo &rtp` to see the full
+	string.
 
 	Note that, unlike 'path', no wildcards like "**" are allowed.  Normal
 	wildcards are allowed, but can significantly slow down searching for
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index e3b1e27e..3a536a7 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt*	For Vim version 8.0.  Last change: 2013 Apr 17
+*pi_zip.txt*	For Vim version 8.0.  Last change: 2016 Sep 13
 
 				+====================+
 				| Zip File Interface |
@@ -6,7 +6,7 @@
 
 Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
-Copyright: Copyright (C) 2005-2012 Charles E Campbell	 *zip-copyright*
+Copyright: Copyright (C) 2005-2015 Charles E Campbell	 *zip-copyright*
 	The VIM LICENSE (see |copyright|) applies to the files in this
 	package, including zipPlugin.vim, zip.vim, and pi_zip.vim.  except use
 	"zip.vim" instead of "VIM".  Like anything else that's free, zip.vim
@@ -33,6 +33,9 @@
    also write to the file.  Currently, one may not make a new file in
    zip archives via the plugin.
 
+								*zip-x*
+   x : may extract a listed file when the cursor is atop it
+
    OPTIONS
 
    							*g:zip_nomax*
@@ -61,6 +64,11 @@
    file; by default: >
    	let g:zip_zipcmd= "zip"
 <
+							*g:zip_extractcmd*
+   This option specifies the program (and any options needed) used to
+   extract a file from a zip archive.  By default, >
+   	let g:zip_extractcmd= g:zip_unzipcmd
+<
    PREVENTING LOADING~
 
    If for some reason you do not wish to use vim to examine zipped files,
@@ -83,8 +91,26 @@
    One can simply extend this line to accommodate additional extensions that
    should be treated as zip files.
 
+   Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
+   Currently (11/30/15) it holds: >
+
+	let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,
+       \ *.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,
+       \ *.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,
+       \ *.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx,*.epub'
+
 ==============================================================================
 4. History							*zip-history* {{{1
+   v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
+   		      the command actually to be attempted in zip#Read()
+		      and zip#Write()
+		    * added the extraction of a file capability
+       Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
+       Sep 13, 2016 * added *.apk to the |g:zipPlugin_ext| list and
+		      sorted the suffices.
+   v27 Jul 02, 2013 * sanity check: zipfile must have "PK" as its first
+		      two bytes.
+		    * modified to allow zipfile: entries in quickfix lists
    v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
 		      are synonyms for .zip
    v25 Jun 27, 2011 * using keepj with unzip -Z
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 41e2f9f..090012d 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2016 Sep 12
+*syntax.txt*	For Vim version 8.0.  Last change: 2016 Sep 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3521,8 +3521,8 @@
 	and also determines where |:syn-keyword| will be checked for a new
 	match.
 
-	It is recommended when writing syntax files, to use this command
-	to the correct value for the specific syntax language and not change
+	It is recommended when writing syntax files, to use this command to
+	set the correct value for the specific syntax language and not change
 	the 'iskeyword' option.
 
 DEFINING KEYWORDS					*:syn-keyword*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index e7a77a0..5bab822 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2016 Sep 12
+*todo.txt*      For Vim version 8.0.  Last change: 2016 Sep 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,13 +34,19 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Netbeans test fails with Python 3. (jonathon, 2016 Sep 13, #1070)
+
+Revert 7.4.990?  (Christian Brabandt, 2016 Sep 16)
+
 After 8.0 is released:
 - Drop support for older MS-Windows systems, before XP.
-  Patch from Ken Takata, 2016 Mar 8.
+  Patch from Ken Takata, updated 2016 Sep 12.
 
 +channel:
 - channel_wait() may return an error while there is still something to read.
   Perhaps try to read once more?
+  Possibly reproduced by Santiago Alejandro Agüero, 2016 Sep 12, 13.
+  Apparently select() returns an error while reading could work.
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
 - Add 'cwd' argument to start_job(): directory to change to in the child.
     check for valid directory before forking.
@@ -142,6 +148,9 @@
 
 cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
 
+When using ":diffput" through a mapping, undo in the target buffer isn't
+synced.  (Ryan Carney, 2016 Sep 14)
+
 Syntax highlighting for messages with RFC3339 timestamp (#946)
 Did maintainer reply?
 
@@ -183,6 +192,11 @@
 Patch for restoring wide characters in the console buffer.
 (Ken Takata, 2016 Jun 7)
 
+Patch for drag&drop reordering of GUI tab pages reordering.
+(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
+Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
+Update 2016 Aug 10.
+
 We can use '. to go to the last change in the current buffer, but how about
 the last change in any buffer?  Can we use ', (, is next to .)?
 
@@ -225,7 +239,7 @@
 No test, needs some work to include.
 
 Patch to make finding duplicate tags much faster, using a hashtab. (James
-McCoy, 2016 Sept 6, #1046)
+McCoy, 2016 Sept 14, #1046)  Should work now.
 >
 Patch to improve indenting for C++ constructor with initializer list.
 (Hirohito Higashi, 2016 Mar 31)
@@ -261,6 +275,9 @@
 When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
 Apr 17)  #762
 
+exists(":tearoff") does not tell you if the command is implemented. (Tony
+Mechelynck)  Perhaps use exists("::tearoff") to check?
+
 Use vim.vim syntax highlighting for help file examples, but without ":" in
 'iskeyword' for syntax.
 
@@ -520,11 +537,6 @@
 
 Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
 
-Patch for drag&drop reordering of GUI tab pages reordering.
-(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
-Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
-Update 2016 Aug 10.
-
 Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
 
 When 'balloonexpr' returns a list the result has a trailing newline.
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index ac22f08..af289fd 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 Sep 12
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -159,7 +159,7 @@
 On some systems the numbers used in Vim script are now 64 bit.  This can be
 checked with the |+num64| feature.
 
-Many items were added so support |new-style-testing|.
+Many items were added to support |new-style-testing|.
 
 printf() now accepts any type of argument for %s.  It is converted to a string
 like with string().
@@ -1031,7 +1031,7 @@
 
 Patch 7.4.095 (after 7.4.093)
 Problem:    Regexp for LuaJIT version doesn't work on BSD.
-Solution:   Use "*" instead of "\+" and "\?". (Ozaki)
+Solution:   Use "*" instead of "\+" and "\?". (Ozaki Kiichi)
 Files:	    src/configure.in, src/auto/configure
 
 Patch 7.4.096
@@ -1750,7 +1750,7 @@
 
 Patch 7.4.218
 Problem:    It's not easy to remove duplicates from a list.
-Solution:   Add the uniq() function. (LCD)
+Solution:   Add the uniq() function. (Lcd)
 Files:	    runtime/doc/change.txt, runtime/doc/eval.txt,
 	    runtime/doc/usr_41.txt, runtime/doc/version7.txt, src/eval.c,
 	    src/testdir/test55.in, src/testdir/test55.ok
@@ -4311,7 +4311,7 @@
 
 Patch 7.4.650
 Problem:    Configure check may fail because the dl library is not used.
-Solution:   Put "-ldl" in LIBS rather than LDFLAGS. (Oazki Kiichi)
+Solution:   Put "-ldl" in LIBS rather than LDFLAGS. (Ozaki Kiichi)
 Files:	    src/configure.in, src/auto/configure
 
 Patch 7.4.651 (after 7.4.582)
@@ -4903,7 +4903,7 @@
 Files:      src/eval.c
 
 Patch 7.4.749 (after 7.4.741)
-Problem:    For some options two consecutive commas are OK. (Nikolay Pavlov)
+Problem:    For some options two consecutive commas are OK. (Nikolai Pavlov)
 Solution:   Add the P_ONECOMMA flag.
 Files:      src/option.c
 
@@ -6969,7 +6969,7 @@
 
 Patch 7.4.1096
 Problem:    Need several lines to verify a command produces an error.
-Solution:   Add assert_fails(). (suggested by Nikolay Pavlov)
+Solution:   Add assert_fails(). (suggested by Nikolai Pavlov)
             Make the quickfix alloc test actually work.
 Files:      src/testdir/test_quickfix.vim, src/eval.c, runtime/doc/eval.txt,
             src/misc2.c, src/alloc.h
@@ -7432,7 +7432,7 @@
 
 Patch 7.4.1166
 Problem:    Can't encode a Funcref into JSON.  jsonencode() doesn't handle the
-            same list or dict twice properly.  (Nikolay Pavlov)
+            same list or dict twice properly.  (Nikolai Pavlov)
 Solution:   Give an error.  Reset copyID when the list or dict is finished.
 Files:      src/json.c, src/proto/json.pro, src/testdir/test_json.vim
 
@@ -7442,7 +7442,7 @@
 Files:      src/testdir/test_viml.vim
 
 Patch 7.4.1168
-Problem:    This doesn't give the right result: eval(string(v:true)). (Nikolay
+Problem:    This doesn't give the right result: eval(string(v:true)). (Nikolai
             Pavlov)
 Solution:   Make the string "v:true" instead of "true".
 Files:      src/eval.c, src/testdir/test_viml.vim
@@ -7993,7 +7993,7 @@
 
 Patch 7.4.1258
 Problem:    The channel test can fail if messages arrive later.
-Solution:   Add a short sleep. (Jun T.)
+Solution:   Add a short sleep. (Jun Takimoto)
 Files:      src/testdir/test_channel.vim
 
 Patch 7.4.1259
@@ -8848,8 +8848,8 @@
 
 Patch 7.4.1405
 Problem:    Completion menu flickers.
-Solution:   Delay showing the popup menu. (Shougo, Justin M. Keyes, closes
-            #656)
+Solution:   Delay showing the popup menu. (Shougo Matsu, Justin M. Keyes,
+	    closes #656)
 Files:      src/edit.c
 
 Patch 7.4.1406
@@ -9372,7 +9372,7 @@
 Files:      src/gui_gtk_x11.c
 
 Patch 7.4.1498
-Problem:    Error for locked item when using json_decode(). (Shougo)
+Problem:    Error for locked item when using json_decode(). (Shougo Matsu)
 Solution:   Initialize v_lock.
 Files:      src/json.c
 
@@ -9775,7 +9775,7 @@
 
 Patch 7.4.1570
 Problem:    There is no way to avoid the message when editing a file.
-Solution:   Add the "F" flag to 'shortmess'. (Shougo, closes #686)
+Solution:   Add the "F" flag to 'shortmess'. (Shougo Matsu, closes #686)
 Files:      runtime/doc/options.txt, src/buffer.c, src/ex_cmds.c,
             src/option.h
 
@@ -10793,7 +10793,7 @@
 
 Patch 7.4.1744
 Problem:    Python: Converting a sequence may leak memory.
-Solution:   Decrement a reference. (Nikolay Pavlov)
+Solution:   Decrement a reference. (Nikolai Pavlov)
 Files:      src/if_py_both.h
 
 Patch 7.4.1745
@@ -10866,7 +10866,8 @@
 Patch 7.4.1757
 Problem:    When using complete() it may set 'modified' even though nothing
             was inserted.
-Solution:   Use Down/Up instead of Next/Previous match. (Shougo, closes #745)
+Solution:   Use Down/Up instead of Next/Previous match. (Shougo Matsu, closes
+	    #745)
 Files:      src/edit.c
 
 Patch 7.4.1758
@@ -11392,7 +11393,7 @@
 Files:      src/channel.c
 
 Patch 7.4.1850
-Problem:    GUI freezes when using a job. (Shougo)
+Problem:    GUI freezes when using a job. (Shougo Matsu)
 Solution:   Unregister the channel when there is an input error.
 Files:      src/channel.c
 
@@ -12354,12 +12355,12 @@
 
 Patch 7.4.2013
 Problem:    Using "noinsert" in 'completeopt' breaks redo.
-Solution:   Set compl_curr_match. (Shougo, closes #874)
+Solution:   Set compl_curr_match. (Shougo Matsu, closes #874)
 Files:      src/edit.c, src/testdir/test_popup.vim
 
 Patch 7.4.2014
 Problem:    Using "noinsert" in 'completeopt' does not insert match.
-Solution:   Set compl_enter_selects. (Shougo, closes #875)
+Solution:   Set compl_enter_selects. (Shougo Matsu, closes #875)
 Files:      src/edit.c, src/testdir/test_popup.vim
 
 Patch 7.4.2015
@@ -14279,7 +14280,7 @@
 Files:      src/buffer.c, src/testdir/test_autocmd.vim
 
 Patch 7.4.2329
-Problem:    Error for min() and max() contains %s. (Nikolay Pavlov)
+Problem:    Error for min() and max() contains %s. (Nikolai Pavlov)
 Solution:   Pass the function name. (closes #1040)
 Files:      src/evalfunc.c, src/testdir/test_expr.vim
 
@@ -14405,7 +14406,7 @@
 Files:      src/buffer.c
 
 Patch 7.4.2349
-Problem:    Valgrind reports using uninitialzed memory. (Dominique Pelle)
+Problem:    Valgrind reports using uninitialized memory. (Dominique Pelle)
 Solution:   Check the length before checking for a NUL.
 Files:      src/message.c
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 4fc4275..13fee8e 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:	2016 Aug 26
+" Last Change:	2016 Sep 15
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -676,6 +676,9 @@
 " EDIF (*.edf,*.edif,*.edn,*.edo)
 au BufNewFile,BufRead *.ed\(f\|if\|n\|o\)	setf edif
 
+" EditorConfig (close enough to dosini)
+au BufNewFile,BufRead .editorconfig		setf dosini
+
 " Embedix Component Description
 au BufNewFile,BufRead *.ecd			setf ecd
 
diff --git a/runtime/plugin/zipPlugin.vim b/runtime/plugin/zipPlugin.vim
index e9bd0dc..c04d534 100644
--- a/runtime/plugin/zipPlugin.vim
+++ b/runtime/plugin/zipPlugin.vim
@@ -1,9 +1,9 @@
 " zipPlugin.vim: Handles browsing zipfiles
 "            PLUGIN PORTION
-" Date:			Jun 07, 2013
+" Date:			Sep 13, 2016
 " Maintainer:	Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
 " License:		Vim License  (see vim's :help license)
-" Copyright:    Copyright (C) 2005-2013 Charles E. Campbell {{{1
+" Copyright:    Copyright (C) 2005-2016 Charles E. Campbell {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 "               notice is copied with it. Like anything else that's free,
@@ -20,14 +20,14 @@
 if &cp || exists("g:loaded_zipPlugin")
  finish
 endif
-let g:loaded_zipPlugin = "v27"
+let g:loaded_zipPlugin = "v28"
 let s:keepcpo          = &cpo
 set cpo&vim
 
 " ---------------------------------------------------------------------
 " Options: {{{1
 if !exists("g:zipPlugin_ext")
- let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,*.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,*.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,*.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx'
+ let g:zipPlugin_ext='*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.wsz,*.xap,*.xlam,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
 endif
 
 " ---------------------------------------------------------------------
diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index c9cf542..051c95c 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:	2016 Aug 14
+" Last Change:	2016 Sep 14
 " Credits:	Neil Schemenauer <nas@python.ca>
 "		Dmitry Vasiliev
 "
@@ -88,14 +88,14 @@
 " followed by decorator name, optional parenthesized list of arguments,
 " and the next line with either def, class, or another decorator.
 syn match   pythonDecorator
-  \ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\)\zs@\%(\s*\h\%(\w\|\.\)*\%(([^)]*)\)\=\s*\n\s*\%(\.\.\.\s\+\)\=\%(@\s*\h\|\%(def\|class\)\s\+\)\)\@="
+  \ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\)\zs@\%(\s*\h\%(\w\|\.\)*\s*\%((\_\s\{-}[^)]\_.\{-})\s*\)\=\%(#.*\)\=\n\s*\%(\.\.\.\s\+\)\=\%(@\s*\h\|\%(def\|class\)\s\+\)\)\@="
   \ display nextgroup=pythonDecoratorName skipwhite
 
 " A dot must be allowed because of @MyClass.myfunc decorators.
 " It must be preceded by a decorator symbol and on a separate line from
 " a function/class it decorates.
 syn match   pythonDecoratorName
-  \ "\%(@\s*\)\@<=\h\%(\w\|\.\)*\%(\%(([^)]*)\)\=\s*\n\)\@="
+  \ "\%(@\s*\)\@<=\h\%(\w\|\.\)*\%(\s*\%((\_\s\{-}[^)]\_.\{-})\s*\)\=\%(#.*\)\=\n\)\@="
   \ contained display nextgroup=pythonFunction skipnl
 
 " The zero-length non-grouping match of def or class before the function
@@ -289,43 +289,41 @@
 " Sync at the beginning of class, function, or method definition.
 syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
 
-
 " The default highlight links.  Can be overridden later.
-hi def link pythonStatement	Statement
-hi def link pythonConditional	Conditional
+hi def link pythonStatement		Statement
+hi def link pythonConditional		Conditional
 hi def link pythonRepeat		Repeat
 hi def link pythonOperator		Operator
-hi def link pythonException	Exception
+hi def link pythonException		Exception
 hi def link pythonInclude		Include
-hi def link pythonAsync		Statement
-hi def link pythonDecorator	Define
-hi def link pythonDecoratorName	Function
+hi def link pythonAsync			Statement
+hi def link pythonDecorator		Define
+hi def link pythonDecoratorName		Function
 hi def link pythonFunction		Function
 hi def link pythonComment		Comment
-hi def link pythonTodo		Todo
+hi def link pythonTodo			Todo
 hi def link pythonString		String
-hi def link pythonRawString	String
+hi def link pythonRawString		String
 hi def link pythonQuotes		String
-hi def link pythonTripleQuotes	pythonQuotes
+hi def link pythonTripleQuotes		pythonQuotes
 hi def link pythonEscape		Special
 if !exists("python_no_number_highlight")
   hi def link pythonNumber		Number
 endif
 if !exists("python_no_builtin_highlight")
-  hi def link pythonBuiltin	Function
+  hi def link pythonBuiltin		Function
 endif
 if !exists("python_no_exception_highlight")
-  hi def link pythonExceptions	Structure
+  hi def link pythonExceptions		Structure
 endif
 if exists("python_space_error_highlight")
-  hi def link pythonSpaceError	Error
+  hi def link pythonSpaceError		Error
 endif
 if !exists("python_no_doctest_highlight")
-  hi def link pythonDoctest	Special
+  hi def link pythonDoctest		Special
   hi def link pythonDoctestValue	Define
 endif
 
-
 let b:current_syntax = "python"
 
 let &cpo = s:cpo_save
diff --git a/runtime/tutor/tutor.ru.utf-8 b/runtime/tutor/tutor.ru.utf-8
index 69a237e..4115192 100644
--- a/runtime/tutor/tutor.ru.utf-8
+++ b/runtime/tutor/tutor.ru.utf-8
@@ -69,7 +69,7 @@
 				vimtutor <ENTER>
 
   4. Если вы уверены в том, что запомнили эти шаги, выполните шаги от 1 до 3
-     чтобы выйти снова запустить редактор.
+     чтобы выйти и снова запустить редактор.
 
 Замечание!  :q! <ENTER>  отбрасывает любые сделанные вами изменения. Через
 	несколько уроков вы узнаете как сохранять изменения в файл.
