save command on history list before evaluating 

Tcl Library Procedures


#include <tcl.h>

int Tcl_RecordAndEval(interp, cmd, flags)


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.


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.


Windows 8.1. Windows Server 2012 R2. Windows 10. Windows Server 2016. Windows Server 2019. Windows 11. Windows Server 2022.


PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition



PTC MKS Toolkit 10.4 Documentation Build 39.