Added support for Python 3. (Roland Puntaier)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 499ff16..590f36b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -129,8 +129,8 @@
 static int	check_more __ARGS((int, int));
 static linenr_T get_address __ARGS((char_u **, int skip, int to_other_file));
 static void	get_flags __ARGS((exarg_T *eap));
-#if !defined(FEAT_PERL) || !defined(FEAT_PYTHON) || !defined(FEAT_TCL) \
-	|| !defined(FEAT_RUBY) || !defined(FEAT_MZSCHEME)
+#if !defined(FEAT_PERL) || !defined(FEAT_PYTHON) || !defined(FEAT_PYTHON3) \
+	|| !defined(FEAT_TCL) || !defined(FEAT_RUBY) || !defined(FEAT_MZSCHEME)
 # define HAVE_EX_SCRIPT_NI
 static void	ex_script_ni __ARGS((exarg_T *eap));
 #endif
@@ -265,6 +265,10 @@
 # define ex_python		ex_script_ni
 # define ex_pyfile		ex_ni
 #endif
+#ifndef FEAT_PYTHON3
+# define ex_python3		ex_script_ni
+# define ex_py3file		ex_ni
+#endif
 #ifndef FEAT_TCL
 # define ex_tcl			ex_script_ni
 # define ex_tcldo		ex_ni
@@ -2554,6 +2558,7 @@
 	    case CMD_perl:
 	    case CMD_psearch:
 	    case CMD_python:
+	    case CMD_python3:
 	    case CMD_return:
 	    case CMD_rightbelow:
 	    case CMD_ruby:
@@ -2816,6 +2821,10 @@
     {
 	while (ASCII_ISALPHA(*p))
 	    ++p;
+        /* for python 3.x support (:py3, :python3) */
+        if (eap->cmd[0] == 'p' && eap->cmd[1] == 'y')
+	    p = skipdigits(p);
+
 	/* check for non-alpha command */
 	if (p == eap->cmd && vim_strchr((char_u *)"@*!=><&~#", *p) != NULL)
 	    ++p;