NAME

       Tcl_RecordAndEval  -  save  command on history list before
       evaluating


SYNOPSIS

       #include <tcl.h>

       int
       Tcl_RecordAndEval(interp, cmd, flags)


ARGUMENTS

       Tcl_Interp   *interp    (in)      Tcl interpreter in which
                                         to evaluate command.

       char         *cmd       (in)      Command  (or sequence of
                                         commands) to execute.

       int          flags      (in)      An OR'ed combination  of
                                         flag  bits.  TCL_NO_EVAL
                                         means record the command
                                         but  don't  evaluate it.
                                         TCL_EVAL_GLOBAL    means
                                         evaluate  the command at
                                         global level instead  of
                                         the current stack level.
_________________________________________________________________



DESCRIPTION

       Tcl_RecordAndEval is invoked to record  a  command  as  an
       event  on  the  history  list  and  then  execute it using
       Tcl_Eval (or Tcl_GlobalEval if the TCL_EVAL_GLOBAL bit  is
       set  in  flags).   It  returns  a  completion code such as
       TCL_OK just like Tcl_Eval and it leaves information in the
       interpreter's  result.   If  you  don't  want  the command
       recorded on  the  history  list  then  you  should  invoke
       Tcl_Eval    instead    of   Tcl_RecordAndEval.    Normally
       Tcl_RecordAndEval is only called with  top-level  commands
       typed  by  the  user,  since  the purpose of history is to
       allow the user to re-issue recently-invoked commands.   If
       the  flags  argument contains the TCL_NO_EVAL bit then the
       command is recorded without being evaluated.

       Note that Tcl_RecordAndEval has been largely  replaced  by
       the  object-based  procedure  Tcl_RecordAndEvalObj.   That
       object-based procedure records and optionally  executes  a
       command held in a Tcl object instead of a string.



SEE ALSO

       Tcl_RecordAndEvalObj
       command, event, execute, history, interpreter, record