changeset 10211:b7da8d4c594c

commit https://github.com/vim/vim/commit/d07969093a9b3051511c478d71c36de6fc33c0d6 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 16 20:02:31 2016 +0200 Updated runtime files.
author Christian Brabandt <cb@256bit.org>
date Fri, 16 Sep 2016 20:15:05 +0200
parents 2720a028af30
children 3e7f2754ff24
files READMEdir/README_mac.txt runtime/autoload/zip.vim runtime/doc/gui_x11.txt runtime/doc/help.txt runtime/doc/options.txt runtime/doc/pi_zip.txt runtime/doc/syntax.txt runtime/doc/todo.txt runtime/doc/version8.txt runtime/filetype.vim runtime/plugin/zipPlugin.vim runtime/syntax/python.vim runtime/tutor/tutor.ru.utf-8
diffstat 13 files changed, 191 insertions(+), 72 deletions(-) [+]
line wrap: on
line diff
--- a/READMEdir/README_mac.txt
+++ b/READMEdir/README_mac.txt
@@ -4,5 +4,25 @@ This file explains the installation of V
 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
--- 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 @@ endif
 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 @@ fun! zip#Browse(zipfile)
    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 @@ fun! zip#Read(fname,mode)
   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 @@ fun! zip#Write(fname)
   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 @@ fun! zip#Write(fname)
 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.")")
--- 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 @@ your system has a working pkg-config tog
 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
--- 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 @@ Advanced editing ~
 |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 ~
--- 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 @@ A jump table for the options with a shor
 	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 @@ A jump table for the options with a shor
 	   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
--- 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 @@ 2. Usage						*zip-usage* *zip-manual*
    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 @@ 2. Usage						*zip-usage* *zip-manual*
    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 @@ 3. Additional Extensions					*zip-extens
    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
--- 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 @@ SYNTAX ISKEYWORD SETTING				*:syn-iskeyw
 	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*
--- 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 @@ not be repeated below, unless there is e
 							*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 @@ 4#1038)
 
 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 syntax folding optimization. (
 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 @@ Neovim patch for utfc_ptr2char_len() htt
 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 @@ Can already do it with ":$put =execute('
 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 @@ OK to not block marks?
 
 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.
--- 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 @@ Many functions and commands have been ad
 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 @@ Files:	    src/configure.in, src/auto/co
 
 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 @@ Files:	    src/Makefile
 
 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 @@ Files:	    src/misc2.c
 
 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 @@ Solution:   Make the buffer larger. (Kaz
 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 @@ Files:      src/Make_mvc.mak, src/GvimEx
 
 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 @@ Files:      src/mbyte.c, src/os_win32.c
 
 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 @@ Solution:   Add tests.
 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 @@ Files:      src/testdir/test_channel.vim
 
 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 @@ Files:      src/channel.c, src/gui_w32.c
 
 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 @@ Solution:   Handle blinking differently.
 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 @@ Files:      src/testdir/Make_all.mak, sr
 
 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 @@ Files:      src/if_py_both.h
 
 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 @@ Files:      src/option.c, src/testdir/te
 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 @@ Solution:   Check if ch_to_be_closed is 
 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 @@ Files:      src/testdir/test_cmdline.vim
 
 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 @@ Solution:   Make close_buffer() go back 
 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 @@ Solution:   Don't access curwin when exi
 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
 
--- 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 @@ au BufNewFile,BufRead *.dts,*.dtsi		setf
 " 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
 
--- 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
 
 " ---------------------------------------------------------------------
--- 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 @@ syn keyword pythonAsync		async await
 " 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 @@ endif
 " 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
--- 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>  отбрасывает любые сделанные вами изменения. Через
 	несколько уроков вы узнаете как сохранять изменения в файл.