Commits

Fred Drake committed d59868b

Elaborate the descriptions for onecmd(), precmd(), and postcmd() so they are
useful. Includes one correction in the precmd() description.

  • Participants
  • Parent commits 5f32136
  • Branches 2.1

Comments (0)

Files changed (1)

File Doc/lib/libcmd.tex

 \end{methoddesc}
 
 \begin{methoddesc}{onecmd}{str}
-Interpret the argument as though it had been typed in in
-response to the prompt.
+Interpret the argument as though it had been typed in response to the
+prompt.  This may be overridden, but should not normally need to be;
+see the \method{precmd()} and \method{postcmd()} methods for useful
+execution hooks.  The return value is a flag indicating whether
+interpretation of commands by the interpreter should stop.
 \end{methoddesc}
 
 \begin{methoddesc}{emptyline}{}
 \end{methoddesc}
 
 \begin{methoddesc}{precmd}{}
-Hook method executed just before the input prompt is issued.  This
+Hook method executed just before the command line \var{line} is
+interpreted, but after the input prompt is generated and issued.  This
 method is a stub in \class{Cmd}; it exists to be overridden by
-subclasses.
+subclasses.  The return value is used as the command which will be
+executed by the \method{onecmd()} method; the \method{precmd()}
+implementation may re-write the command or simply return \var{line}
+unchanged.
 \end{methoddesc}
 
-\begin{methoddesc}{postcmd}{}
+\begin{methoddesc}{postcmd}{stop, line}
 Hook method executed just after a command dispatch is finished.  This
 method is a stub in \class{Cmd}; it exists to be overridden by
-subclasses.
+subclasses.  \var{line} is the command line which was executed, and
+\var{stop} is a flag which indicates whether execution will be
+terminated after the call to \method{postcmd()}; this will be the
+return value of the \method{onecmd()} method.  The return value of
+this method will be used as the new value for the internal flag which
+corresponds to \var{stop}; returning false will cause interpretation
+to continue.
 \end{methoddesc}
 
 \begin{methoddesc}{preloop}{}