Updated runtime files.
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index aa31816..0f32964 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 7.4.  Last change: 2016 Feb 21
+*channel.txt*      For Vim version 7.4.  Last change: 2016 Feb 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -160,9 +160,13 @@
 	func MyCloseHandler(channel)
 <							*waittime*
 "waittime"	The time to wait for the connection to be made in
-		milliseconds.  The default is zero, don't wait, which is
-		useful if the server is supposed to be running already.  A
-		negative number waits forever.
+		milliseconds.  A negative number waits forever.
+
+		The default is zero, don't wait, which is useful if a local
+		server is supposed to be running already.  On Unix Vim
+		actually uses a 1 msec timeout, that is required on many
+		systems.  Use a larger value for a remote server, e.g.  10
+		msec at least.
 
 "timeout"	The time to wait for a request when blocking, E.g. when using
 		ch_sendexpr().  In milliseconds.  The default is 2000 (2
@@ -253,7 +257,8 @@
 channel does not have a handler the message is dropped.
 
 On read error or ch_close(), when using a socket, the string "DETACH" is sent,
-if still possible.  The channel will then be inactive.
+if still possible.  The channel will then be inactive. For a JSON and JS mode
+channel quotes are used around DETACH, otherwise there are no quotes.
 
 It is also possible to use ch_sendraw() on a JSON or JS channel.  The caller
 is then completely responsible for correct encoding and decoding.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index abc022d..8fc0d1e 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2016 Feb 21
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Feb 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1961,6 +1961,7 @@
 invert( {expr})			Number  bitwise invert
 isdirectory( {directory})	Number	TRUE if {directory} is a directory
 islocked( {expr})		Number	TRUE if {expr} is locked
+isnan( {expr})			Number  TRUE if {expr} is NaN
 items( {dict})			List	key-value pairs in {dict}
 job_getchannel( {job})		Channel	get the channel handle for {job}
 job_setoptions( {job}, {options}) none	set options for {job}
@@ -4397,6 +4398,13 @@
 <		When {expr} is a variable that does not exist you get an error
 		message.  Use |exists()| to check for existence.
 
+isnan({expr})						*isnan()*
+		Return non-zero if {expr} is a float with value NaN. >
+			echo isnan(0.0 / 0.0)
+<			1 ~
+
+		{only available when compiled with the |+float| feature}
+
 items({dict})						*items()*
 		Return a |List| with all the key-value pairs of {dict}.  Each
 		|List| item is a list with two items: the key of a {dict}
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 23ad1dc..9686363 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.4.  Last change: 2016 Jan 10
+*help.txt*	For Vim version 7.4.  Last change: 2016 Feb 22
 
 			VIM - main help file
 									 k
@@ -155,7 +155,6 @@
 
 GUI ~
 |gui.txt|	Graphical User Interface (GUI)
-|gui_w16.txt|	Windows 3.1 GUI
 |gui_w32.txt|	Win32 GUI
 |gui_x11.txt|	X11 GUI
 
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index d23edd0..fe4184a 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.4.  Last change: 2016 Jan 19
+*index.txt*     For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1324,6 +1324,7 @@
 |:lnfile|	:lnf[ile]	go to first location in next file
 |:lnoremap|	:ln[oremap]	like ":noremap!" but includes Lang-Arg mode
 |:loadkeymap|	:loadk[eymap]	load the following keymaps until EOF
+|:loadplugin|	:loadp[lugin]	load a plugin from 'packpath'
 |:loadview|	:lo[adview]	load view for current window from a file
 |:lockmarks|	:loc[kmarks]	following command keeps marks where they are
 |:lockvar|	:lockv[ar]	lock variables
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2378aa9..09518c0 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2016 Feb 21
+*options.txt*	For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1211,10 +1211,7 @@
 'bioskey' 'biosk'	boolean	(default on)
 			global
 			{not in Vi}  {only for MS-DOS}
-	When on the BIOS is called to obtain a keyboard character.  This works
-	better to detect CTRL-C, but only works for the console.  When using a
-	terminal over a serial port reset this option.
-	Also see |'conskey'|.
+	This was for MS-DOS and is no longer supported.
 
 							*'bomb'* *'nobomb'*
 'bomb'			boolean	(default off)
@@ -1946,13 +1943,7 @@
 'conskey' 'consk'	boolean	(default off)
 			global
 			{not in Vi}  {only for MS-DOS}
-	When on direct console I/O is used to obtain a keyboard character.
-	This should work in most cases.  Also see |'bioskey'|.  Together,
-	three methods of console input are available:
-	'conskey'   'bioskey'	    action ~
-	   on	     on or off	    direct console input
-	   off		on	    BIOS
-	   off		off	    STDIN
+	This was for MS-DOS and is no longer supported.
 
 			*'copyindent'* *'ci'* *'nocopyindent'* *'noci'*
 'copyindent' 'ci'	boolean	(default off)
@@ -5412,7 +5403,6 @@
 				*'packpath'* *'pp'*
 'packpath' 'pp'		string	(default: see 'runtimepath')
 			{not in Vi}
-			{not available without the |+packages| feature}
 	Directories used to find packages.  See |packages|.
 
 
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 8450cdd..8d415ae 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.4.  Last change: 2015 Nov 10
+*quickref.txt*  For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -810,7 +810,8 @@
 'omnifunc'	  'ofu'     function for filetype-specific completion
 'opendevice'	  'odev'    allow reading/writing devices on MS-Windows
 'operatorfunc'	  'opfunc'  function to be called for |g@| operator
-'osfiletype' 	  'oft'     no longer supported
+'osfiletype'	  'oft'     no longer supported
+'packpath'	  'pp'      list of directories used for packages
 'paragraphs'	  'para'    nroff macros that separate paragraphs
 'paste'			    allow pasting text
 'pastetoggle'	  'pt'	    key code that causes 'paste' to toggle
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 1ea7253..db1ec9b 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.4.  Last change: 2016 Feb 21
+*repeat.txt*    For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -227,8 +227,6 @@
 
 			Also see |load-plugin|.
 
-			{not available without the |+packages| feature}
-
 :scripte[ncoding] [encoding]		*:scripte* *:scriptencoding* *E167*
 			Specify the character encoding used in the script.
 			The following lines will be converted from [encoding]
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 45d4a08..59caa1a 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2016 Jan 28
+*syntax.txt*	For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3361,6 +3361,13 @@
 only difference between schemas defined in YAML specification and the only 
 difference defined in the syntax file.
 
+
+ZSH						    *zsh.vim* *ft-zsh-syntax*
+
+The syntax script for zsh allows for syntax-based folding: >
+
+	:let g:zsh_fold_enable = 1
+
 ==============================================================================
 5. Defining a syntax					*:syn-define* *E410*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index af27b78..e28ee71 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2446,6 +2446,8 @@
 :lo	starting.txt	/*:lo*
 :loadk	mbyte.txt	/*:loadk*
 :loadkeymap	mbyte.txt	/*:loadkeymap*
+:loadp	repeat.txt	/*:loadp*
+:loadplugin	repeat.txt	/*:loadplugin*
 :loadview	starting.txt	/*:loadview*
 :loc	motion.txt	/*:loc*
 :lockmarks	motion.txt	/*:lockmarks*
@@ -6038,6 +6040,7 @@
 ft-xml-syntax	syntax.txt	/*ft-xml-syntax*
 ft-xpm-syntax	syntax.txt	/*ft-xpm-syntax*
 ft-yaml-syntax	syntax.txt	/*ft-yaml-syntax*
+ft-zsh-syntax	syntax.txt	/*ft-zsh-syntax*
 ft_ada.txt	ft_ada.txt	/*ft_ada.txt*
 ft_sql.txt	ft_sql.txt	/*ft_sql.txt*
 ftdetect	filetype.txt	/*ftdetect*
@@ -6829,6 +6832,7 @@
 is	motion.txt	/*is*
 isdirectory()	eval.txt	/*isdirectory()*
 islocked()	eval.txt	/*islocked()*
+isnan()	eval.txt	/*isnan()*
 it	motion.txt	/*it*
 italic	syntax.txt	/*italic*
 items()	eval.txt	/*items()*
@@ -6950,6 +6954,7 @@
 lite.vim	syntax.txt	/*lite.vim*
 literal-string	eval.txt	/*literal-string*
 lnum-variable	eval.txt	/*lnum-variable*
+load-plugin	repeat.txt	/*load-plugin*
 load-plugins	starting.txt	/*load-plugins*
 load-vim-script	repeat.txt	/*load-vim-script*
 local-additions	help.txt	/*local-additions*
@@ -9193,6 +9198,7 @@
 zo	fold.txt	/*zo*
 zr	fold.txt	/*zr*
 zs	scroll.txt	/*zs*
+zsh.vim	syntax.txt	/*zsh.vim*
 zt	scroll.txt	/*zt*
 zuG	spell.txt	/*zuG*
 zuW	spell.txt	/*zuW*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index aece38c..f8f9104 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Feb 20
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Feb 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,41 +35,35 @@
 -------------------- Known bugs and current work -----------------------
 
 +channel:
-- channel needs both stdout and stderr (GUI implementation, queues)
-   - ch_read() for stderr
-- implement TODO items in ":help channel":
-   - implement ch_setoptions(handle, {options})
-   - job_setoptions(job, {options})
-   - ch_close() closes stdin/stdout/stderr
-   - out-cb
-   - err-cb
-   - exit-cb  move code from mch_clear_job()
-   - job argument: killonexit
-   - ch_getjob(handle)
-   - ch_read(handle [, timeout])
-   - ch_readall(handle [, timeout])
-   - job_info() should remove usable info: process ID, run/dead, etc.
-   - job_maystart()
-   - job_gethandle(), job_sethandle()
-   - add ch_status(): Whether channel is open.  Perhaps also mode, timeout.
-   - When channel closes invoke "close-cb".
-- Add "call" to call a function with a list of arguments. (Damien)
-    merge "expr" and "eval", send something back if there is a third arg?
+- don't free channel if there are callbacks.
+    netbeans channel leaks?
+- job_stop() on MS-Windows: "term" should probably do the same as "kill".
+- Make JSON encode and decode NaN and Infinity.
 - A callback on ch_sendraw() should be put at the end of the list of callback
   handlers.  When a message arrives invoke the first one and remove it.
-- Support channel without socket support.  Useful for starting a job with
-  pipes.  Need another feature, +socket ?
+- implement TODO items in ":help channel":
+   - job_start() options:
+	term
+	in-io
+	in-file
+	out-io
+	out-file
+	out-buffer
+	err-io
+	err-file
+	err-buffer
+	existing channel to use
+   - job_maystart()
+   - add job_info(): process ID, run/dead, etc.
+   - add ch_info(): in/out/err mode, timeout, callbacks, etc.
 - Move more details from eval.txt to channel.txt.  Add tags in eval.txt.
 - When receiving malformed json starting with a quote it doesn't get
   discarded.
-- When message in queue but there is no callback, drop it after a while?
-- Crash when closing channel after ch_sendexpr() with callback and outstanding
-  request (Christian Robinson).
-- cleanup on exit?  in mch_getout() and getout().
-- On Mac a 1 msec waittime is needed in ch_open(), why?
-- Add more log calls, basically at every branch, before every callback, etc.
-- Add timestamp to queued messages and callbacks with ID, remove after a
+- When a message in the queue but there is no callback, drop it after a while?
+  Add timestamp to queued messages and callbacks with ID, remove after a
   minute.
+- cleanup on exit?  in mch_getout() and getout().
+- Add more log calls, basically at every branch, before every callback, etc.
 - add remark about undo sync, is there a way to force it?
 - When starting a job, have an option to open the server socket, so we know
   the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
@@ -82,6 +76,8 @@
 - For connection to server, a "keep open" flag would be useful.  Retry
   connecting in the main loop with zero timeout.
 
+Remove the sniff interface?  Looks like it's dead.
+
 More plugin support:
 - Have a way to install a callback from the main loop.  Called every second or
   so.
@@ -94,9 +90,8 @@
       gettabnr({id})	     tab page nr of {id} or -1 if not open
       gotowin({id})
   Make it so that the window ID can be used where currently a window nr is used
-
-Patch on #608: (Ken Takata)
-https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
+  Patch from Anton Lindqvist, 2016 Feb 21, to make bufwinnr() return a list.
+  Perhaps add bufwinid() instead.
 
 This difference is unexpected:
     echo v:true == 1
@@ -109,25 +104,11 @@
 
 Compiler warnings in if_ole.cpp.  Patch by Ken Takata, Feb 18.
 
-Add "runtime/bundles" ?
-    runtime/bundles/netrw/spec.vim
-    runtime/bundles/netrw/autoload/netrw.vim
-    runtime/bundles/netrw/syntax/netrw.vim
-    etc.
-Need an alternative for 'runtimepath' that tells where bundles are to be
-found. 'bundlepath' ?
-The plugins under 'bundlepath' would always be loaded.  Also have a path for
-optional plugins?  'optbundlepath'?  Or have directories "bundlesdef" and
-"bundlesopt"?
-Then use a command "loadplugin" to find a plugin in "optional".
-"bundles" is used by some plugin managers, need another name. "packages"?
-Add a "requires" / "provides" mechanism?
-    if my_feature_enabled
-      require +python
-    endif
-    require my_other_plugin
-~/vim/packages/netrw/def/netrw/plugin/netrw.vim
-~/vim/packages/netrw/opt/nwdebug/plugin/nwdebug.vim
+When running "make install" don't overwrite the doc/tags file, generate it
+elsewhere, so that the distributed file doesn't change.
+
+Fix to support --nofork for Windows batch files. (Kevin Cantú, 2016 Feb 23,
+#658)
 
 Patch to add GTK 3 support. (Kazunobu Kuriyama, 2016 Feb 13)
 
@@ -199,6 +180,14 @@
 Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
 What does it change?
 
+Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
+More tests May 14. Update May 29.  Update Aug 10.
+Now part of large file patches. (Ken Takata, 2016 Feb 1)
+Two patches now?  New update Feb 24.
+
+Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
+Also in update of Feb 24?
+
 Need to try out instructions in INSSTALLpc.txt about how to install all
 interfaces and how to build Vim with them.
 Appveyor build with self-installing executable, includes getting most
@@ -251,12 +240,7 @@
 Patch to avoid redrawing tabline when the popup menu is visible.
 (Christian Brabandt, 2016 Jan 28)
 
-Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
-More tests May 14. Update May 29.  Update Aug 10.
-Now part of large file patches. (Ken Takata, 2016 Feb 1)
-Two patches now?
-
-Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
+Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
 
 7   Add a watchpoint in the debug mode: An expression that breaks execution
     when evaluating to non-zero.  Add the "watchadd expr" command, stop when