Index: doc/user/user.tex
===================================================================
--- doc/user/user.tex	(revision d02d223749b5d23ea78e8a77adfb55e33cabf249)
+++ doc/user/user.tex	(revision fcf34935cc303d67bf0219d576c66ddf0a1c4f97)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:53:29 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Thu Jul 25 16:53:43 2024
-%% Update Count     : 6945
+%% Last Modified On : Fri Jul 26 06:56:11 2024
+%% Update Count     : 6955
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -3326,5 +3326,5 @@
 \subsection{Default}
 
-A default parameter provides the ability to associate a default value with a parameter so it can be optionally specified in the argument list.
+A default parameter associates a default value with a parameter so it can be optionally specified in the argument list.
 For example, given the routine prototype:
 \begin{cfa}
@@ -3337,8 +3337,8 @@
 \textbf{positional arguments} & \textbf{empty arguments} \\
 \begin{cfa}
-f(); §\C[0.75in]{// rewrite \(\Rightarrow\) f( 1, 2, 3 )}§
-f( 4 ); §\C{// rewrite \(\Rightarrow\) f( 4, 2, 3 )}§
-f( 4, 4 ); §\C{// rewrite \(\Rightarrow\) f( 4, 4, 3 )}§
-f( 4, 4, 4 ); §\C{// rewrite \(\Rightarrow\) f( 4, 4, 4 )}\CRT§
+f();			§\C[0.75in]{// rewrite \(\Rightarrow\) f( 1, 2, 3 )}§
+f( 4 );			§\C{// rewrite \(\Rightarrow\) f( 4, 2, 3 )}§
+f( 4, 4 );		§\C{// rewrite \(\Rightarrow\) f( 4, 4, 3 )}§
+f( 4, 4, 4 );	§\C{// rewrite \(\Rightarrow\) f( 4, 4, 4 )}\CRT§
 
 
@@ -3347,14 +3347,15 @@
 &
 \begin{cfa}
-f( ?, 4, 4 ); §\C[1.0in]{// rewrite \(\Rightarrow\) f( 1, 4, 4 )}§
-f( 4, ?, 4 ); §\C{// rewrite \(\Rightarrow\) f( 4, 2, 4 )}§
-f( 4, 4, ? ); §\C{// rewrite \(\Rightarrow\) f( 4, 4, 3 )}§
-f( 4, ?, ? ); §\C{// rewrite \(\Rightarrow\) f( 4, 2, 3 )}§
-f( ?, 4, ? ); §\C{// rewrite \(\Rightarrow\) f( 1, 4, 3 )}§
-f( ?, ?, 4 ); §\C{// rewrite \(\Rightarrow\) f( 1, 2, 4 )}§
-f( ?, ?, ? ); §\C{// rewrite \(\Rightarrow\) f( 1, 2, 3 )}\CRT§
+f( ®?®, 4, 4 );		§\C[1.0in]{// rewrite \(\Rightarrow\) f( 1, 4, 4 )}§
+f( 4, ®?®, 4 );		§\C{// rewrite \(\Rightarrow\) f( 4, 2, 4 )}§
+f( 4, 4, ®?® );		§\C{// rewrite \(\Rightarrow\) f( 4, 4, 3 )}§
+f( 4, ®?®, ®?® );	§\C{// rewrite \(\Rightarrow\) f( 4, 2, 3 )}§
+f( ®?®, 4, ®?® );	§\C{// rewrite \(\Rightarrow\) f( 1, 4, 3 )}§
+f( ®?®, ®?®, 4 );	§\C{// rewrite \(\Rightarrow\) f( 1, 2, 4 )}§
+f( ®?®, ®?®, ®?® );	§\C{// rewrite \(\Rightarrow\) f( 1, 2, 3 )}\CRT§
 \end{cfa}
 \end{tabular}
 \end{cquote}
+where the ©?© selects the default value as the argument.
 Here the missing arguments are inserted from the default values in the parameter list.
 The compiler rewrites missing default values into explicit positional arguments.
@@ -3406,7 +3407,7 @@
 the number of required overloaded routines is linear in the number of default values, which is unacceptable growth.
 In general, overloading is used over default parameters, if the body of the routine is significantly different.
-Furthermore, overloading cannot handle accessing default arguments in the middle of a positional list, via a missing argument, such as:
-\begin{cfa}
-f( 1, ?, 5 );							§\C{// rewrite \(\Rightarrow\) f( 1, 2, 5 )}§
+Furthermore, overloading cannot handle accessing default arguments in the middle of a positional list.
+\begin{cfa}
+f( 1, ®?®, 5 );							§\C{// rewrite \(\Rightarrow\) f( 1, 2, 5 )}§
 \end{cfa}
 
@@ -3449,5 +3450,5 @@
 
 The named parameter is not part of type resolution;
-the type of the expression assigned to the named parameter affects type resolution.
+only the type of the expression assigned to the named parameter affects type resolution.
 \begin{cfa}
 int f( int ?i, int ?j );
@@ -3480,6 +3481,6 @@
 
 \CFA named and default arguments are backwards compatible with C.
-\Index*[C++]{\CC{}} only supports default arguments;
-\Index*{Ada} supports both named and default arguments.
+\Index*[C++]{\CC{}} only supports default parameters;
+\Index*{Ada} supports both named and default parameters.
 
 
