changeset 12826:f690da1b3c04

Update runtime files. commit https://github.com/vim/vim/commit/7f2e9d7c9cdfc5201a899b7b610edf64bf80c45f Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 11 20:58:53 2017 +0100 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Sat, 11 Nov 2017 21:00:05 +0100
parents 4c1a7b0a6f5c
children ff494a964ab7
files runtime/doc/filetype.txt runtime/doc/if_pyth.txt runtime/doc/options.txt runtime/doc/starting.txt runtime/doc/tags runtime/doc/terminal.txt runtime/doc/todo.txt runtime/ftplugin/man.vim runtime/ftplugin/python.vim runtime/ftplugin/vim.vim runtime/pack/dist/opt/termdebug/plugin/termdebug.vim runtime/plugin/manpager.vim runtime/syntax/debcontrol.vim runtime/syntax/debsources.vim runtime/syntax/fstab.vim runtime/syntax/tex.vim
diffstat 16 files changed, 204 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -602,7 +602,7 @@ MANPAGER				      *manpager.vim*
 The :Man command allows you to turn Vim into a manpager (that syntax highlights
 manpages and follows linked manpages on hitting CTRL-]).
 
-Works on:
+Tested on:
 
   - Linux
   - Mac OS
@@ -617,25 +617,36 @@ Untested:
   - BeOS
   - OS/2
 
-For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
+If man sets the $MAN_PN environment variable, like man-db, the most common
+implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
+set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim 
+manpager does not correctly recognize manpages whose title contains a capital 
+letter. See the discussion on
+
+  https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
+
+For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
 
 	export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
 
+For (t)csh, add to the config file
+
+	setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
+
+For fish, add to the config file
+
+	set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
+
 On OpenBSD:
 
         export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
 
-For (t)csh by adding to the config file
-
-	setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
-
-For fish by adding to the config file
+If you experience still issues on manpages whose titles do not contain capital
+letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
+not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
 
-	set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
+  https://github.com/vim/vim/issues/1002
 
-If man sets the $MAN_PN environment variable, like man-db, the most common
-implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
-superfluous.
 
 PDF							*ft-pdf-plugin*
 
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.0.  Last change: 2017 Mar 09
+*if_pyth.txt*   For Vim version 8.0.  Last change: 2017 Nov 09
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2017 Nov 02
+*options.txt*	For Vim version 8.0.  Last change: 2017 Nov 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5336,7 +5336,7 @@ A jump table for the options with a shor
 	sysmouse and Linux console with gpm).  For using the mouse in the
 	GUI, see |gui-mouse|.
 	The mouse can be enabled for different modes:
-		n	Normal mode
+		n	Normal mode and Terminal modes
 		v	Visual mode
 		i	Insert mode
 		c	Command-line mode
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.0.  Last change: 2017 Oct 24
+*starting.txt*  For Vim version 8.0.  Last change: 2017 Nov 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1418,7 +1418,7 @@ 4. Restore folds when using manual foldi
 5. The scroll position and the cursor position in the file.  Doesn't work very
    well when there are closed folds.
 6. The local current directory, if it is different from the global current
-   directory.
+   directory and 'viewoptions' contains "curdir".
 
 Note that Views and Sessions are not perfect:
 - They don't restore everything.  For example, defined functions, autocommands
@@ -1530,7 +1530,7 @@ Notes for Unix:
   you have worked with.
 - If you want to share the viminfo file with other users (e.g. when you "su"
   to another user), you can make the file writable for the group or everybody.
