save command on history list before evaluating 

Tcl Library Procedures


#include <tcl.h>

int Tcl_RecordAndEvalObj(interp, cmdPtr, flags)


Tcl_Interp *interp (in) 

Tcl interpreter in which to evaluate command.

Tcl_Obj *cmdPtr (in) 

Points to a Tcl object containing a 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_RecordAndEvalObj() is invoked to record a command as an event on the history list and then execute it using Tcl_EvalObjEx() (or Tcl_GlobalEvalObj() if the TCL_EVAL_GLOBAL bit is set in flags). It returns a completion code such as TCL_OK just like Tcl_EvalObjEx(), as well as a result object containing additional information (a result value or error message) that can be retrieved using Tcl_GetObjResult(). If you don't want the command recorded on the history list then you should invoke Tcl_EvalObjEx() instead of Tcl_RecordAndEvalObj(). Normally Tcl_RecordAndEvalObj() 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.


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


Tcl_EvalObjEx(), Tcl_GetObjResult()

PTC MKS Toolkit 10.4 Documentation Build 39.