\section{Buffer Pointer Manipulation Commands}
\label{Buffer Pointer Manipulation Commands}

     Table~\ref{Buffer Pointer Manipulation Commands} describes  all  
	of  the  buffer  pointer  manipulation
     commands  These  commands  may  be  used to move the pointer to a
     position between any two characters in the buffer, but they  will
     not  move  the  pointer  across a buffer boundary.  If any {\tt R}
 or {\tt C}
     command  attempts  to  move  the  pointer  backward  beyond   the
     beginning  of  the  buffer or forward past the end of the buffer,
     the command is ignored and an error message is printed.  If any {\tt L}
     command  attempts to exceed the buffer boundaries, the pointer is
     positioned at the boundary which would have been exceeded and  no
     error message is printed.

\begin{table}[h]
\caption{\bf{Buffer Pointer Manipulation Commands}}
\label{Buffer Pointer Manipulation Commands}
\end{table}
\nopagebreak
            
\begin{list}{}{\labelsep 20pt}

% \subsection*{{\em CHARACTER commands:}}

     \item [{\tt C}]         Advances the pointer forward across one character.

     \item [{\tt nC}]        Executes the {\tt C} command n times.  If {\tt n} is positive,  the
               pointer  is moved forward across n characters.  If {\tt n} is
               negative,  the  pointer  is  moved  backward  across  {\tt n}
               characters.   If {\tt n} is zero, the pointer position is not
               changed.

\iftecotenonly
     \item [{\tt n:C}]       Same as {\tt nC} except that a value  is  returned.   If  the
               command  succeeded,  -1  is  returned.   If the command
               failed, the pointer does not move and a value of  0  is
               returned.
               {\em [TECO-10 only]}
\fi

     \item [{\tt :C}]        Equivalent to {\tt 1:C}.

     \item [{\tt -C}]        Equivalent to {\tt -1C}.

\medskip
\subsection*{JUMP commands}
\medskip

     \item [{\tt J}]         Moves the pointer to a position  immediately  preceding
               the first character in the buffer.  Equivalent to {\tt 0J}.

     \item [{\tt nJ}]        Moves the pointer to a position  immediately  following
               the {\tt n}th character in the buffer.

     \item [{\tt ZJ}]        Moves the pointer to a position  immediately  following
               the last character in the buffer.

\iftecotenonly
     \item [{\tt n:J}]       Same as the {\tt nJ} command except that if pointer  position
               {\tt n}  is  outside of the buffer, the pointer does not move
               and  a  value  of  0  is  returned.   If  the   command
               succeeded, a value of -1 is returned. {\em [TECO-10 only]}
\fi

\medskip
\subsection*{LINE commands}
\medskip

     \item [{\tt L}]         Advances the  pointer  forward  across  the  next  line
               terminator  (line feed, vertical tab, or form feed) and
               positions it at the beginning of the next line.

     \item [{\tt nL}]        Executes the {\tt L} command {\tt n} times.  
	A positive value of  {\tt n}
               advances  the  pointer to the beginning of the {\tt n}th line
               following its current position.  A negative value of  {\tt n}
               moves the pointer backwards to the beginning of the {\tt n}th
               complete line preceding its current position.  If {\tt n}  is
               zero, the pointer is moved to the beginning of the line
               on which it is currently positioned.

     \item [{\tt -L}]        Equivalent to {\tt -1L}.

\medskip
\subsection*{REVERSE commands}
\medskip

     \item [{\tt R}]         Moves the pointer backward across one character.

     \item [{\tt nR}]        Executes the {\tt R} command {\tt n} times.  
		If {\tt n} is positive,  the
               pointer is moved backward across {\tt n} characters.  If {\tt n} is
               negative,  the  pointer  is  moved  forward  across   {\tt n}
               characters.   If {\tt n} is zero, the position of the pointer
               is not changed.

     \item [{\tt -R}]        Equivalent to {\tt -1R}.

\iftecotenonly
     \item [{\tt n:R}]       Same as the {\tt nR} command except that a value is returned.
               If  the  command  succeeded,  then  a  value  of  -1 is
               returned.  If  the  command  failed,  then  the  buffer
               pointer is not moved and a value of 0 is returned.
               {\em [TECO-10 only]}
\fi

     \item [{\tt :R}]        Equivalent to {\tt 1:R}.

\end{list}