-  Vim will preserve this when writing new viminfo files.  Be careful, don't
+  Vim will preserve this when replacing the viminfo file.  Be careful, don't
   allow just anybody to read and write your viminfo file!
 - Vim will not overwrite a viminfo file that is not writable by the current
   "real" user.  This helps for when you did "su" to become root, but your
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -307,6 +307,7 @@
 'go-g'	options.txt	/*'go-g'*
 'go-h'	options.txt	/*'go-h'*
 'go-i'	options.txt	/*'go-i'*
+'go-k'	options.txt	/*'go-k'*
 'go-l'	options.txt	/*'go-l'*
 'go-m'	options.txt	/*'go-m'*
 'go-p'	options.txt	/*'go-p'*
@@ -8890,16 +8891,29 @@ termcap-cursor-color	term.txt	/*termcap-
 termcap-cursor-shape	term.txt	/*termcap-cursor-shape*
 termcap-options	term.txt	/*termcap-options*
 termcap-title	term.txt	/*termcap-title*
+termdebug-commands	terminal.txt	/*termdebug-commands*
+termdebug-communication	terminal.txt	/*termdebug-communication*
+termdebug-customizing	terminal.txt	/*termdebug-customizing*
+termdebug-example	terminal.txt	/*termdebug-example*
+termdebug-starting	terminal.txt	/*termdebug-starting*
+termdebug-stepping	terminal.txt	/*termdebug-stepping*
+termdebug-variables	terminal.txt	/*termdebug-variables*
 terminal	terminal.txt	/*terminal*
 terminal-colors	os_unix.txt	/*terminal-colors*
+terminal-cursor-style	terminal.txt	/*terminal-cursor-style*
 terminal-debug	terminal.txt	/*terminal-debug*
 terminal-functions	usr_41.txt	/*terminal-functions*
 terminal-info	term.txt	/*terminal-info*
 terminal-key-codes	term.txt	/*terminal-key-codes*
+terminal-ms-windows	terminal.txt	/*terminal-ms-windows*
 terminal-options	term.txt	/*terminal-options*
 terminal-output-codes	term.txt	/*terminal-output-codes*
+terminal-resizing	terminal.txt	/*terminal-resizing*
+terminal-size-color	terminal.txt	/*terminal-size-color*
+terminal-special-keys	terminal.txt	/*terminal-special-keys*
 terminal-testing	terminal.txt	/*terminal-testing*
 terminal-typing	terminal.txt	/*terminal-typing*
+terminal-unix	terminal.txt	/*terminal-unix*
 terminal-use	terminal.txt	/*terminal-use*
 terminal.txt	terminal.txt	/*terminal.txt*
 terminfo	term.txt	/*terminfo*
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.0.  Last change: 2017 Oct 29
+*terminal.txt*	For Vim version 8.0.  Last change: 2017 Nov 09
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -14,9 +14,25 @@ The terminal feature is optional, use th
 If the result is "1" you have it.
 
 
-1. Basic use			|terminal-use|
-2. Remote testing		|terminal-testing|
-3. Debugging			|terminal-debug|
+1. Basic use		|terminal-use|
+      Typing			|terminal-typing|
+      Size and color		|terminal-size-color|
+      Syntax			|:terminal|
+      Resizing			|terminal-resizing|
+      Terminal Modes		|Terminal-mode|
+      Cursor style		|terminal-cursor-style|
+      Special keys		|terminal-special-keys|
+      Unix			|terminal-unix|
+      MS-Windows		|terminal-ms-windows|
+2. Remote testing	|terminal-testing|
+3. Debugging		|terminal-debug|
+      Starting			|termdebug-starting|
+      Example session		|termdebug-example|
+      Stepping through code	|termdebug-stepping|
+      Inspecting variables	|termdebug-variables|
+      Other commands		|termdebug-commands|
+      Communication		|termdebug-communication|
+      Customizing		|termdebug-customizing|
 
 {Vi does not have any of these commands}
 {only available when compiled with the |+terminal| feature}
@@ -92,7 +108,7 @@ options specifically for the window and 
 
 
 Size and color ~
-
+							*terminal-size-color*
 See option 'termsize' for controlling the size of the terminal window.
 (TODO: scrolling when the terminal is larger than the window)
 
@@ -201,7 +217,7 @@ the buffer name will still be set to the
 
 
 Resizing ~
-
+							*terminal-resizing*
 The size of the terminal can be in one of three modes:
 
 1. The 'termsize' option is empty: The terminal size follows the window size.
@@ -251,7 +267,7 @@ It is not possible to enter Insert mode 
 
 
 Cursor style ~
-
+							*terminal-cursor-style*
 By default the cursor in the terminal window uses a not blinking block.  The
 normal xterm escape sequences can be used to change the blinking state and the
 shape.  Once focus leaves the terminal window Vim will restore the original
@@ -263,8 +279,21 @@ is inverted.  Since Vim cannot detect th
 blinking will also be inverted.
 
 
+Special keys ~
+							*terminal-special-keys*
+Since the terminal emulator simulates an xterm, only escape sequences that
+both Vim and xterm recognize will be available in the terminal window.  If you
+want to pass on other escape sequences to the job running in the terminal you
+need to set up forwarding.  Example: >
+	tmap <expr> <Esc>]b SendToTerm("\<Esc>]b")
+ 	func SendToTerm(what)
+ 	  call term_sendkeys('', a:what)
+ 	  return ''
+ 	endfunc
+
+
 Unix ~
-
+							*terminal-unix*
 On Unix a pty is used to make it possible to run all kinds of commands.  You
 can even run Vim in the terminal!  That's used for debugging, see below.
 
@@ -287,7 +316,7 @@ This will open the file "some_file.c" an
 
 
 MS-Windows ~
-
+							*terminal-ms-windows*
 On MS-Windows winpty is used to make it possible to run all kind of commands.
 Obviously, they must be commands that run in a terminal, not open their own
 window.
@@ -330,7 +359,7 @@ Vim this also works remotely over an ssh
 
 
 Starting ~
-
+							*termdebug-starting*
 Load the plugin with this command: >
 	packadd termdebug
 <							*:Termdebug*
@@ -360,7 +389,7 @@ opened windows are closed.
 
 
 Example session ~
-
+							*termdebug-example*
 Start in the Vim "src" directory and build Vim: >
 	% make
 Start Vim: >
@@ -416,7 +445,7 @@ a deeper level.
 
 
 Stepping through code ~
-
+							*termdebug-stepping*
 Put focus on the gdb window to type commands there.  Some common ones are:
 - CTRL-C    interrupt the program
 - next      execute the current line and stop at the next line
@@ -445,7 +474,7 @@ This way you can use the mouse to perfor
 
 
 Inspecting variables ~
-
+							*termdebug-variables*
  :Evaluate	    evaluate the expression under the cursor
  K		    same
  :Evaluate {expr}   evaluate {expr}
@@ -455,20 +484,20 @@ This is similar to using "print" in the 
 
 
 Other commands ~
-
+							*termdebug-commands*
  :Gdb	       jump to the gdb window
  :Program      jump to the window with the running program
 
 
 Communication ~
-
+						*termdebug-communication*
 There is another, hidden, buffer, which is used for Vim to communicate with
 gdb.  The buffer name is "gdb communication".  Do not delete this buffer, it
 will break the debugger.
 
 
 Customizing ~
-
+							*termdebug-customizing*
 To change the name of the gdb command, set the "termdebugger" variable before
 invoking `:Termdebug`: >
 	let termdebugger = "mygdb"
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 05
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,6 +35,10 @@ entered there will not be repeated below
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Permission of viminfo tempfile can be wrong. (Simon Ruderich)
+Always use 600 ?  Also avoids groups problem.
+patch from Simon Ruderich, Nov 8
+
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
@@ -132,8 +136,8 @@ Regexp problems:
 Include a few color schemes, based on popularity:
 http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
 http://vimawesome.com/?q=tag:color-scheme
-Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
-- monokai - Xia Crusoe (2017 Aug 4)
+Use names that indicate their apperance (Christian Brabandt, 2017 Aug 3)
+- monokai - Xia Crusoe (2017 Aug 4) 
 - seoul256 - Christian Brabandt (2017 Aug 3)
 - gruvbox -  Christian Brabandt (2017 Aug 3)
 - janah - Marco Hinz (2017 Aug 4)
@@ -141,7 +145,8 @@ Use names that indicate their appearnce 
 Suggested by Hiroki Kokubun:
 - [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
 - [hybrid](https://github.com/w0ng/vim-hybrid)
-Include solarized color scheme?
+Include solarized color scheme?, it does not support termguicolors.
+-> Make check for colorscheme that it's sane.
 
 Compiler warnings (geeknik, 2017 Oct 26):
 - signed integer overflow in do_sub() (#2249)
@@ -178,9 +183,6 @@ Error in emsg with buggy script. (Domini
 When a timer is running and typing CTRL-R on the command line, it is not
 redrawn properly. (xtal8, 2017 Oct 23, #2241)
 
-Patch for manpager plugin. (Lcd, 2017 Oct 12)
-Asked maintainer.
-
 Universal solution to detect if t_RS is working, using cursor position.
 Koichi Iwamoto, #2126
 
@@ -216,15 +218,7 @@ When bracketed paste is used, pasting at
 line breaks. (Ken Takata, 2017 Aug 22)
 
 Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
-Takasaki, 2017 Oct 1, #2060).  Should not set 'tgc' automatically.
-
-Patch to change GUI behavior: instead of changing the window size change the
-lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
-#703)
-
-Patch to skip globpath() for color schemes, keymaps and compiler settings.
-So that loading menus is faster. (Ken Takata, 2017 Oct 23)
-Update to expand the menus in a CursorHold autocmd. (2017 Oct 25)
+Takasaki, 2017 Oct 1, #2060).  Ready to include now?
 
 Memory leaks in test_channel? (or is it because of fork())
 Memory leak in test_arabic.
@@ -296,6 +290,9 @@ Patch to add argument to :cquit. (Thinca
 Python: After "import vim" error messages only show the first line of the
 stack trace. (Yggdroot, 2017 Jul 28, #1887)
 
+Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
+8, #1757)
+
 When checking if a bufref is valid, also check the buffer number, to catch the
 case of :bwipe followed by :new.
 
@@ -499,8 +496,6 @@ Patch for wrong cursor position on wrapp
 (Ozaki Kiichi, 2016 Nov 25)
 Does this also fix #1408 ?
 
-Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
-
 'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
 
 Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
@@ -5206,7 +5201,7 @@ 7   Add a configure check for which dire
 -   Add an option to create a swap file only when making the first change to
     the buffer.  (Liang)  Or only when the buffer is not read-only.
 -   Add option to set "umask" for backup files and swap files (Antwerpen).
-    'backupumask' and 'swapumask'?  Or 'umaskback' and 'umaskswap'?
+    'backupumask' and 'swapumask'?  Or 'umaskbackup' and 'umaskswap'?
 -   When editing a readonly file, don't use a swap file but read parts from the
     original file.  Also do this when the file is huge (>'maxmem').  We do
     need to load the file once to count the number of lines?  Perhaps keep a
--- a/runtime/ftplugin/man.vim
+++ b/runtime/ftplugin/man.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	man
 " Maintainer:	SungHyun Nam <goweol@gmail.com>
-" Last Change: 	2017 Jan 18
+" Last Change: 	2017 Nov 11
 
 " To make the ":Man" command available before editing a manual page, source
 " this script from your startup vimrc file.
@@ -15,12 +15,6 @@ if &filetype == "man"
   endif
   let b:did_ftplugin = 1
 
-  " Ensure Vim is not recursively invoked (man-db does this)
-  " when doing ctrl-[ on a man page reference.
-  if exists("$MANPAGER")
-    let $MANPAGER = ""
-  endif
-
   " allow dot and dash in manual page name.
   setlocal iskeyword+=\.,-
 
@@ -176,7 +170,11 @@ func <SID>GetPage(...)
     let $MANWIDTH = winwidth(0)
     let unsetwidth = 1
   endif
-  silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
+
+  " Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
+  " on a man page reference by unsetting MANPAGER.
+  silent exec "r !env -u MANPAGER man ".s:GetCmdArg(sect, page)." | col -b"
+
   if unsetwidth
     let $MANWIDTH = ''
   endif
--- a/runtime/ftplugin/python.vim
+++ b/runtime/ftplugin/python.vim
@@ -3,7 +3,7 @@
 " Maintainer:	Tom Picton <tom@tompicton.co.uk>
 " Previous Maintainer: James Sully <sullyj3@gmail.com>
 " Previous Maintainer: Johannes Zellner <johannes@zellner.org>
-" Last Change:	Fri, 20 October 2017
+" Last Change:	Thur, 09 November 2017
 " https://github.com/tpict/vim-ftplugin-python
 
 if exists("b:did_ftplugin") | finish | endif
@@ -29,8 +29,8 @@ let b:next_endtoplevel='\v%$\|\S.*\n+(de
 let b:prev_endtoplevel='\v\S.*\n+(def\|class)'
 let b:next='\v%$\|^\s*(class\|def\|async def)>'
 let b:prev='\v^\s*(class\|def\|async def)>'
-let b:next_end='\v\S\n*(%$\|^\s*(class\|def\|async def)\|^\S)'
-let b:prev_end='\v\S\n*(^\s*(class\|def\|async def)\|^\S)'
+let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
+let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
 
 execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
 execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
@@ -43,8 +43,8 @@ execute "nnoremap <silent> <buffer> [M :
 
 execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
 execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
-execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
-execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
+execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
+execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
 execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
 execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
 execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
@@ -52,8 +52,8 @@ execute "onoremap <silent> <buffer> [M :
 
 execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
 execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
-execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
-execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
+execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
+execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
 execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
 execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
 execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:	Vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2014 Sep 07
+" Last Change:	2017 Nov 06
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -25,6 +25,9 @@ setlocal fo-=t fo+=croql
 " keyword character.  E.g., for netrw#Nread().
 setlocal isk+=#
 
+" Use :help to lookup the keyword under the cursor with K.
+setlocal keywordprg=:help
+
 " Set 'comments' to format dashed lists in comments
 setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
 
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -269,7 +269,7 @@ func s:HandleEvaluate(msg)
   let value = substitute(value, '\\"', '"', 'g')
   echomsg '"' . s:evalexpr . '": ' . value
 
-  if s:evalexpr[0] != '*' && value =~ '^0x' && value !~ '"$'
+  if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
     " Looks like a pointer, also display what it points to.
     let s:evalexpr = '*' . s:evalexpr
     call term_sendkeys(s:commbuf, '-data-evaluate-expression "' . s:evalexpr . "\"\r")
--- a/runtime/plugin/manpager.vim
+++ b/runtime/plugin/manpager.vim
@@ -1,6 +1,6 @@
 " Vim plugin for using Vim as manpager.
 " Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
-" Last Change: 2016 May 20
+" Last Change: 2017 November 07
 
 " $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
 if empty($MAN_PN)
@@ -10,17 +10,17 @@ endif
 command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
 
 function! s:MANPAGER()
-  let page_pattern = '\v\w+%([-_.]\w+)*'
+  let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
   let sec_pattern = '\v\w+%(\+\w+)*'
   let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
 
   if $MAN_PN is '1'
-    let manpage = matchstr( getline(1), '^' . pagesec_pattern )
+    let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
   else
-    let manpage = expand('$MAN_PN')
+    let manpage = expand($MAN_PN)
   endif
 
-  let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern  . '$')
+  let page_sec = matchlist(manpage, '^' . pagesec_pattern  . '$')
 
   bwipe!
 
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2017 Aug 18
+" Last Change: 2017 Nov 04
 " URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -17,6 +17,8 @@ set cpo&vim
 " Should match case except for the keys of each field
 syn case match
 
+syn iskeyword @,48-57,-,/
+
 " Everything that is not explicitly matched by the rules below
 syn match debcontrolElse "^.*$"
 
@@ -24,24 +26,50 @@ syn match debcontrolElse "^.*$"
 syn match debControlComma ",[ \t]*"
 syn match debControlSpace "[ \t]"
 
-let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)'
-let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386'
-      \ . '\|ia64\|lpia\|m32r\|m68k\|mipsel\|mips64el\|mips\|powerpcspe\|powerpc\|ppc64el'
-      \ . '\|ppc64\|s390x\|s390\|sh3eb\|sh3\|sh4eb\|sh4\|sh\|sparc64\|sparc\|x32\)'
-let s:pairs = 'hurd-i386\|kfreebsd-i386\|kfreebsd-amd64\|knetbsd-i386\|kopensolaris-i386\|netbsd-alpha\|netbsd-i386'
+let s:kernels = ['linux', 'hurd', 'kfreebsd', 'knetbsd', 'kopensolaris', 'netbsd']
+let s:archs = [
+      \ 'alpha', 'amd64', 'armeb', 'armel', 'armhf', 'arm64', 'avr32', 'hppa'
+      \, 'i386', 'ia64', 'lpia', 'm32r', 'm68k', 'mipsel', 'mips64el', 'mips'
+      \, 'powerpcspe', 'powerpc', 'ppc64el', 'ppc64', 's390x', 's390', 'sh3eb'
+      \, 'sh3', 'sh4eb', 'sh4', 'sh', 'sparc64', 'sparc', 'x32'
+      \ ]
+let s:pairs = [
+      \ 'hurd-i386', 'kfreebsd-i386', 'kfreebsd-amd64', 'knetbsd-i386'
+      \, 'kopensolaris-i386', 'netbsd-alpha', 'netbsd-i386'
+      \ ]
 
 " Define some common expressions we can use later on
-exe 'syn match debcontrolArchitecture contained "\%(all\|'. s:kernels .'-any\|\%(any-\)\='. s:archs .'\|'. s:pairs .'\|any\)"'
+syn keyword debcontrolArchitecture contained all any
+exe 'syn keyword debcontrolArchitecture contained '. join(map(s:kernels, {k,v -> v .'-any'}))
+exe 'syn keyword debcontrolArchitecture contained '. join(map(s:archs, {k,v -> 'any-'.v}))
+exe 'syn keyword debcontrolArchitecture contained '. join(s:archs)
+exe 'syn keyword debcontrolArchitecture contained '. join(s:pairs)
 
 unlet s:kernels s:archs s:pairs
 
-syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
+let s:sections = [
+      \ 'admin', 'cli-mono', 'comm', 'database', 'debian-installer', 'debug'
+      \, 'devel', 'doc', 'editors', 'education', 'electronics', 'embedded'
+      \, 'fonts', 'games', 'gnome', 'gnustep', 'gnu-r', 'golang', 'graphics'
+      \, 'hamradio', 'haskell', 'httpd', 'interpreters', 'introspection'
+      \, 'java', 'javascript', 'kde', 'kernel', 'libs', 'libdevel', 'lisp'
+      \, 'localization', 'mail', 'math', 'metapackages', 'misc', 'net'
+      \, 'news', 'ocaml', 'oldlibs', 'otherosfs', 'perl', 'php', 'python'
+      \, 'ruby', 'rust', 'science', 'shells', 'sound', 'text', 'tex'
+      \, 'utils', 'vcs', 'video', 'web', 'x11', 'xfce', 'zope'
+      \ ]
+
+syn keyword debcontrolMultiArch contained no foreign allowed same
 syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
-syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
-syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java%(script)=|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
-syn match debcontrolPackageType contained "u\?deb"
+syn keyword debcontrolPriority contained extra important optional required standard
+exe 'syn match debcontrolSection contained "\%(\%(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\%('.join(s:sections, '\|').'\)"'
+syn keyword debcontrolPackageType contained udeb deb
 syn match debcontrolVariable contained "\${.\{-}}"
-syn match debcontrolDmUpload contained "\cyes"
+syn keyword debcontrolDmUpload contained yes
+syn keyword debcontrolYesNo contained yes no
+syn match debcontrolR3 contained "\<\%(no\|binary-targets\|[[:graph:]]\+/[[:graph:]]\+\%( \+[[:graph:]]\+/[[:graph:]]\+\)*\)\>"
+
+unlet s:sections
 
 " A URL (using the domain name definitions from RFC 1034 and 1738), right now
 " only enforce protocol and some sanity on the server/path part;
@@ -59,15 +87,28 @@ syn match debcontrolComment "^#.*$" cont
 
 syn case ignore
 
-" List of all legal keys
-syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=Testsuite\): *"
+" List of all legal keys, in order, from deb-src-control(5)
+" Source fields
+syn match debcontrolKey contained "^\%(Source\|Maintainer\|Uploaders\|Standards-Version\|Description\|Homepage\|Bugs\|Rules-Requires-Root\): *"
+syn match debcontrolKey contained "^\%(XS-\)\=Vcs-\%(Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\|Browser\): *"
+syn match debcontrolKey contained "^\%(Origin\|Section\|Priority\): *"
+syn match debcontrolKey contained "^Build-\%(Depends\|Conflicts\)\%(-Arch\|-Indep\)\=: *"
+
+" Binary fields
+syn match debcontrolKey contained "^\%(Package\%(-Type\)\=\|Architecture\|Build-Profiles\): *"
+syn match debcontrolKey contained "^\%(\%(Build-\)\=Essential\|Multi-Arch\|Tag\): *"
+syn match debcontrolKey contained "^\%(\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\): *"
+syn match debcontrolKey contained "^\%(Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): *"
+
+" User-defined fields
+syn match debcontrolKey contained "^X[SBC]\{0,3\}\%(-Private\)\=-[-a-zA-Z0-9]\+: *"
 
 syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
 
 " Fields for which we do strict syntax checking
 syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
 syn region debcontrolStrictField start="^Multi-Arch" end="$" contains=debcontrolKey,debcontrolMultiArch oneline
-syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
+syn region debcontrolStrictField start="^\%(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
 syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
 syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
 syn region debcontrolStrictField start="^\%(XC-\)\=Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
@@ -77,10 +118,12 @@ syn region debcontrolStrictField start="
 syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
 syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
 syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
+syn region debcontrolStrictField start="^Rules-Requires-Root" end="$" contains=debcontrolKey,debcontrolR3 oneline
+syn region debcontrolStrictField start="^\%(Build-\)\=Essential" end="$" contains=debcontrolKey,debcontrolYesNo oneline
 
 " Catch-all for the other legal fields
-syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
-syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
+syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\|Build-Profiles\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
+syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Uploaders\|X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
 syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell
 
 " Associate our matches and regions with pretty colours
@@ -102,6 +145,8 @@ hi def link debcontrolVcsCvs        Iden
 hi def link debcontrolVcsGit        Identifier
 hi def link debcontrolHTTPUrl       Identifier
 hi def link debcontrolDmUpload      Identifier
+hi def link debcontrolYesNo         Identifier
+hi def link debcontrolR3            Identifier
 hi def link debcontrolComment       Comment
 hi def link debcontrolElse          Special
 
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2017 Apr 22
+" Last Change: 2017 Oct 28
 " URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -23,18 +23,18 @@ let s:cpo = &cpo
 set cpo-=C
 let s:supported = [
       \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
-      \ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
+      \ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
       \
-      \ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel'
+      \ 'trusty', 'xenial', 'zesty', 'artful', 'bionic', 'devel'
       \ ]
 let s:unsupported = [
       \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
-      \ 'woody', 'sarge', 'etch', 'lenny',
+      \ 'woody', 'sarge', 'etch', 'lenny', 'squeeze',
       \
       \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
       \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
       \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
-      \ 'utopic', 'vivid', 'wily'
+      \ 'utopic', 'vivid', 'wily', 'yakkety'
       \ ]
 let &cpo=s:cpo
 
--- a/runtime/syntax/fstab.vim
+++ b/runtime/syntax/fstab.vim
@@ -2,8 +2,8 @@
 " Language: fstab file
 " Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
 " URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
-" Last Change: 2013 May 21
-" Version: 1.0
+" Last Change: 2017 Nov 09
+" Version: 1.2
 "
 " Credits:
 "   David Necas (Yeti) <yeti@physics.muni.cz>
@@ -38,10 +38,14 @@ syn match fsDeviceError /\%([^a-zA-Z0-9_
 syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
 syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
 syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
+syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL
+syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDevicePARTUUID
 syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
 syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/
 syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator
 syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
+syn match fsDevicePARTLABEL contained /=[^ \t]\+/hs=s+1 contains=fsOperator
+syn match fsDevicePARTUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
 syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator
 
 " Mount Point
@@ -64,7 +68,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-]
 syn keyword fsOptionsYesNo yes no
 syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
 syn keyword fsOptionsSize 512 1024 2048
-syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand nosuid nosymfollow nouser owner rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user users xx
+syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx
 syn match fsOptionsGeneral /_netdev/
 
 " Options: adfs
@@ -137,7 +141,7 @@ syn match fsOptionsKeywords contained /\
 syn match fsOptionsKeywords contained /\<\%(session\|part\)=/ nextgroup=fsOptionsNumber
 
 " Options: ffs
-syn keyword fsOptionsKeyWords contained softdep
+syn keyword fsOptionsKeyWords contained noperm softdep
 
 " Options: hpfs
 syn match fsOptionsKeywords contained /\<case=/ nextgroup=fsOptionsHpfsCase
@@ -228,7 +232,6 @@ syn match fsFreqPass /\s\+.\{-}$/ contai
 " Whole line comments
 syn match fsCommentLine /^#.*$/ contains=@Spell
 
-
 hi def link fsOperator Operator
 hi def link fsComment Comment
 hi def link fsCommentLine Comment
@@ -237,15 +240,17 @@ hi def link fsTypeKeyword Type
 hi def link fsDeviceKeyword Identifier
 hi def link fsDeviceLabel String
 hi def link fsDeviceUUID String
+hi def link fsDevicePARTLABEL String
+hi def link fsDevicePARTUUID String
 hi def link fsDeviceSshfs String
 hi def link fsFreqPassNumber Number
 
 if exists('fstab_unknown_fs_errors') && fstab_unknown_fs_errors == 1
-hi def link fsTypeUnknown Error
+	hi def link fsTypeUnknown Error
 endif
 
 if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
-hi def link fsDeviceError Error
+	hi def link fsDeviceError Error
 endif
 
 hi def link fsMountPointError Error
@@ -278,7 +283,6 @@ hi def link fsOptionsUfsError String
 
 hi def link fsOptionsVfatShortname String
 
-
 let b:current_syntax = "fstab"
 
 let &cpo = s:cpo_save
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -512,7 +512,7 @@ if !exists("g:tex_no_math")
   if &ambw == "double" || exists("g:tex_usedblwidth")
     let s:texMathDelimList= s:texMathDelimList + [
      \ ['\\langle'     , '〈'] ,
-     \ ['\\rangle'     , '〉'] ,
+     \ ['\\rangle'     , '〉']]
   else
     let s:texMathDelimList= s:texMathDelimList + [
      \ ['\\langle'     , '<'] ,