patch 7.4.1244
Problem:    The channel functions don't sort together.
Solution:   Use a common "ch_" prefix.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 5727918..4a298df 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 01
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Feb 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1810,6 +1810,13 @@
 call( {func}, {arglist} [, {dict}])
 				any	call {func} with arguments {arglist}
 ceil( {expr})			Float	round {expr} up
+ch_close( {handle})		none	close a channel
+ch_open( {address}, {mode} [, {callback}])
+				Number	open a channel
+ch_sendexpr( {handle}, {expr} [, {callback}])
+				any	send {expr} over JSON channel {handle}
+ch_sendraw( {handle}, {string} [, {callback}])
+				any	send {string} over raw channel {handle}
 changenr()			Number	current change number
 char2nr( {expr}[, {utf8}])	Number	ASCII/UTF8 value of first char in {expr}
 cindent( {lnum})		Number	C indent for line {lnum}
@@ -1820,8 +1827,6 @@
 complete_check()		Number	check for key typed during completion
 confirm( {msg} [, {choices} [, {default} [, {type}]]])
 				Number	number of choice picked by user
-connect( {address}, {mode} [, {callback}])
-				Number	open a channel
 copy( {expr})			any	make a shallow copy of {expr}
 cos( {expr})			Float	cosine of {expr}
 cosh( {expr})			Float	hyperbolic cosine of {expr}
@@ -2029,10 +2034,6 @@
 				List	search for other end of start/end pair
 searchpos( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
 				List	search for {pattern}
-sendexpr( {handle}, {expr} [, {callback}])
-				any	send {expr} over JSON channel {handle}
-sendraw( {handle}, {string} [, {callback}])
-				any	send {string} over raw channel {handle}
 server2client( {clientid}, {string})
 				Number	send reply string
 serverlist()			String	get a list of available servers
@@ -2666,7 +2667,10 @@
 		don't fit, a vertical layout is used anyway.  For some systems
 		the horizontal layout is always used.
 
-connect({address}, {mode} [, {callback}])		*connect()*
+ch_close({handle})					*ch_close()*
+		Close channel {handle}.  See |channel|.
+
+ch_open({address}, {mode} [, {callback}])		*ch_open()*
 		Open a channel to {address}.  See |channel|.
 		Returns the channel handle on success.  Returns a negative
 		number for failure.
@@ -2680,6 +2684,23 @@
 		{callback} is a function that handles received messages on the
 		channel.  See |channel-callback|.
 
+ch_sendexpr({handle}, {expr} [, {callback}])		ch_*sendexpr()*
+		Send {expr} over JSON channel {handle}.  See |channel-use|.
+
+		When {callback} is given returns immediately.  Without
+		{callback} waits for a JSON response and returns the decoded
+		expression.  When there is an error or timeout returns an
+		empty string.
+
+		When {callback} is zero no response is expected.
+		Otherwise {callback} must be a Funcref or the name of a
+		function.  It is called when the response is received.  See
+		|channel-callback|.
+
+ch_sendraw({handle}, {string} [, {callback}])		*ch_sendraw()*
+		Send {string} over raw channel {handle}.  See |channel-raw|.
+		Works like |ch_sendexpr()|, but does not decode the response.
+
 							*copy()*
 copy({expr})	Make a copy of {expr}.	For Numbers and Strings this isn't
 		different from using {expr} directly.
@@ -5615,23 +5636,6 @@
 <		In this example "submatch" is 2 when a lowercase letter is
 		found |/\l|, 3 when an uppercase letter is found |/\u|.
 
-sendexpr({handle}, {expr} [, {callback}])		*sendexpr()*
-		Send {expr} over JSON channel {handle}.  See |channel-use|.
-
-		When {callback} is given returns immediately.  Without
-		{callback} waits for a JSON response and returns the decoded
-		expression.  When there is an error or timeout returns an
-		empty string.
-
-		When {callback} is zero no response is expected.
-		Otherwise {callback} must be a Funcref or the name of a
-		function.  It is called when the response is received.  See
-		|channel-callback|.
-
-sendraw({handle}, {string} [, {callback}])		*sendraw()*
-		Send {string} over raw channel {handle}.  See |channel-raw|.
-		Works like |sendexpr()|, but does not decode the response.
-
 server2client( {clientid}, {string})			*server2client()*
 		Send a reply string to {clientid}.  The most recent {clientid}
 		that sent a string can be retrieved with expand("<client>").
diff --git a/runtime/tools/demoserver.py b/runtime/tools/demoserver.py
index 0f6a374..9f22aa2 100644
--- a/runtime/tools/demoserver.py
+++ b/runtime/tools/demoserver.py
@@ -1,15 +1,21 @@
 #!/usr/bin/python
+#
 # Server that will accept connections from a Vim channel.
 # Run this server and then in Vim you can open the channel:
-#  :let handle = connect('localhost:8765', 'json')
+#  :let handle = ch_open('localhost:8765', 'json')
 #
 # Then Vim can send requests to the server:
-#  :let response = sendexpr(handle, 'hello!')
+#  :let response = ch_sendexpr(handle, 'hello!')
 #
 # And you can control Vim by typing a JSON message here, e.g.:
 #   ["ex","echo 'hi there'"]
 #
+# There is no prompt, just type a line and press Enter.
+# To exit cleanly type "quit<Enter>".
+#
 # See ":help channel-demo" in Vim.
+#
+# This requires Python 2.6 or later.
 
 from __future__ import print_function
 import json