diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0f04980..f2a9f65 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1474,10 +1474,11 @@
 		command.  See |multi-lang|.
 
 						*v:lnum* *lnum-variable*
-v:lnum		Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
-		expressions, tab page number for 'guitablabel' and
-		'guitabtooltip'.  Only valid while one of these expressions is
-		being evaluated.  Read-only when in the |sandbox|.
+v:lnum		Line number for the 'foldexpr' |fold-expr|, 'formatexpr' and
+		'indentexpr' expressions, tab page number for 'guitablabel'
+		and 'guitabtooltip'.  Only valid while one of these
+		expressions is being evaluated.  Read-only when in the
+		|sandbox|.
 
 					*v:mouse_win* *mouse_win-variable*
 v:mouse_win	Window number for a mouse click obtained with |getchar()|.
@@ -8246,11 +8247,11 @@
 ==============================================================================
 11. The sandbox					*eval-sandbox* *sandbox* *E48*
 
-The 'foldexpr', 'includeexpr', 'indentexpr', 'statusline' and 'foldtext'
-options are evaluated in a sandbox.  This means that you are protected from
-these expressions having nasty side effects.  This gives some safety for when
-these options are set from a modeline.	It is also used when the command from
-a tags file is executed and for CTRL-R = in the command line.
+The 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' and
+'foldtext' options may be evaluated in a sandbox.  This means that you are
+protected from these expressions having nasty side effects.  This gives some
+safety for when these options are set from a modeline.  It is also used when
+the command from a tags file is executed and for CTRL-R = in the command line.
 The sandbox is also used for the |:sandbox| command.
 
 These items are not allowed in the sandbox:
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 42e6478..4353551 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -16,8 +16,10 @@
 
 {Vi does not have any of these commands}
 
-The Python interface is available only when Vim was compiled with the
+The Python 2.x interface is available only when Vim was compiled with the
 |+python| feature.
+The Python 3 interface is available only when Vim was compiled with the
+|+python3| feature.
 
 ==============================================================================
 1. Commands						*python-commands*
@@ -333,7 +335,7 @@
 
 Python 3 support can exist next to Python 2.x.
 
-*:py3* *:python3* *:py3file*
+*:py3* *:py3file*
 
 TODO
 
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 6a4839b..069154a 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1382,6 +1382,8 @@
 |:ptselect|	:pts[elect]	|:tselect| and show tag in preview window
 |:put|		:pu[t]		insert contents of register in the text
 |:pwd|		:pw[d]		print current directory
+|:py3|		:py3		execute Python 3 command
+|:p3yfile|	:py3f[ile]	execute Python 3 script file
 |:python|	:py[thon]	execute Python command
 |:pyfile|	:pyf[ile]	execute Python script file
 |:quit|		:q[uit]		quit current window (when one window quit Vim)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index acfbf60..7767177 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3125,12 +3125,15 @@
 			{not available when compiled without the |+eval|
 			feature}
 	Expression which is evaluated to format a range of lines for the |gq|
-	operator.  When this option is empty 'formatprg' is used.
+	operator or automatic formatting (see 'formatoptions').  When this
+	option is empty 'formatprg' is used.
 
 	The |v:lnum|  variable holds the first line to be formatted.
 	The |v:count| variable holds the number of lines to be formatted.
 	The |v:char|  variable holds the character that is going to be
-		      inserted.  This can be empty.  Don't insert it yet!
+		      inserted if the expression is being evaluated due to
+		      automatic formatting.  This can be empty.  Don't insert
+		      it yet!
 
 	Example: >
 		:set formatexpr=mylang#Format()
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 3e83ef7..e45796f 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -741,7 +741,7 @@
 			RANGE|EXTRA|NEEDARG|CMDWIN),
 EX(CMD_pyfile,		"pyfile",	ex_pyfile,
 			RANGE|FILE1|NEEDARG|CMDWIN),
-EX(CMD_python3,		"py3",	ex_python3,
+EX(CMD_py3,		"py3",		ex_py3,
 			RANGE|EXTRA|NEEDARG|CMDWIN),
 EX(CMD_py3file,		"py3file",	ex_py3file,
 			RANGE|FILE1|NEEDARG|CMDWIN),
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c57db94..b56fb67 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -270,7 +270,7 @@
 # define ex_pyfile		ex_ni
 #endif
 #ifndef FEAT_PYTHON3
-# define ex_python3		ex_script_ni
+# define ex_py3			ex_script_ni
 # define ex_py3file		ex_ni
 #endif
 #ifndef FEAT_TCL
@@ -2562,7 +2562,7 @@
 	    case CMD_perl:
 	    case CMD_psearch:
 	    case CMD_python:
-	    case CMD_python3:
+	    case CMD_py3:
 	    case CMD_return:
 	    case CMD_rightbelow:
 	    case CMD_ruby:
@@ -2825,7 +2825,7 @@
     {
 	while (ASCII_ISALPHA(*p))
 	    ++p;
-	/* for python 3.x support (:py3, :python3) */
+	/* for python 3.x support ":py3" (and ":py4" :-) */
 	if (eap->cmd[0] == 'p' && eap->cmd[1] == 'y')
 	    p = skipdigits(p);
 
diff --git a/src/if_python3.c b/src/if_python3.c
index 410dc14..422878a 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -630,9 +630,9 @@
 }
 
 /*
- * ":python3"
+ * ":py3"
  */
-void ex_python3(exarg_T *eap)
+void ex_py3(exarg_T *eap)
 {
     char_u *script;
 
diff --git a/src/proto/if_python3.pro b/src/proto/if_python3.pro
index a2c7e4c..f9921e1 100644
--- a/src/proto/if_python3.pro
+++ b/src/proto/if_python3.pro
@@ -1,7 +1,7 @@
 /* if_python3.c */
 int python3_enabled __ARGS((int verbose));
 void python3_end __ARGS((void));
-void ex_python3 __ARGS((exarg_T *eap));
+void ex_py3 __ARGS((exarg_T *eap));
 void ex_py3file __ARGS((exarg_T *eap));
 void python3_buffer_free __ARGS((buf_T *buf));
 void python3_window_free __ARGS((win_T *win));
