NAME
TclRecordAndEval - save command on history list before evaluating
SYNOPSIS
##iinncclluuddee <
int TTccllRReeccoorrddAAnnddEEvvaall(interp, cmd, flags) AARRGGUUMMEENNTTSS TclInterp *interp (in) Tcl interpreter in which to evaluate command. CONST char *cmd (in) Command (or sequence of commands) to execute. int flags (in) An OR'ed combination of flag bits. TCLNOEVAL means record the command but don't evaluate it. TCLEVALGLOBAL means evaluate the command at global level instead of the current stack level.> DESCRIPTION
TTccllRReeccoorrddAAnnddEEvvaall is invoked to record a command as an event on the history list and then execute it using TTccllEEvvaall (or TTccllGGlloobbaallEEvvaall if the TCLEVALGLOBAL bit is set in flags). It returns a completion code such as TCLOK just like TTccllEEvvaall and it leaves information in the interpreter's result. If you don't want the command recorded on thehistory list then you should invoke TTccllEEvvaall instead of TTccllRReeccoorrddAAnnddEE-
vvaall. Normally TTccllRReeccoorrddAAnnddEEvvaall is only called with top-level commands
typed by the user, since the purpose of history is to allow the user tore-issue recently-invoked commands. If the flags argument contains the
TCLNOEVAL bit then the command is recorded without being evaluated.Note that TTccllRReeccoorrddAAnnddEEvvaall has been largely replaced by the object-
based procedure TTccllRReeccoorrddAAnnddEEvvaallOObbjj. That object-based procedure
records and optionally executes a command held in a Tcl object instead of a string.SEE ALSO
TclRecordAndEvalObj KKEEYYWWOORRDDSS command, event, execute, history, interpreter, record Tcl 7.4 TclRecordAndEval(3)