diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 73fc9a8..403ef4f 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 9.0.  Last change: 2023 Sep 18
+*motion.txt*    For Vim version 9.0.  Last change: 2023 Sep 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -592,14 +592,16 @@
 a[			"a [] block", select [count] '[' ']' blocks.  This
 			goes backwards to the [count] unclosed '[', and finds
 			the matching ']'.  The enclosed text is selected,
-			including the '[' and ']'.
+			including the '[' and ']'.  The |cpo-M| option flag
+			is used to handle escaped brackets.
 			When used in Visual mode it is made characterwise.
 
 i]						*v_i]* *v_i[* *i]* *i[*
 i[			"inner [] block", select [count] '[' ']' blocks.  This
 			goes backwards to the [count] unclosed '[', and finds
 			the matching ']'.  The enclosed text is selected,
-			excluding the '[' and ']'.
+			excluding the '[' and ']'.  The |cpo-M| option flag
+			is used to handle escaped brackets.
 			When used in Visual mode it is made characterwise.
 
 a)							*v_a)* *a)* *a(*
@@ -607,7 +609,8 @@
 ab			"a block", select [count] blocks, from "[count] [(" to
 			the matching ')', including the '(' and ')' (see
 			|[(|).  Does not include white space outside of the
-			parenthesis.
+			parenthesis.  The |cpo-M| option flag is used to
+			handle escaped parenthesis.
 			When used in Visual mode it is made characterwise.
 
 i)							*v_i)* *i)* *i(*
@@ -615,19 +618,22 @@
 ib			"inner block", select [count] blocks, from "[count] [("
 			to the matching ')', excluding the '(' and ')' (see
 			|[(|).  If the cursor is not inside a () block, then
-			find the next "(".
+			find the next "(".  The |cpo-M| option flag
+			is used to handle escaped parenthesis.
 			When used in Visual mode it is made characterwise.
 
 a>						*v_a>* *v_a<* *a>* *a<*
 a<			"a <> block", select [count] <> blocks, from the
 			[count]'th unmatched '<' backwards to the matching
-			'>', including the '<' and '>'.
+			'>', including the '<' and '>'.  The |cpo-M| option flag
+			is used to handle escaped '<' and '>'.
 			When used in Visual mode it is made characterwise.
 
 i>						*v_i>* *v_i<* *i>* *i<*
 i<			"inner <> block", select [count] <> blocks, from
 			the [count]'th unmatched '<' backwards to the matching
-			'>', excluding the '<' and '>'.
+			'>', excluding the '<' and '>'.  The |cpo-M| option flag
+			is used to handle escaped '<' and '>'.
 			When used in Visual mode it is made characterwise.
 
 						*v_at* *at*
@@ -649,14 +655,16 @@
 a{							*v_aB* *v_a{* *aB*
 aB			"a Block", select [count] Blocks, from "[count] [{" to
 			the matching '}', including the '{' and '}' (see
-			|[{|).
+			|[{|).  The |cpo-M| option flag is used to handle
+			escaped braces.
 			When used in Visual mode it is made characterwise.
 
 i}							*v_i}* *i}* *i{*
 i{							*v_iB* *v_i{* *iB*
 iB			"inner Block", select [count] Blocks, from "[count] [{"
 			to the matching '}', excluding the '{' and '}' (see
-			|[{|).
+			|[{|).  The |cpo-M| option flag is used to handle
+			escaped braces.
 			When used in Visual mode it is made characterwise.
 
 a"							*v_aquote* *aquote*
